Jekyll: Blogging Without Pain
A long time hast passed since my last blog post. But I did a complete redesign of my blog. Not only is the frontend completely different. The underlying backend has changed as well. I completely freed myself from Wordpress and changed to an engine that fits my workflow much better: jekyll.
To call jekyll a blogging-engine is (IMHO) not quite right. It’s just a generator for static contents. The general idea behind it is that you write all your articles in a markup language (e.g. HTML, Markdown or Textile), define the layout via the Liquid Templating engine, run the jekyll generator and end up with a complete directory structure containing HTML/CSS and JavaScript files which can be used as the actual site.
There is this one blog post which refers to jekyll as “Blogging Like a Hacker”. Which describes it pretty well. There are some things about jekyll that support this statement:
reasons why jekyll makes you feel like a hacker #
website is a github repository #
Instead of having an official web-site with screenshots, feature list and downloads, the main resource for jekyll is this github repository. Which is not a bad thing at all, because the infrastructure github provides is totally sufficient for hosting application websites (you have a built-in downloads-section, a wiki and even an issue tracker).
no WYSIWYG-Editor #
Every major blogging engine out there comes with a built-in Richt-Text Editor. I always hated it to create blog posts using this online editors. I never got to make a blog post look like I wanted to. Furthermore the copy&paste never worked as expected and I had to be concerned about data loss (clicking the wrong button or browser crash could lead to instant loss). Jekyll is basically editing text files on your hard drive in your preferred markup-language, that’s what solved most of the problems described (at least for me).
lots of examples to copy from #
In addition to the documentation in the wiki there is a list of sites that are already using jekyll for their site. Most of them grant access to their complete file infrastructure as well. So if you try to find out how to do certain things (integrate an RSS-Feed, integrate Google Analytics, integrate a JavaScript based commenting system) you can just look through the sites and see how it’s done (nice bonus: you stumble upon some nice blogs).
how I use jekyll #
The second I saw the tutorial on how to integrate jekyll and git, I knew that this was the way I wanted to use it. A simple git push publishes my blog on my vServer.
Furthermore I put all the blog files in my Dropbox, so that I can edit any article on all my devices.
Then I stumbled upon the --server
flag and was blown away. A simple jekyll --server --auto
binds the output of the generator to my local ip-address, so I can see my changes right away. I can even go one step further and do a jekyll --auto <dir>
to write the static content to my public Dropbox folder and pass the public link on to a friend for a review.
conclusion #
This process of publishing works surprisingly well for me. You’ll loose a lot of feature the majority of dynamic blogging engines have, but you’ll have the whole progress in your control. You have to bring in a certain knowledge about HTML, markup languages and a general understanding of templating but after that using jekyll is just fun.
picture taken by ell-r-brown/CC BY 2.0