⚠️ Outdated: The updated version of the blog now uses 11ty and Netlify for hosting!
If you hadn't noticed.. The footer of this blog says "Powered by Jekyll".
Some of you might have googled(yeah, that's the term we use these days :P ) about Jekyll.
Let me give you an overall idea about Jekyll, why I use and why you should too!
Wikipedia says:
Jekyll is a simple, blog-aware, static site generator for personal, project, or organization sites. Written in Ruby by Tom Preston-Werner, GitHub's co-founder, it is distributed under an open source license.
First, let's get the Jargons out of the way.
- Jekyll is Blog-aware: Being blog aware means Blogging is a first class citizen. Jekyll supports blogging
out of the box. It is organized into pages and posts allowing you to create blogs easily. - Jekyll is a Static site generator: A static site generator takes all your static assets, such the text, the
images, the plugins, the CSS all of them and converts them into STATIC pages which contain only HTML, CSS
and JS. Unlike other CMS like Wordpress, Joomla, etc. Jekyll does not require a Database to store the
content. This removes the headache of maintaining a DB. It also has one very interesting side-effect. Since
all the content is static, the load times are Superfast! (there's no DB fetch and display operations). - For personal, organization, or project sites: Whatever the use case is.. Jekyll can help you with it. All the
sites are created in the same way. Rocks, doesn't it?
Why should you use Jekyll?
- All Jekyll pages are static - Blazing fast load times!
- Caching - Since the Pages are made up of only HTML/CSS/JS, CDNs like Cloudflare or Akamai can
cache almost all of the site. If you use a CDN, then Jekyll fits you perfectly. - Jekyll has an inbuilt Web server - Jekyll comes pre-installed with the WebBrick server that is a part of Ruby.
So, no more maintaining separate DEV servers and Production servers. Write content and See the results
on your local machine. - Jekyll supports Hot reload - Write content and see the changes appear immediately on your browser without redeploying the site.
- Jekyll supports writing posts in Markdown - Markdown is a simple Markup language popularized by Github. Markdown syntax is
very elegant and simple. Write Content, forget Formatting. If you like Markdown, keep this Cheatsheet handy - this is all you need to know. - Jekyll has an Active developer community - The Jekyll community is very active on StackOverflow, and commits keep happening
regularly at Github. So, you don't have to worry about support in case you get stuck. - Jekyll powers Github Pages - The free hosting facility provided by Github. If you are like me and use Github all the time,
then Jekyll FTW! - Jekyll is Modular - Jekyll favors Convention over Configuration like Rails. Jekyll has a well-defined modular structures,
separating the pages into components like layouts,posts,drafts,assests,etc. Don't Repeat Yourself! - Hundreds of themes and plugins are available! - Many amazing themes created by the Jekyll Community are free and open-source, and you can
integrate them neatly into your project. - Ease of Deployment - More often that not, deployment is the biggest hurdle most of us face. Jekyll can be hosted on Github Pages,
Aerobatic Hosting for Bitbucket, Amazon S3, Heroku or even Dropbox or Google Drive, since the site is just static. Save a lot of money
on Hosting.
For those of you from a non-Ruby background, you might be skeptical about choosing Jekyll. Though written on Ruby, Jekyll does not
require you to know even a single line of Ruby. All the commands are simple and language agnostic.
On a side note - I have hosted this Blog on Github Pages as well !