在Pug Language reference中,有一个关于如何在.md文件上使用降价过滤器并包含它的简单示例。
include:markdown-it myfile.md
但是,我无法从名称在变量中的文件中读取数据。我希望这种语法有效:
include:markdown-it ${article}
成为var article = 'myfile.md'
。但代码崩溃说它无法找到文件' $ {article}'在我的观察文件夹中。
这样做的正确方法是什么?还是只是不可能?
问候。
编辑:根据建议here,我无法按照自己的意愿行事。我找到的解决方案是首先渲染markdown文件,
function loadmd(md) {
var fs = require('fs');
var markdown = require('markdown-it')();
var mdfile = fs.readFileSync(__dirname + '/mds/' + md + '.md');
return markdown.render(mdfile.toString());
}
然后将其作为变量传递给pug渲染器:
res.render('art', {md: loadmd(req.params.article)}, function renderDone(err, html) { ... }
模板:
doctype html
html(lang=es)
head
include htmlhead
title !{pagetitle}
body
include pageheader
include pagemenu
section
article !{md}
footer
include pagefooter