如何创建DocPad插件?

时间:2013-08-06 15:53:18

标签: node.js templates plugins content-management-system docpad

我从here完成了所有步骤:

1)使用以下代码创建了简单的插件/plugins/myplugin/myplugin.plugin.coffee:

module.exports = (BasePlugin) ->
  class MyPlugin extends BasePlugin
    name: 'myplugin'
    renderBefore: ({templateData}) ->
      templateData.foo = 'bar'

2)/plugins/myplugin/package.json

{
  "name": "myplugin",
  "version": "2.0.0",
  "main": "./src/myplugin.plugin.coffee"
}

3)/src/documents/index.html.eco

<p><%= @foo %></p>

但是插件不起作用。它不在DocPad的日志info: Plugins: eco中,并引发错误ReferenceError: foo is not defined

我错过了什么?

1 个答案:

答案 0 :(得分:3)

您有/plugins/myplugin/myplugin.plugin.coffee,然后使用"main": "./src/myplugin.plugin.coffee"引用它 - 这会将插件文件预测到src目录中,如下所示:/plugins/myplugin/src/myplugin.plugin.coffee - 您需要纠正其中一个。

如果您可以将我链接到文档混淆的地方,我很乐意解决它。

DocPad还要求插件在package.json文件中包含以下内容:

"keywords": ["docpad-plugin"]