您的位置:首页 > 其它

jekyll-tagging, osm插件自动生成标签云和标签页面

2017-11-11 18:02 211 查看

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

---


[/code]

用法

安装它:

gem install jekyll-tagging


[/code]
将这一行添加到你的Jekyll:

gem 'jekyll-tagging'


[/code]
将以下内容添加到 _plugins/ext 。file:

require 'jekyll/tagging'


[/code]
在 _config.yml 中,你必须定义用于生成标记页面的布局,例如:

tag_page_layout: tag_page

tag_page_dir: tag


[/code]
这将查找 _layouts/tag_page 。html,并使用它在 _site/tag目录中生成标签页。

现在你有一个名为tag_cloud的新过滤器,它可以作为布局中的参数使用,以获取所有站点标签的云。 标签链接到它们的相关标签页面。 这里外,你还有一个标签筛选器,可以以用post或者of对象进行提取,以获得它的所有标签的链接列表。

你可以选择定义每个标签 Atom/rss提要。 在你的_config.yml 中定义以下内容:

tag_feed_layout: tag_feed

tag_feed_dir: tag


[/code]
( tag_page_dir和tag_feed_dir可以具有相同的值。)

页面链接

如果你的_config.yml 永久配置设置为:美丽,你仍然希望在你的中定义以下内容:

tag_permalink_style: pretty


[/code]

忽略标记

有时你不希望为某些页面生成标记页。 没问题只需添加 ignored_tags: ! [tags,to,ignore] 到你的_config.yml

标签页上的额外数据

你可以通过在 _config.yml ( 这也适用于 tag_feed_data ) 中指定tag_page_data来附加额外的数据到生成的标签页。 例如你可能希望将标记页排除在`jekyll-sitemap`中:

tag_page_data:

sitemap: false


[/code]

示例标记页面布局

( 如果使用 _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>


[/code]

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>


[/code]

链接

文档

<rubydoc.info/gems/jekyll-tagging/frames>

源代码

<github.com/pattex/jekyll-tagging>

RubyGem

<rubygems.org/gems/jekyll-tagging>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: