my folds structure are something like this:
I want to get a collection from docs, my code is :
techs: ->
@getCollection("html").findAllLive({relativeOutDirPath: /techs/docs/},[{date: -1}]).on "add", (model) ->
model.setMetaDefaults({layout: "post"})
It just won't works... Could somebody tell me what's going on?
The /techs/docs/
in {relativeOutDirPath: /techs/docs/}
is parsed as a regular expression, rather than a string. Wrap it in quotes so you have {relativeOutDirPath: "/techs/docs/"}
instead. You may or may not need the initial slash, I can't remember.
You may want to use the convenient helper provided by Docpad : getFilesAtPath.
Maybe you should read the file "docpad.coffee"
There is a section "collection", you can set collection named "html", and select all files in (database).
I've had problems depending on what system I'm running node.js and docpad on (ie Windows) with file path conventions. So I resort to the following to make sure I'm not having any of those sort of problems:
@getCollection("html").findAllLive({relativeOutDirPath:path.join('techs','docs')},[date:-1])
Note the 'path.join' bit
Just as example, all html documents from path starts with "post"
@getCollection("html").findAllLive({relativeOutDirPath: {$beginsWith: 'post'}})