LinkSearchMenuExpandDocument
Table of contents

Jekyll-tagging

Gem Version

Tags: ,,,

タグクラウド、タグごとのページおよびフィードを生成するプラグイン

jekyll-taggingはJekyllプラグインで、タグクラウドとタグページに加えて、 Jekyllで生成されたウェブサイトにフィードを追加します。

タグ付け

このプラグインの使用にあたって、特別な形でタグ付けする必要はありません。 Jekyllの作法に従ってYAML listかスペースで区切った小文字のタグを FrontMatterに追加します。

詳細: Front Matter(jekyllrb-ja)

---
tags: [feminism, anti-capitalism, witchcraft]
---
---
tags: feminism anti-capitalism witchcraft
---

インストール

  1. Gemfileを編集

    # Gemfile
    group :jekyll_plugins do
      gem 'jekyll-tagging'
    end
    
  2. Pluginのインストール

    bundle
    
  3. _plugins/ext.rbに以下を追加します

    # _plugins/ext.rb
    require 'jekyll/tagging'
    

設定

タグページを生成する時に使用するレイアウトを指定する必要があります。

以下の場合、_site/tag/の中にタグページは_layouts/tag_page.htmlを タグフィードは_layouts/tag_feed.xmlを使用して生成されます。

# _config.yml
# タグページ
tag_page_layout: tag_page
tag_page_dir: tag
# タグフィード
tag_feed_layout: tag_feed
tag_feed_dir: tag

tag_page_dirtag_feed_dirは同じ値でも良い。

フィルタ

タグページへのリンクが生成できます。 使用には上記の設定が必要です。

tags

以下の場合、記事に適用されている全てのタグが対象です。

{{ post | tags }}

tag_cloud

以下の場合、サイトで使われている全てのタグが対象です。

{{ site | tag_cloud }}

テンプレートの例

tag_page.html

---
# _layouts/tag_page.html
layout: default
---
<h2>{{ page.tag }}</h2>
<ul>
{% for post in page.posts %}
  <li><a href="{{ post.url }}">{{ post.title }}</a> ({{ post.date | date_to_string }} | Tags: {{ post | tags }})</li>
{% endfor %}
</ul>

<div id="tag-cloud">
  {{ site | tag_cloud }}
</div>

引用: Example tag page layout(rubydoc.info) [EN]

tag_feed.xml

---
# _layouts/tag_feed.xml
layout: nil
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Your Title - {{ page.tag }}</title>
  <link href="http://example.com{{ page.url }}" rel="self"/>
  <link href="http://example.com/tag/{{ page.tag }}.html"/>
  <updated>{{ site.time | date_to_xmlschema }}</updated>
  <id>http://example.com/tag/{{ page.tag }}.html</id>
  <author>
    <name>Author Here</name>
  </author>
  {% for post in page.posts %}
  <entry>
    <title>{{ post.title }}</title>
    <link href="http://example.com{{ post.url }}"/>
    <updated>{{ post.date | date_to_xmlschema }}</updated>
    <id>http://example.com{{ post.id }}</id>
    <content type="html">{{ post.content | xml_escape }}</content>
  </entry>
  {% endfor %}
</feed>

引用: Example layout of an Atom feed(rubydoc.info) [EN]

Tips

tag_permalink_styleはJekyllの 組み込みフォーマット に準じて指定する。

tag_permalink_style: prettyを指定した場合、タグごとにtag-nameフォルダが 生成され、tag-nameフォルダ下にindex.htmlindex.xmlが生成される。

無指定の場合は、tag-name.htmltag-name.xmlが生成される。

Jekyll-archives との違い

タグごとのfeedが生成可能。

年月日別、カテゴリ別には対応していない。

  • Jekyll-archives - Jekyllのタグとカテゴリのアーカイブページを生成するプラグイン

ブログ記事

下記に掲載を希望される方はご連絡ください (詳細)

Back to top


Back to top

Copyright © 2021 Otti

Page last modified: