我的docpad有问题。我想从子目录中获取所有页面。
我找到了这篇文章:
How to get collections from sub-folder in docpad?
docpad subdirectory rendered into general directory
但它对我不起作用。
我的树状结构:
我的代码 - 获取所有页面(来自place1和place2)
<ul class="list-group">
<% for add in @getFilesAtPath("places").findAll().toJSON(): %>
<li class="list-group-item">
<a href="<%= add.url %>">
<%= add.title %>
</a>
</li>
<% end %>
</ul>
我的代码 - 不从places / place1获取页面 - 为空
<ul class="list-group">
<% for add in @getFilesAtPath("places/place1").findAll().toJSON(): %>
<li class="list-group-item">
<a href="<%= add.url %>">
<%= add.title %>
</a>
</li>
<% end %>
</ul>
我的目标是,当我在place1 / home时,我想显示实际dir(place1)的所有页面。当我在place2 / home - 显示来自place2的所有页面。
怎么做?
答案 0 :(得分:0)
正如你引用的一个问题How to get collections from sub-folder in docpad中的一个答案所指出的,路径是系统“依赖的”。
我在Windows上运行Docpad并测试以下内容并且有效。
<ul class="list-group">
<% for add in @getFilesAtPath("places\\place1").findAll().toJSON(): %>
<li class="list-group-item">
<a href="<%= add.url %>">
<%= add.title %>
</a>
</li>
<% end %>
</ul>
为了使解决方案系统不可知,你可以......
添加一个规范化路径分隔符的帮助程序。
normalizePathSeparator: (unixPath) -> unixPath.replace('/', path.sep)
使用:
<ul class="list-group">
<% for add in @getFilesAtPath(@normalizePathSeparator("places/place1")).findAll().toJSON(): %>
<li class="list-group-item">
<a href="<%= add.url %>">
<%= add.title %>
</a>
</li>
<% end %>
</ul>
PS:您需要在path
文件中要求docpad.coffee
模块。