2016-08-17 57 views
1

使用靜態網站生成器Hexo我需要顯示在着陸頁(index.ejs)上標記爲featured的所有帖子。如何使用Hexo中的標籤過濾帖子?

的標籤在各個崗位文件中定義:

title: Lorem 
tags: 
- featured 
- web 

遍歷所有帖子的代碼看起來是這樣的:

<% page.posts.each(function(item){ %> 
    // TODO: Only insert post if it contains tag 'featured' 
    <%- partial('_partial/project-excerpt', {item: item}) %> 
<% }); %> 

功能is_tag只能與當前頁面中使用。所需的功能將是if page.is_tag('featured') …

回答

2

要顯示索引頁上的所有帖子,你要訪問site對象,而不是page因爲page對象只能有一個明確的職位數(config.ymlper_page變量)。

,並篩選標記有「特色」的帖子只,您可以使用此查詢

site.tags.findOne({name: 'featured'}).posts.forEach(function(post) { 
    // do what you have to do with each post 
}) 
+1

謝謝!我最終以這種方式使用它'<%site.tags.findOne({name:'featured'})。posts.sort('date',-1).limit(5).each(function(post){% > <% - partial('_ partial/project-excerpt',{item:post})%> <% })%>' – Pwdr

+0

謝謝!您將如何設置頁面來顯示屬於某個標籤的所有帖子? –

+0

Short回答:使用佈局'custom-tag-layout'創建一個新的hexo頁面,創建佈局(文件)'custom-tag-layout',使用這個查詢獲取所有帖子並構建html。如果需要更多信息,創建一個問題,我會回答它。 –

相關問題