2013-05-13 46 views
2

我一直在測試docpad作爲內容管理系統,我想知道如何在我的主頁上顯示博客最新的5篇文章。如何在我的docpad網站的主頁上檢索最新的5篇博客文章?

我已經找過例子,但至今沒有運氣。

我是否需要一些用於該功能的插件?目前即時通訊使用以下模塊:

"docpad-plugin-marked": "~2.1.1", 
"docpad-plugin-stylus": "~2.3.0", 
"docpad-plugin-coffeekup": "~2.1.5", 
"docpad-plugin-cleanurls": "~2.4.3", 
"docpad-plugin-coffeescript": "~2.2.1", 
"docpad": "~6.32.0", 
"docpad-plugin-minicms": "~2.1.1" 

回答

1

你並不需要一個插件,你可以使用內置@getFilesAtPath幫手

例如,我存儲我的博客文章中src/documents/blog並在我的主頁我使用

<% for post in @getFilesAtPath("blog").findAll().toJSON() %> 
    <a href="<%= post.url %>"> 
    <%= post.title %> 
    </a> 
<% end %> 

我沒有正確讀取文檔中docpad集合,所以我用一個快速破解Array#slice限制我的博客文章

<% for post in @getFilesAtPath("blog").findAll().toJSON().slice(0, 3) %> 
5

在docpad.coffee文件下集我有

posts: -> 
    @getCollection('documents').findAllLive({relativeOutDirPath:path.join('blog','post')},[date:-1]) 

我想這裏的關鍵是收集的日期屬性排序(「日期:-1」)

然後在您的「eco」文件中,您可以使用@getCollection('posts')訪問集合。這當然會給你所有的帖子 - 所以如果你只是想要最後的n個帖子,那麼你只需要收集該集合中的前n個文檔。

<% for document in @getCollection('posts').toJSON().slice(0,5): %> 
<li> 
    <a href="<%=document.url%>" title="<%=document.title%>"><%=document.title%> 
    </a> 
</li> 
<% end %> 
相關問題