Voici une solution avec des tags triés par ordre alphabétique sur une seule page .
Il utilise uniquement Liquid, ce qui signifie qu'il fonctionne sur les pages GitHub :
{% capture tags %}
{% for tag in site.tags %}
{{ tag[0] }}
{% endfor %}
{% endcapture %}
{% assign sortedtags = tags | split:' ' | sort %}
{% for tag in sortedtags %}
<h3 id="{{ tag }}">{{ tag }}</h3>
<ul>
{% for post in site.tags[tag] %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
</ul>
{% endfor %}
Vous pouvez le voir en action aquí .
EDITAR:
Il existe également un moyen de générer une page distincte pour chaque balise sans plugin. (qui fonctionnera sur les pages GitHub) .
J'ai une explication plus détaillée sur mon blog :
Pages séparées par tag/catégorie avec Jekyll (sans plugins)
Tout d'abord, vous avez besoin d'un nouveau fichier de mise en page :
/_layouts/tagpage.html
:
---
layout: default
---
<h1>{{ page.tag }}</h1>
<ul>
{% for post in site.tags[page.tag] %}
<li>
{{ post.date | date: "%B %d, %Y" }}: <a href="{{ post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
Avec ce fichier de mise en page, vous pouvez ajouter une nouvelle page de balises en ajoutant un nouveau fichier avec seulement deux lignes de contenu frontal YAML.
Voici un exemple pour le jekyll
étiquette :
/tags/jekyll/index.html
:
---
layout: tagpage
tag: jekyll
---
Le seul inconvénient de cette approche : chaque fois que vous utilisez une nouvelle balise pour la première fois, vous devez vous souvenir de créer un nouveau fichier de deux lignes pour celle-ci.
Pour générer le fichier d'index racine (c'est-à-dire la liste des balises qui renvoient à l'adresse suivante /tags/jekyll/index.html
etc.) vous pouvez utiliser une solution similaire à celle présentée en haut de cette réponse, où je génère une page unique avec des balises classées par ordre alphabétique :
{% capture tags %}
{% for tag in site.tags %}
{{ tag[0] }}
{% endfor %}
{% endcapture %}
{% assign sortedtags = tags | split:' ' | sort %}
{% for tag in sortedtags %}
<a href="http://stackoverflow.com/tags/{{ tag }}/">{{ tag }}</a><br>
{% endfor %}
Cela va générer une liste de liens comme celle-ci :
<ul>
<li><a href="http://stackoverflow.com/tags/.net/">.net</a></li>
<li><a href="http://stackoverflow.com/tags/authentication/">authentication</a></li>
<li><a href="http://stackoverflow.com/tags/backup/">backup</a></li>
</ul>
_Notez que cette solution utilise un blanc pour diviser les balises, elle ne fonctionne donc pas si vos balises contiennent des blancs et des Commentaire de Yevgeniy Brikman s'applique ici aussi._