docpad插件无法看到集合

时间:2014-02-04 07:12:18

标签: docpad

我正在尝试更新DCE text editor插件,因为它似乎不再开箱即用。我有一个Docpad设置,其中有两个集合 - 荷兰语和英语 - 在我的模板使用的docpad.coffee中定义。

# Collections 
collections:
    Dutch: ->
        @getCollection("html").findAllLive({isPage:true; lang: "Nederlands"}, {menuorder:1})
    English: ->
        @getCollection("html").findAllLive({isPage:true; lang: "English"}, {menuorder:1})

但插件(不知道这是否是它的最佳名称,虽然它不在插件文件夹中)找不到它们。在插件的app.js中,我们有

var docpadInstanceConfiguration = {
    serverExpress: app,
    serverHttp: server,
    // Tell it not to load the standard middlewares (as we handled that above)
    middlewareStandard: false,
    rootPath: path.resolve('../../')
};
GLOBAL.docpadInstance = dpad.createInstance(docpadInstanceConfiguration, function(err){
    if (err)  return console.log(err.stack);
        docpad.action('generate server watch', function(err){
        if (err)  return console.log(err.stack);
    });
});

我可以在node-inspector中找到docpadInstance对象,运行app.js会导致docpad重新生成我的页面,当我寻找'数据库'集合时,我可以访问我的源文档(以及许多其他内容),所以我认为这是有效的。

但是docpadInstance不包含有关集合的任何详细信息,以及随后对collectionItems = docpadInstance.getCollection(collectionName);的调用 当null设置为荷兰语或英语时,始终返回collectionName

我欢迎进一步调试的建议。

1 个答案:

答案 0 :(得分:0)

好的,明白了。 我在docpad.coffee的templateData部分中有了collections元素,这与文档不符。也就是说,我的常规设置没有注意到这种错误的配置