Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Overview of Jekyll - a static site generator written in Ruby (oiledmachine.com)
22 points by basil on Dec 28, 2008 | hide | past | favorite | 11 comments


I'm the author of Jekyll and cofounder of GitHub. This is a great review of Jekyll in its infancy. We're using Jekyll as part of the GitHub Pages stack, and because Jekyll is a very young project, we're giving our customers a chance to shape the future of this feature. If, after you read this article, you find yourself trying out Jekyll and/or GitHub Pages, think about what else you'd like to see included, and if your ideas (or code!) align with our goals, I'll be happy to implement (or merge!) them in the project. I wrote Jekyll to scratch my own itch, but now that it's in use by a broader audience, I'd like to help you scratch yours as well.


I switched my blog over to Jekyll last week. It feels much better to be using Git and Emacs to manage the blog instead of random Web apps and crappy text editors.

Since then the number of jekyll forks on GitHub has exploded. I've added tagging, fixed numerous bugs, made the templating work a little better, and added the ability to insert arbitrary script execution results (I use this to generate the tag cloud on my site).

You can find my fork at http;//github.com/metajack/jekyll/tree/master

I've also written an MT -> Jekyll convertor and an MT -> Disqus convertor which are at

http://github.com/metajack/mt2jekyll/tree/master

I imagine it will be a little while before the development free for all settles down, but until then, it is easy to hack on and easy to grok.


>The worst aspect in setting up this site was dealing with the templating engine Liquid.

The article author should look at existing ruby/rake based static website generator http://webby.rubyforge.org. It offers a choice of templating languages (ERB, Textile, Markdown, HAML, SASS).

Another killer feature is webby's ability to process LaTeX snippets and generate formula images for the web page.

So more templating choices and webby-like custom text processing filters (LaTeX, graphviz, tidy, coderay etc) are my feature requests for Jekyll.


One thing I can see that Webby supports that looks interesting is ERB. How flexible is ERB as opposed to what seems like a more restricted templating language like Liquid? It looks like ERB allows for actual Ruby to be used in your templates which would have ultimately solved the issues I had.


ERB is simply embedded ruby, it has no limitations. It is also totally not secure when used on a server.

My guess security of GitHub Pages is the reason for using Liquid in Jekyll. For generating static pages on your desktop before uploading Liquid is simply not needed.

I am a bit surprised jekyll is so heavily promoted as a static site tool(saw it twice on HN front page already) while an elegant and seemingly more powerful ruby application (webby) already exists for this purpose.


From what I have just read about Webby, it seems like it does not support topics and categories like Jekyll does. However it does have a wide range of rake tasks which do some things like offer a variety of deployment options, logging to growl, and validating links.

There are differences in the philosophies behind the 2 projects. They are both static site generators however Jekyll is more oriented for maintaining blog-style sites. Webby lacks the ability to organise content the way that Jekyll does.

Perhaps most importantly, Jekyll is now available as a free, hosted solution with GitHub - a great way of inviting the large community of developers active in that community to contribute to the project.

I am not saying one is better than the other. They seem to accomplish slightly different things although the method in which they go about it is somewhat similar.


Sadly, you have not read enough before making your conclusions. Webby shines with blogs, check http://www.locomotivation.com to see an example.

You can create a blog with two commands in webby:

   $ webby-gen blog "My Blog"
   ...
   $ webby blog:post "Nice weather today"
   [13:27:47]  INFO: creating content/blog/2008/index.txt
   [13:27:47]  INFO: creating content/blog/2008/12/index.txt
   [13:27:47]  INFO: creating content/blog/2008/12/28/nice-weather-today.txt
And it obviously does support categories/tags/article statuses etc. since you can give any property to your page.


Well if that's the case and if properties are available on a site-wide basis like Jekyll's topics and categories are, then yes - it certainly seems very capable and something I would like to have a crack at using.


Yeah, Webby totally kicks ass! There's no point of re-inventing the wheel, especially when the "current" wheel is so nice...

And since everybody thinks the GitHub guys are cool, lots of people are going extend Jekyll with all kinds of features that Webby already got.


Consider Webby and Jekyll as descendents of a common ancestor idea. They share many things in common but are adapting to different needs. Most importantly, because Jekyll is restricted to Liquid for scriptability, it is safe to run server-side. Jekyll also processes non-Jekyll (plain HTML) sites unchanged, whereas Webby refuses to run at all without a config file. Jekyll also relies more heavily on conventions to reduce the organizational overhead of the maintainer. Webby is a great system, and I'd like to pull over some features from it, but I will do so under the philosophy and adaptations of Jekyll. Besides, if you like how Webby works, then you can use it to generate a site and push that to GitHub, just like Webby intends for you to do!


I was actually quite interested in jekyll and was going to write a how to post about getting it up and running.. enjoyed this post.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: