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

Pwd*_*wdr 2 javascript generator ejs static-site hexo

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

\n\n

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

\n\n
title: Lorem\ntags: \n- featured\n- web\n
Run Code Online (Sandbox Code Playgroud)\n\n

迭代所有帖子的代码如下所示:

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

该功能is_tag只能在当前页面使用。所需的功能是if page.is_tag(\'featured\') \xe2\x80\xa6.

\n

Lou*_*iro 6

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

要仅过滤标有“feature”的帖子,您可以使用此查询

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