What situations/projects would you recommend Jekyll for the most?
Closed this issue · 2 comments
I finally got around to digging into Jekyll more deeply and am getting really intrigued. My current site is Wordpress, but looking at Jekyll has made me started to see some big benefits with the static site generator, mainly with it being more simple to create and manage.
But this makes me wonder, what do you think are the best times to break out Jekyll? Is it better suited for personal projects, some client jobs, or just stuff with certain requirements? Worried that if I get caught up in it, I'll get so excited I use it in the wrong context.
Thanks!
Hey there, thanks for asking!
I must say I really enjoy working with Jekyll. Most of my side projects are running on it: SassDoc, Sass Guidelines, Sass Compatibility, my blog… I think it is great because it is easy to get started. Except on Windows, then you’re pretty much fucked up, because Ruby; maybe it’s been improved though. You simply initialise a Jekyll project, clean the default boilerplate a little and you’re ready to go. I like that.
Now, it is important to know when not to use it, as with any other tool. As far as I can tell, Jekyll is great when you have mostly static data (on the exception of articles, as it is intended to be a blog platform first and foremost). Nothing outstanding here: it is a static site generator. If you intend to have a lot of moving data, Jekyll is probably not a good idea. You could circumvent this with dynamic _data/*.yml
file generation (which is what we do on Sass Compatibility) but this is pretty much a hack. Jekyll is not meant to handle dynamic data. If you want a database, have a real one.
Also, it is worth noting that Jekyll is getting very slow to compile when you have either a lot of pages (including articles), or a lot of Liquid partial imports (especially nested ones). Sass Guidelines, which is a one page site, is actually quite slow to compile (around 15 secondes) because it involves 5 levels of nested partials due to the translation system in place. It’s no big deal until you start working on it and have to wait 15+ seconds for every single change. It might have changed in the recent Jekyll 3 release but I didn’t have the opportunity to try it yet. There is an issue on Sass Guidelines repository to move the platform to Jekyll 3.
One aspect of Jekyll, and basically any static site generator, I like is that it kills a lot of security concerns since you do not have database access, user account and administrator privileges. Because there is no database. Because there are only files. For the same reason, it gets super easy (and safe) to host the code online, such as GitHub. Roughly speaking: no database means no credentials means no sensitive information means you can put it online safely. On topic, GitHub Pages plays super well with Jekyll.
So in the end, I’d say get crazy on small and simple sites as it is a perfect tool for this. If you plan on having a large structure and/or dynamic data, it might be a better idea to check something more suited than Jekyll. It reminds me that I wrote Blogging: Jekyll or WordPress at SitePoint a while back, might be worth a read. ;)
Thanks! Looking back, lots of sites I made could have done the job much better and more simply with Jekyll instead of Wordpress, so I'm looking forward to using it more.