Jekyll 扩展的 Liquid 模板
原文地址:https://github.com/mojombo/jekyll/wiki/Liquid-Extensions
Jekyll 使用 Liquid 来处理模板数据。除了 标准的Liquid标签和过滤器,Jekyll还增加一些它自己特有的:
过滤器
日期-XML
将时间转换成 XML 格式
{{ site.time | date_to_xmlschema }} => 2008-11-17T13:07:54-08:00
日期-字符串
将时间转换成短格式,举例:”27 Jan 2011”。
{{ site.time | date_to_string }} => 17 Nov 2008
日期-长字符串
将时间转换成长格式,举例:”27 January 2011”。
{{ site.time | date_to_long_string }} => 17 November 2008
XML转义
在 XML 中的转义字符。
{{ page.content | xml_escape }}
CGI 转义字符
CGI 会在 URL 中将一个字符串转义。用正确的 %XX 替换所有特殊字符。
{{ "foo,bar;baz?" | cgi_escape }} => foo%2Cbar%3Bbaz%3F
单词数
在文本统计单词的数目。
{{ page.content | number_of_words }} => 1337
数组-句子
讲一个数组转换成一个句子。
{{ page.tags | array_to_sentence_string }} => foo,bar,and baz
Textilize
将一个 Textilize 格式的字符串转换成 HTML 格式,通过 RedCloth 渲染的。
{{ page.excerpt | textilize }}
Markdownify
将一个 Markdown 格式的文件转换成 HTML 格式。
{{ page.excerpt | markdownify }}
标签
Include
如果你有小的页面框架碎片需要添加到你站点上多个不同的文件中,你可以使用 inlcude
标签。
{% include sig.textile %}
Jekyll 总是从你根目录下的 _include
目录下寻找需要加载的文件。
代码高亮
Jekyll 通过 Pygments 内建支持了代码高亮,支持超过 100种语言。为了使这个机制,你需要安装 Pygments,而且 pygmentize 的可执行文件必须在你 path
路径中,当你运行 Jekyll 时,确保以 Pygments支持 的方式运行。
为了表示一个需要高亮的代码块,你需要:
{% highlight ruby %}
def foo
puts 'foo'
end
{% endhighlight %}
highlight
的参数是一个编程语言的标示符,你可以在 Lexers 上找到你所喜欢的编程语言的正确标示符。
行号
highlight
有第二个叫做 linenos
的参数,这是一个可选的选项,使用这个选项可以使高亮的代码加入行号。举例来说,下面的代码段块将会在每行的行首加入行号。
{% highlight ruby linenos %}
def foo
puts 'foo'
end
{% endhighlight %}
为了使你的代码高亮生效,你需要引入高亮的层叠样式表(就是 CSS 文件—译者注)。这里 是一个样式表的例子。这个样式表也正是 GitHub 所使用的,你可以在你的站点免费地使用它。如果你要使用行号,你需要在你样式表中添加一个额外的 CSS 类定义,以此来区分行号和高亮的代码。
博文的 Url
如果你想要在一篇文章中加入一个链接,你可以使用post_tag
标签。
{% post_url 2010-07-21-name-of-post %}
可以通过以下的方式来创建一个链接:
[Name of Link]({% post_url 2010-07-21-name-of-post %})