Ich versuche, eine Liste von Seiten innerhalb einer Sammlung nach Tags gruppiert. Ich weiß, das mit Jekyll leicht möglich ist, die eingebaute in site.tags
-Funktion, die ich (und haben), wie mit etwas erreichen:Auflistung der Jekyll Collection-Seiten nach Tags
<h3>Tags</h3>
{% for tag in site.tags %}
{% assign t = tag | first %}
{% assign posts = tag | last %}
<h4><a name="{{t | downcase | replace:" ","-" }}"></a><a class="internal" href="/tagged/#{{t | downcase | replace:" ","-" }}">{{ t | downcase }}</a></h4>
<ul>
{% for post in posts %}
{% if post.tags contains t %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
<span class="date">{{ post.date | date: "%B %-d, %Y" }}</span>
</li>
{% endif %}
{% endfor %}
</ul>
<hr>
{% endfor %}
Um diese zu bekommen:
Ich möchte um die site.tags
-Funktion in einer Sammlung namens note
zu replizieren. Tags in meinen Sammlungen werden gruppiert, wie sie für Posts sind, unter Verwendung von beispielsweise tags: [urban growth, California, industrialization]
in dem YAML-Header. Aber ich möchte stattdessen mit einer Sammlung arbeiten. Ich kann fast erreichen, was ich will mit den folgenden:
{% assign collection = site.note | group_by: "tags" | uniq %}
{% for group in collection %}
{% comment %} This is super hacky and I don't like it {% endcomment%}
<h3>{{ group.name | replace: '"', '' | replace: '[', '' | replace: ']', '' }}</h3>
<ul>
{% for item in group.items %}
<li><a href="{{ item.url | prepend: site.baseurl | prepend: site.url }}">{{ item.title }}</a></li>
{% endfor %}
</ul>
{%endfor%}
Aber wie Sie wahrscheinlich sehen können, brechen diese Tags nicht aus in ihrer einzigartigen Gruppen; Stattdessen wird jede Gruppe von Tags in der YAML als einzelnes großes Tag behandelt. Irgendwelche Hinweise zum Erstellen des Arrays eindeutiger Tags und zum Auflisten der Collection-Seiten darunter?
so toll gearbeitet, danke! –