Εδώ είναι μια λύση για το πώς να δημιουργήσετε σελίδες για κάθε ετικέτα που θα περιλαμβάνει όλες τις αναρτήσεις για μια ετικέτα. Για να αντιστοιχίσετε ετικέτες σε μια ανάρτηση, απλώς βάλτε τα ονόματά τους, διαχωρισμένο διάστημα (ή ως πίνακα YAML, αν προτιμάτε με αυτόν τον τρόπο), στο μπροστινό θέμα:

---
layout: post
title: Tags in Jekyll
description: Adding tags to a Jekyll powered website
summary: Adding tags to a Jekyll powered website.
comments: true
tags: [tags, jekyll]
published: true
---

Αυτό ρυθμίζει την ανάρτηση να έχει ετικέτες. Για να τραβήξετε τις ετικέτες σε μια σελίδα, δημιουργήστε δύο αρχεία: _layouts/tag.html και _plugins/tags.rb. Το αρχείο _layouts/tag.html είναι απαραίτητο για να εκτελεστεί πραγματικά το σενάριο _plugins/tags.rb. Βάλτε την ακόλουθη προσθήκη στο _plugins/tags.rb:

module Jekyll
  class TagPageGenerator < Generator
    safe true

    def generate(site)
      tags = site.posts.docs.flat_map { |post| post.data['tags'] || [] }.to_set
      tags.each do |tag|
        site.pages << TagPage.new(site, site.source, tag)
      end
    end
  end

  class TagPage < Page
    def initialize(site, base, tag)
      @site = site
      @base = base
      @dir  = File.join('tag', tag)
      @name = 'index.html'

      self.process(@name)
      self.read_yaml(File.join(base, '_layouts'), 'tag.html')
      self.data['tag'] = tag
      self.data['title'] = "Tag: #{tag}"
    end
  end
end

Αυτό το σενάριο δημιουργεί έναν κατάλογο (φάκελο) για κάθε ετικέτα στο ιστολόγιό σας και δημιουργεί ένα αρχείο index.html σε αυτόν και σε αυτό το πρότυπο ετικέτας index.html file.

Στο αρχείο _layouts/tag.html, βάλτε αυτό:

---
layout: default
---

<h1>{{page.tag}}</h1>
<ul>
  {% for post in site.posts %}
  {% if post.tags contains page.tag %}
  <li><a class="post" href="{{ post.url }}">{{ post.title }}</a></li>
  {% endif %}
  {% endfor %}
</ul>

Στο τέλος κάθε ανάρτησης προσθέστε τα εξής:

<p>
  Tagged 
  {% for tag in page.tags %}
  <a class="post" href="/tag/{{tag}}">#{{tag}}</a>{% unless forloop.last %}, {% endunless %}
  {% endfor %}
</p>

Αυτό είναι!