Split markdown Nunjucks filter into two new ones.

{{ '**strong** _em_' |markdown }} gives:
<p><strong>strong</strong> <em>em</em></p>

{{ '**strong** _em_' |markdownInline }} gives:
<strong>strong</strong> <em>em</em>
This commit is contained in:
D. Berge
2021-05-14 01:00:57 +02:00
parent 53f4e167f8
commit b8b5765b46

View File

@@ -28,15 +28,22 @@ function njkTimestamp (arg) {
return arg; return arg;
} }
function njkMarkdown (str) {
return marked(String(str));
}
function njkMarkdownInline (str) {
return marked.parseInline(String(str));
}
async function render (data, template) { async function render (data, template) {
const nenv = nunjucks.configure(Path.dirname(template), {autoescape: false, lstripBlocks: false, trimBlocks: false}); const nenv = nunjucks.configure(Path.dirname(template), {autoescape: false, lstripBlocks: false, trimBlocks: false});
nenv.addFilter('find', njkFind); nenv.addFilter('find', njkFind);
nenv.addFilter('padStart', njkPadStart); nenv.addFilter('padStart', njkPadStart);
nenv.addFilter('timestamp', njkTimestamp); nenv.addFilter('timestamp', njkTimestamp);
nenv.addFilter('markdown', function(str) { nenv.addFilter('markdown', njkMarkdown);
return marked(String(str)); nenv.addFilter('markdownInline', njkMarkdownInline);
});
const view = nenv.render(Path.basename(template), data); const view = nenv.render(Path.basename(template), data);