如何在docpad网站的主页上检索最新的5篇博文?

时间:2013-05-13 05:02:10

标签: docpad

我一直在测试docpad作为CMS,我想知道如何在我的主页上显示来自博客的最新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"

2 个答案:

答案 0 :(得分:5)

在我收藏的馆藏下的docpad.coffee文件中

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

我想这里的关键是按日期属性排序集合(“date:-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 %>

答案 1 :(得分:1)

您不需要插件,可以使用内置的@getFilesAtPath帮助程序

例如,我将我的博客文章存储在src/documents/blog和我的主页上,我正在使用

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

我没有正确阅读docpad中的文档,因此我使用Array#slice快速 hack 将我的博文限制为 3

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