Why Jekyll, Minimal Mistakes and GitHub Pages

    2 minute read    

To begin this blog post, let’s be aware that currently there is a lot of blogging platforms available on the Internet. This page and this page provide a comparison on the major platforms available. Wordpress seems to be the one that is recommended in both pages.

However, I myself have my own concern about my site. These are what I concern about my site:

  • Customizable on HTML/CSS level (I am a geek)
  • Free hosting (who doesn’t want free stuff?)
  • Custom domain (yeah, I want limyunkai.com)
  • User experience (must be easy to use, of course)

In short, I want to have a simple and highly customizable site using custom domain name and hosted for free. Fulfilling all my requirements seem too good to be true, and don’t forget that free stuff usually comes with some catches (either they are stealing your personal information, hidden charges or other catches that I couldn’t know). Luckily, I know that GitHub Pages host your static site for free (yes, free and there is no catch).

Keeping in mind that GitHub Pages host static site for free, a quick Google shows that Jekyll works well with GitHub Pages. Instantly, I knew that Jekyll-GitHub combo is what I am looking for. Here’s why:

  • It is serving static site — why would you need database and server-side language for a blog :laughing:
  • Completely free
  • Highly customizable — I have full control on the codes of my site
  • Easy to use once the setup is done
  • I write my content in a simple way (with Markdown) yet highly customizable (with HTML)
  • LaTeX support — I need to write math equations
  • Hey, it is GitHub
    • I already have a GitHub account
    • I am comfortable with git and GitHub
    • They handle the security problem (as oppose to private cloud, you have to concern about the security)
  • I always prefer the geek way of doing things

Now, it is time to look for a Jekyll theme. I am looking for something clean and simple. Jekyll default theme is too clean and too simple, like it is nothing. After that, I found out that Minimal Mistakes looks nice for me and I decided to use it as my theme.

I need to setup the Jekyll, Minimal Mistakes and GitHub Pages combo to work on my local environment as well as GitHub Pages. The method documented on Minimal Mistakes quick-start guide seems to be not working (or I am missing out something).

What motivates me to create the minimal-mistakes-jekyll repository is that I wish to figure out an easy way to setup this combo, so that I can tell my non-technical friends who wish to start a blog or a site, “Hey, you want to have your own website? Just register a GitHub account and follow my guide. It’s free !!”. After trying and error several methods in the documentation, I found out that copying the theme files seems to works the best and suit my needs.

Jekyll becomes intuitive to me once I figure out the file structure and documented it in README of my repository. I also wrote an instruction that non-technical person can follow and make some changes on the theme to further suit my needs.

Wish to start your own blog or website? Just fork minimal-mistakes-jekyll to get started :smile: