Changing Jekyll's HTML Translator from Maruku to kramdown

December 09, 2013

I replace Maruku with Kramdown. Why, and How?

Why?

Last week I was getting incorrect glyphs in my pages. I thought that there was a bad setting in the HTML translator. I dove into the config, and couldn’t fix it via translator settings. Of course, now I know that the bad rendering was caused by bad encoding, but I didn’t know that then.

While investigating, I found some reports of shortcomings in the Maruku translation engine, and started to think about swapping in a different one. But which? Jekyll supports Maruku (default), kramdown, RedCloth, and RDiscount.

This may be cheating :-) but I pinged the all-knowing Brett Terpstra, to ask him which translator he uses. He said that he uses kramdown. Let’s face it, whichever Markdown translation engine Brett uses is good enough for me! So kramdown it is.

How?

This bit is simple; the Jekyll HTML translator is set in Jekyll’s _config.yml file. Add the following section, and restart the server / push to Heroku:

    markdown: kramdown

See my _config.yml file for all of my current settings.

Tags: jekyll, markdown
comments powered by Disqus