During the last year I used Wordpress for my blog, but I never really liked it. I'm not in love with Wordpress and there are several reason that I try to explain here:
- Maintenance;
- Hosting;
- Updates;
- Backup;
- Test environment;
- Performance;
I'm not saying that Wordpress is not good, I'm saying that it doesn't match my requirements. From my point of view (now) a blog engine is something where I can write a post in an easy way.
Moreover, in the past years I created a blog engine (never completed) based on .NET technologies, its name is Dexter and it's available on Github here. IMHO it is/was better than Wordpress, but with many of the problems mentioned above (my mistake).
Some weeks ago, David Ebbo synthesised in this post my idea of blog engine (for a nerd of course)
So, everything has started from that post and I migrated first my italian blog, than this blog.
Why Jekyll?
It offers important advantages; the most important is that it doesn't require server side code
Finally it's easy to use for a developer. The setup guide is available here (if you are running Windows I suggest to follow this guide.)
Basically it's built on ruby and it generates static files (simple .html files) with the correct folder structure for pagination, custom pages, permalinks and so on.
Of course you can't do some stuff like comments and search, but this is not a problem because there are several external services that offer for free search and comments (Facebook, Google and Disqus in my case).
Moreover there is another cool advantage of moving your blog to Jekyll, and it's Github Pages.
Github offers for all its users the opportunity to have a free hosting for static files creating a repository named yourgithubusername.github.io.
Once you have created the repository it's just necessary to push your static files into it and navigate to http://yourgithubusername.github.io
That's all!
Here the problem could be that Jekyll generates static files only after a compilation, so you should compile and then push. Fortunately there is a solution also for this, Github Pages offers the Jekyll compilation and you don't have to do that (here a complete guide).
So, now you have free hosting, amazing performance (your HTML is hosted on Github CDN), everything is managed by a Git repository (so you have the history of all posts (here an example)) and you can use your custom domain.
To be synthetic:
- Create a new Markdown file into _posts folders;
- Write the post;
- Push on github repo
Github will compile the static files for you. Do you wanna know how fast & reliable is Github with Jekyll? Take a look to this report (remember that my skin is not optimised, lot of requests):
If I convinced you to use Github, below some advice:
- To migrate your posts use this (it supports several sources like Wordpress, xml, rss and so on);
- If you add the license on github, you can also create/modify/delete posts directly for Github website, so you don't have to setup your environment. Read this post;
- Enable some cool Gems like I did here;
- To render the emoji (the point above is mandatory) remember the right syntax;
- Be careful with the redirect if you change the url permalink (take a look here).
- If Atom is your favorite Markdown editor, install this package;
- Good free editor for Windows available here;
- If you wanna create your custom skin, I suggest to start with Jekyll Bootstrap available here.
If you want something with more features, but you like the speed and the idea of static files, take a look to Octopress.
Enjoy it!