As you probably have noticed, some days ago I rolled out a new version of my website, which you probably think it’s pretty similar to the previous one, at least talking about its external appearance. However, it’s really different in the inside, since it’s a static web build with Jekyll, while the previous one was build on Wordpress. This isn’t a change that occurred to me just out of the blue and some moths ago I made a post about Jekyll where I stated my desire to change to Jekyll, or at least to try, for several important reasons, being the main ones cost and simplicity.
Although building a simple site in Jekyll it’s really straightforward and simple, make a transition from Wordpress to Jekyll has more “curves” on the way than you would expect. Even more when I was trying to mimic my original website as much as possible. I used a Wordpress to Jekyll exporter and although the export was smooth, some of the post had the format messed up and I had to edit them manually. It took me a solid month to have everything more or less ready in a decent way.
Right now, the site is up and running —as you can see— but there are some missing features. I have a TODO list where I’m trying to track down all those features I want to implement and the pending changes I want to make. Some are improvements from the previous version but most of them are missing features that are not implemented in Jekyll right away or they are really basic as you take your Jekyll site out of the box. These shortcomings are usually related to the fact I’m hosting the web in GitHub Pages, which is free, but you have some missing features since they build your page in
--safe mode. So, you can’t use custom plugins1.
Yet Jekyll provides an archive, categories and tags out of the box, those features aren’t as nice as those provided by a dynamic site. For instance, you need to create yourself the those pages —which isn’t really a problem— but then you need to create manually the pages for each category and tag a page you want to show. However, if you use a plugin like Jekyll Archives all the process is much nicer and the plugin build the all the tag and category pages for you. As you can see right now, I don’t even have an archive page and I’m relying in a paginated chronological archive, what, at this moment, is more than enough.
There are a couple of ways to overcome the shortcomings of GitHub pages if you really want to use custom plugins. The first and most obvious one is to build your site locally every time you make a change and then you push it
_site folder to GitHub. From there on, you can go the extra mile and make everything automatically in the server side, whether you use a Continuous Integration service or you use somethings more complex like Netlify or others2. I’ll probably try to implement the Travis CI method and then research other more sophisticated ways to deploy.