如何从docpad中的子文件夹中获取集合?

时间:2013-08-22 08:19:37

标签: docpad

我的褶皱结构是这样的:

  • 文档
    • 科技股
      • 文档

我想从文档中获取一个集合,我的代码是:

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

它不会起作用......有人可以告诉我发生了什么吗?

5 个答案:

答案 0 :(得分:3)

/techs/docs/中的{relativeOutDirPath: /techs/docs/}被解析为正则表达式,而不是字符串。用引号括起来,这样你就可以{relativeOutDirPath: "/techs/docs/"}了。你可能需要也可能不需要最初的斜线,我记不起来了。

答案 1 :(得分:1)

您可能希望使用Docpad提供的方便助手:getFilesAtPath

答案 2 :(得分:0)

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

有一个“集合”部分,你可以设置名为“html”的集合,并选择(数据库)中的所有文件。

答案 3 :(得分:0)

我遇到了问题,具体取决于我运行带有文件路径约定的node.js和docpad(即Windows)的系统。所以我采用以下方法来确保我没有遇到任何这类问题:

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

请注意'path.join'位

答案 4 :(得分:0)

就像示例一样,路径中的所有html文档都以“post”

开头
@getCollection("html").findAllLive({relativeOutDirPath: {$beginsWith: 'post'}})