2013-08-06 61 views
0

我所做的所有步驟從here如何創建DocPad插件?

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

我錯過了什麼?

+0

我發現了一個問題。每個DocPad插件必須在'package.json'中具有''關鍵字「:{」docpad-plugin「}屬性,否則docpad會忽略它。 – 0xBADC0FFEE

回答

3

你有/plugins/myplugin/myplugin.plugin.coffee,然後用"main": "./src/myplugin.plugin.coffee"引用它 - 這expectes插件文件是一個src目錄內,像這樣:/plugins/myplugin/src/myplugin.plugin.coffee - 你需要糾正的其中之一。

如果您可以將我鏈接到文檔混淆的地方,我會很樂意修復它。

DocPad還需要插件有自己的package.json文件中的以下內容:

"keywords": ["docpad-plugin"]

+0

我只是不知道'關鍵字':[「docpad-plugin」]',這就是原因。 myplugin.plugin.coffee在src / – 0xBADC0FFEE