2013-08-22 26 views
1

我的褶皱结构是这样的:如何从docpad中的子文件夹获取集合?

  • 文件
    • 科技股
      • 文档

我想从文档的集合,我的代码是:

techs: -> 
     @getCollection("html").findAllLive({relativeOutDirPath: /techs/docs/},[{date: -1}]).on "add", (model) -> 
      model.setMetaDefaults({layout: "post"}) 

它只是不会工作...有人可以告诉我发生了什么事吗?

回答

1

您可能想使用Docpad提供的便利帮手:getFilesAtPath

+0

非常感谢您回答我的问题!其实我不太明白如何在这种情况下使用这个帮手...... 我只是发现,如果将'relativeOutDirPath'设置为'docs',那么它工作得很好。似乎无法处理'techs/docs'? – chengmu

0

也许你应该阅读文件“docpad.coffee”

有一节“收藏”,您可以设置收集名为“HTML”,并选择(数据库)中的所有文件。

+0

您应该通过提供引用和示例来改进此答案。 – Mrchief

3

/techs/docs/ in {relativeOutDirPath: /techs/docs/}被解析为正则表达式而不是字符串。用引号把它包起来,所以你有{relativeOutDirPath: "/techs/docs/"}。你可能会也可能不需要最初的斜线,我不记得了。

0

我有问题,这取决于我使用文件路径约定在哪个系统上运行node.js和docpad(即Windows)。所以,我求助于以下,以确保我没有任何的排序问题:正如例如,从路径上的所有HTML文档开始

@getCollection("html").findAllLive({relativeOutDirPath:path.join('techs','docs')},[date:-1]) 

注意“path.join”位

0

with“post”

@getCollection("html").findAllLive({relativeOutDirPath: {$beginsWith: 'post'}}) 
相关问题