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

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

标记

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>





链接

文档

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

源代码

<github.com/pattex/jekyll-tagging>

RubyGem

<rubygems.org/gems/jekyll-tagging>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值