series of files (like template and contents) generates your website with them. The “blog aware” part means that is more oriented towards the creation of a blog or a website with post‐like entries. 3
server processing, database queries to worry about. Small learning curve It easy to understand how jekyll works and how to use it. After you know its structure and some liquid templating you’re ready to go. No need to rely on server side technologies You don’t need to worry about updates, you don’t need to worry about one of your fancy server plugin being compatible with the last release of php. And you don’t need to worry about security issues. Scenario: If we have a big blog with lots of monthly traffic, what do we do in the end? We’ll implement some kind of caching mechanism and serve static pages. Jekyll only does that before publishing the website. 5
config file and the index. All jekyll directories and config files start with na inderscore and there’s a reason for that. These files will be used by jekyll and will not be copied to the _site directory. 6
pages and posts. Normally we have two templates, a default one (where you decalre the html, head, body) and a post template with the post structure. _post On the _post directory we have the actual content. The naming of the posts is important. They have to be named YEAR‐MONTH‐DAY‐title.markup. Jekyll needs this naming to be able to order the posts. As for the markup of the post it can be either markdown or textile _includes It’s pretty self explanatory. Any partial file you want for your layouts. _site The _site directory is where jekyll will place the rendered website. In the end you will only need the contents of this folder. Other folders and files that you create will be parsed and copied to the _site directory as long as they don’t start with an underscore. So, for example, you could have a folder for your assets, like css, js, images… 7
contains the YAML front matter as the first thing will be processes by jekyll as a special file. If you don’t add this, the file will be copied over as is. Between the dashed you can set values for predefined variables, like the layout you want to use, or add new variables that will be accessible when you are printing the post. 9
dropbox. And of course you can use any existent web server. You can find some interesting deploying scripts to render your website and put it automatically on a web server. 12
more. Disqus, will allow you to have comments on your website, which is great for a blog. With this you can still have your fast static website and, at the same time, allow community interaction. The jekyll-ga is a plugin that allows you to sort your posts according to google analytics metric for example the page views. As we saw, jekyll sorts the posts by date but with this plugin we can, for example, sort it be popularity. What must be taken into account is that jekyll will sort the posts when the website is build, so, to keep the sorting up to date you would need to rebuild the website periodically. 13