Ed Johnson-Williams

Replicating Jekyll's `markdownify` filter in Nunjucks with Eleventy

Published:

Reading time: 1 min read

Tags: Eleventy

Jekyll has a useful filter called markdownify that converts a Markdown string into HTML. Nunjucks doesn’t have this filter.

I’ve replicated this in Eleventy by adding this into my .eleventy.js file.

module.exports = function (eleventyConfig) {

    const md = require('markdown-it')({
        html: false,
        breaks: true,
        linkify: true
    });

    eleventyConfig.addNunjucksFilter("markdownify", markdownString => md.render(markdownString));
};

In a Nunjucks template, you can now use {{ someMarkdownString | markdownify | safe }}to convert any Markdown string to HTML.

I’m not 100% sure about the | safe bit, but it’s working for me like this.