2014-06-12 69 views
0

我遇到了docpad問題。我想從子目錄中獲取所有頁面。從subdir獲取所有頁面,實際上是dir

我發現這個職位:

How to get collections from sub-folder in docpad?

docpad subdirectory rendered into general directory

,但它不爲我工作。

我的樹結構:

  • 文件
    • 地方
      • PLACE1
        • 第1頁
      • place2
        • 第2頁
      • 等...

我的代碼 - 得到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> 

我的代碼 - 不從地方可以買到頁/ 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> 

我的目標是,當IM在PLACE1 /家,我想可顯示所有網頁實際上是dir(place1)。當我在place2/home上顯示來自place2的所有頁面時。

如何做到這一點?

回答

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模塊在​​文件。

相關問題