如何在Hexo中按标签过滤帖子?

时间:2016-08-17 13:54:48

标签: javascript generator ejs static-site hexo

使用静态网站生成器Hexo我需要在着陆页(index.ejs)上显示标记为featured的所有帖子。

标签在各个帖子文件中定义:

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') …

1 个答案:

答案 0 :(得分:2)

要在索引页面上显示所有帖子,您必须访问site对象,而不是page,因为page对象只有定义数量的帖子( per_page)中的config.yml变量。

要过滤仅标记为“功能”的帖子,您可以使用此查询

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