Ты на самом деле очень близко!Есть несколько ошибок, но у вас все остальное правильно.
В первой части, где вы создаете массив тегов, немного проще выполнить конкататацию в массив, чем создать строку, а затем разбить ее на массив.
// create empty array
{% assign tags = '' | split: '' %}
// iterate through tags, get tag name and make into an array, concat arrays
{% for tag in site.tags %}
{% assign tagName = tag | first | split: ' ' %}
{% assign tags = tags | concat: tagName %}
{% endfor %}
// sort tags
{% assign tags = tags | sort %}
Теперь, когда у вас есть массив тегов, вы можете просто перебирать их с помощью цикла for.Нет необходимости повторять item=0...n
и использовать tags[item]
.
// create list of tags and number of posts with that tag
<section>
<ul>
{% for tag in tags %}
{% assign postCount = site.tags[tag] | size %}
<li>
<a href="#{{ tag | cgi_escape }}" class="tag">
{{ tag }}
<span>({{ postCount }})</span>
</a>
</li>
{% endfor %}
</ul>
</section>
// create list of posts per title (posts are newest to oldest)
<section class="tags">
{% for tag in tags %}
<h3 id="{{ tag | cgi_escape }}">{{ tag }}</h3>
{% for post in site.tags[tag] %}
{% if post.title != null %}
<div class="row">
<span>
<a href="{{ post.url }}">{{ post.title }}</a>
</span>
<span class="post-date archive-date">
{{ post.date | date: "%b %-d, %Y" }}
</span>
</div>
{% endif %}
{% endfor %}
{% endfor %}
</section>