jekyll-tagging, osm插件自动生成标签云和标签页面
- 源代码名称: jekyll-tagging
- 源代码网址: http://www.github.com/pattex/jekyll-tagging
- jekyll-tagging源代码文档
- jekyll-tagging源代码下载
By Eilermann </arne@kleinerdrei.net> 和 Jens Wille <jens.wille@uni-koeln.de
Jekyll标签是一个Jekyll插件,添加一个标签云和每个标签页面加上feed到你的Jekyll生成的网站。
标记
这里插件不重新创建对osm特征的标记。 它只是让人们更容易。 <jekyllrb.com/docs/frontmatter/>
将空间分隔的lowercase 标记添加到 FrontMatter,e.g.
---
author: Willow Rosenberg
tags: feminism anti-capitalism witchcraft
---
用法
安装它:
gem install jekyll-tagging
将这一行添加到你的Jekyll:
gem 'jekyll-tagging'
将以下内容添加到 _plugins/ext 。file:
require 'jekyll/tagging'
在 _config.yml 中,你必须定义用于生成标记页面的布局,例如:
tag_page_layout: tag_page
tag_page_dir: tag
这将查找 _layouts/tag_page 。html,并使用它在 _site/tag目录中生成标签页。
现在你有一个名为tag_cloud的新过滤器,它可以作为布局中的参数使用,以获取所有站点标签的云。 标签链接到它们的相关标签页面。 这里外,你还有一个标签筛选器,可以以用post或者of对象进行提取,以获得它的所有标签的链接列表。
你可以选择定义每个标签 Atom/rss提要。 在你的_config.yml 中定义以下内容:
tag_feed_layout: tag_feed
tag_feed_dir: tag
( tag_page_dir和tag_feed_dir可以具有相同的值。)
页面链接
如果你的_config.yml 永久配置设置为:美丽,你仍然希望在你的中定义以下内容:
tag_permalink_style: pretty
忽略标记
有时你不希望为某些页面生成标记页。 没问题只需添加 ignored_tags: ! [tags,to,ignore] 到你的_config.yml
标签页上的额外数据
你可以通过在 _config.yml ( 这也适用于 tag_feed_data ) 中指定tag_page_data来附加额外的数据到生成的标签页。 例如你可能希望将标记页排除在`jekyll-sitemap`中:
tag_page_data:
sitemap: false
示例标记页面布局
( 如果使用 _config.yml Fragment above,则将它的保存到 _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>
Atom 提要的示例布局
( 如果使用上面的_config.yml Fragment,将这里保存到 _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>
链接
文档 | |
源代码 | |
RubyGem |