在 Jekyll 中,如何为页面创建标签存档?
In Jekyll, how can I create a tag archive for pages?
我在 Jekyll 的页面上使用标签,如下所示:
---
title: Sample page
permalink: /sample/
tag: news
---
在我的主页上,我有不同的部分按标签聚合页面,如下所示:
{% assign counter = '0' %}
{% for page in site.pages %}
{% for tag in page.tags %}
{% if tag == "news" and counter < '3' %}
{% capture counter %}{{ counter | plus:'1' }}{% endcapture %}
<li><a href="{{ page.permalink | prepend: site.baseurl }}">{{page.title}}</a></li>
<div class="summary">{{page.summary}}</div>
{% endif %}
{% endfor %}
{% endfor %}
这个循环将带有新闻标签的页面限制为 3 个,但我可能有 10 个以上带有 "news." 标签的页面 我想在底部包含一个 "View all" 标签,以便用户可以看到匹配该标签的所有页面的完整列表。
我意识到我可以手动创建一个页面并添加类似的代码但没有限制来获取所有页面。然而,这有点乏味。我宁愿让 Jekyll 默认自动生成一个标签存档。我认为 Jekyll 有生成器的概念,但我不确定如何实现标签页生成器。
如何在不在每个页面上创建和输入代码的情况下动态生成标记存档页面?
查看 jekyll-archives 插件。我刚刚发现了这一点,并且能够生成类别和标签页面。它确实增加了我拥有的类别和标签数量的编译时间,但它完成了我需要它做的事情。 https://github.com/jekyll/jekyll-archives
实际上你不需要插件来做到这一点。看看这个:http://codinfox.github.io/dev/2015/03/06/use-tags-and-categories-in-your-jekyll-based-github-pages/
我在 Jekyll 的页面上使用标签,如下所示:
---
title: Sample page
permalink: /sample/
tag: news
---
在我的主页上,我有不同的部分按标签聚合页面,如下所示:
{% assign counter = '0' %}
{% for page in site.pages %}
{% for tag in page.tags %}
{% if tag == "news" and counter < '3' %}
{% capture counter %}{{ counter | plus:'1' }}{% endcapture %}
<li><a href="{{ page.permalink | prepend: site.baseurl }}">{{page.title}}</a></li>
<div class="summary">{{page.summary}}</div>
{% endif %}
{% endfor %}
{% endfor %}
这个循环将带有新闻标签的页面限制为 3 个,但我可能有 10 个以上带有 "news." 标签的页面 我想在底部包含一个 "View all" 标签,以便用户可以看到匹配该标签的所有页面的完整列表。
我意识到我可以手动创建一个页面并添加类似的代码但没有限制来获取所有页面。然而,这有点乏味。我宁愿让 Jekyll 默认自动生成一个标签存档。我认为 Jekyll 有生成器的概念,但我不确定如何实现标签页生成器。
如何在不在每个页面上创建和输入代码的情况下动态生成标记存档页面?
查看 jekyll-archives 插件。我刚刚发现了这一点,并且能够生成类别和标签页面。它确实增加了我拥有的类别和标签数量的编译时间,但它完成了我需要它做的事情。 https://github.com/jekyll/jekyll-archives
实际上你不需要插件来做到这一点。看看这个:http://codinfox.github.io/dev/2015/03/06/use-tags-and-categories-in-your-jekyll-based-github-pages/