As I build out, I know I’m going to be handling a good amount of content, without the safety net of a CMS. I cringed at the notion of storing all that content as static html, but classic markdown or multimarkdown or even Github Flavored Markdown would leave me hamstrung when it came to styling that content with classes and id’s.

As I started drilling into this problem domain, I can across kramdown. Take markdown, and then add a super-easy syntax for things like tables, classes, id’s, data attributes and even JavaScript events. Then integrate your choice of code highlighter and for the cherry on top, you can write markdown that renders as flowcharts and UML sequence diagrams.

The deal was sealed when I discovered that GitLab has made it their markdown of choice and Github had quietly switched over to Kramdown starting May 1st, 2016 to power all of it’s GitHub Pages with kramdown.

Kramdown’s biggest weakness is speed. It’s ~150x slower than the markdown gem of choice Redcarpet. But considering my use cases are rendering small, spiffy chunks of content, I don’t see this as a major issue.

If you, like me, had never really warmed up to markdown, definitely have a look at kramdown.