I’ve finally made the move from Wordpress to Jekyll to blog. Among others, the simplicity of using markdown is the best seller for me. Previously I have been going through a process of writing in markdown, generate HTML, log on to Wordpress backend, make manual edits to HTML, setting categories and tags, uploading pictures to Wordpress and insert pictures using the Wordpress front-end. It wasn’t pleasant experience, and I blame that for my less than planned posting schedule.

In this post, I will record what I’ve tried to make this transfer work.

Major Steps of Transfer

The most useful source of information, besides the official Jekyll site, is this blog post. The biggest tip I got from this post is the existence of WordPress to Jekyll Exporter, which transforms all Wordpress posts back into markdown files into the correct format like a charm, after I figured out that the Jekyll import module for Wordpress does not work as expected.

The rest of the transfer was an ease, with a few points of notes:

  • The structure of my site is to have put the blog under the /blog folder, and there is a setting for that in _config.yml.
  • The links to the picture files can be maintained if you copy the wp-content/uploads folder verbatim into the corresponding place in your new Jekyll powered site. For my case, I have to copy a couple more folders for static contents.
  • I have previously defined my site CSS to use <h3> as the top level heading for my articles. To maintain the consistency, I will use ### now to indicate top-heading as well. Update: this is deprecated and new posts will start headings from H1.

My Current Workflow

Now I do the following when I want to write a new post.

  • Fire up my favorate text editor.
  • Create a new file with a name that conforms to Jekyll convention.
  • Copy and paste Front Matter from another of my existing post. (Could be improved with text editor support.)
  • Modify the Front Matter, adding tags, categories, etc.
  • In Terminal window, fire jekyll serve --detach and jekyll build --incremental --watch, so I can view my changes live.
  • Markdown.
  • Double check the generated site.
  • Commit to Git.
  • FTP upload my site to remote.

Things Yet to Do/Figure Out

To do:

  • Tidy up some of the files in my existing posts exported from WordPress to Jekyll Exporter. Most of them are due to me being lazy and put code blocks into <pre></pre> pairs.
  • Incrementally turn site CSS to make it visually appealing.
  • Beef up site content.
  • Add analytics to my page templates.
  • Improve workflow when creating a new post.

To figure out:

  • Adding cross link inside a document
  • Adding cross link to existing posts
  • Adding pictures
  • Creating a few pages on my site
  • The only way I currently know to hyperlink is to put a number tag [3] in the text and at the end of the file provide the link. I need to read the documentation of Kramdown to learn a better way, as I don’t want to keep track of the number increments.