When I first started this blog I started with Wordpress because I already knew how to use it and it was SUPER easy to get going. 4 years into this process I’ve started looking around for alternative CMS projects because of annoyances I’ve run into with Wordpress. I started looking at static site generators because of the performance I knew it bring and Jekyll seems to be one of the more prominent players in this space (I’m actually writing this using my new Jekyll setup and I’ll post it into my Wordpress setup when I’m done).

Installation

Install Jekyll is easy if you already have ruby installed:

$ gem install jekyll

Getting Started

Starting up the site on my local computer was fairly straight forward:

$ jekyll new jekyll.tpt.com

And then testing and generating the site is easy too.

jekyll serve
Configuration file: /Users/scottkeckwarren/Projects/jekyll.tpt.com/_config.yml
            Source: /Users/scottkeckwarren/Projects/jekyll.tpt.com
       Destination: /Users/scottkeckwarren/Projects/jekyll.tpt.com/_site
      Generating... 
                    done.
 Auto-regeneration: enabled for '/Users/scottkeckwarren/Projects/jekyll.tpt.com'
Configuration file: /Users/scottkeckwarren/Projects/jekyll.tpt.com/_config.yml
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.

It even automatically regenerates the site when there are changes.

Moving over my Existing Content

Posts

Jekyll provides a WordPress importer that’s fairly easy to use:

ruby -rubygems -e 'require "jekyll-import";
JekyllImport::Importers::WordpressDotCom.run({
  "source" => "wordpress.xml",
  "no_fetch_images" => false,
  "assets_folder" => "assets"
})'

It appears that all of my content was moved over correctly (I haven’t gone through every post to check) but there were a few annoyances…

One of the things I didn’t like was that it placed all my posts inside a single folder. It was easy enough to fix but it was annoying:

cd _posts
mkdir 2015
mv 2015-* 2015/
mkdir 2014
mv 2014-* 2014/
mkdir 2013
mv 2013-* 2013/
mkdir 2012
mv 2012-* 2012/

Another annoyance is that instead of putting my information in a single file and refer to it everywhere all the meta-data for my authors are listed at the top of the post:

meta:
  _edit_last: '3'
author:
  login: warren5236
  email: warren5236@gmail.com
  display_name: Scott Keck-Warren
  first_name: Scott
  last_name: Keck-Warren

That meta:_edit_last part even shows up on all of the pages…

errors

Comments

Because Jekyll is a static site generator it doesn’t have a built in comments system. Luckily it was easy to move my existing comments to Discus. I’m actually happier about this because it means less bots trying to spam my site

Overall

Overall, I’m very happy with the switch so far. I wouldn’t suggest any of my non-technical family members or clients use Jekyll but I’m happy. I still have some cleanup and I want to learn how to write a new layout but I’ll work on that.

The biggest downside I’ve seen so far is that now that I have 300+ posts it takes a longer time to generate the site. Even if I just change one file it regenerates the entire thing… Edit: I’ve found a fix for this.

Regenerating: 1 file(s) changed at 2015-12-16 20:48:25 ...done in 2.255741 seconds.

I still have some playing to do but I think I’ll be very happy here.