可能在DocPad? `@ document.someMetaProperty.renderAsMarkdown()`

时间:2013-10-03 17:39:11

标签: docpad

我有一个文档,其中包含一些小标记片段形式的元数据 在布局内部,我想抓住它们,将它们从markdown渲染为HTML,然后打印出结果。 (我正在使用DocPad的默认模板引擎“Eco”。)

这可能吗?

2 个答案:

答案 0 :(得分:0)

以下假设您使用marked作为Markdown引擎。如果你正在使用RoboSkirt或其他东西,你可以做类似的事情,只需改为使用他们的模块。

首先,确保您的顶级项目中有marked个节点模块:

npm install --save marked 

然后在docpad.coffee中添加一个帮助函数,使模板中的marked函数可用:

docpadConfig = {
    templateData:
        # Specify some site properties
        marked: require('marked')
}

现在您可以在.eco文件中使用它:

<div>
    <%- @marked(@document.someMetaProperty) %>
</div>

答案 1 :(得分:0)

Erv回答的另一种方法是使用 Docpad Api ,让您通过渲染工作流程传递文本(这样您也可以使用其他已安装的模板引擎)

var renderOpts = {
    text: 'here is some **markdown**',
    filename:'markdown',
    renderSingleExtensions:true
};
docpadInstance.action('render', renderOpts, function(err,result){
    console.log(result);
});

上述代码段的来源:http://docpad.org/docs/api#rendering-individual-files