Yesterday I moved the site from WordPress.com to Jekyll/Github Pages. I just want to quickly jot down my thoughts on the process.

Pros of Jekyll

  • “Closer to the metal”. With Jekyll, you’re essentially managing a collection of files that will eventually be converted to another collection of files (which are to be hosted); WordPress abstracts file management, especially source code management, away from the user. The WordPress approach is great for lay people, but the kind and level of control I get from Jekyll is more appropriate to me as a computer scientist.

Cons of Jekyll

  • Migration of files not the easiest. While there are importers (in my case to import from WordPress.com and Blogger), they’re not perfect. You almost certainly will want/need to clean up the files yourself after importing, either manually or with scripts.
  • Available templates not a varied or pretty as WordPress. WordPress templates are gorgeous. I haven’t made an exhaustive search, but thus far my impression is that the same can’t be said about Jekyll.

Pros of Github pages

  • Free custom domain association. By contrast, WordPress.com charges for the same service, even if you didn’t register the domain under them.

Cons of Github pages

  • Custom domains don’t support HTTPS. It says so right in your Git repository settings, but here’s other sources. This was a minor problem for me since WordPress.com did support HTTPS. Concretely, Google crawled all my pages via HTTPS, and therefore search results to my pages are all prepended with HTTPS, and therefore now when visitors come here through Google, they’ll get an ugly cross over the ‘https’ on the URL bar. That may put off visitors a little bit.

List of tools that I found helpful

  • to-markdown - Online HTML-to-markdown converter
  • Tag - Sublime Text plug-in which, among other things, allows you to remove all HTML tags from a document
  • Sublime-HTMLPrettify - another Sublime Text plug-in. This one can format an entire HTML document. Useful when your HTML was all joined into one crazy long line.