天天看點

jekyll 中使用模闆模闆

模闆

Jekyll 使用 Liquid 模闆語言,支援所有标準的 Liquid 标簽和過濾器。Jekyll 甚至增加了幾個過濾器和标簽,友善使用。

過濾器

描述 過濾器 和 輸出

日期轉化為 XML 模式

将日期轉化為 XML 模式 (ISO 8601) 的格式。

{{ site.time | date_to_xmlschema }}

2008-11-17T13:07:54-08:00

日期轉化為 RFC-822 格式

将日期轉化為 RFC-822 格式,用于 RSS 訂閱。

{{ site.time | date_to_rfc822 }}

Mon, 17 Nov 2008 13:07:54 -0800

日期轉化為短格式

将日期轉化為短格式。

{{ site.time | date_to_string }}

17 Nov 2008

日期轉化為長格式

将日期轉化為長格式。

{{ 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

URI 轉碼

URI 轉碼。

{{ “'foo, bar \\baz?'” | uri_escape }}

foo,%20bar%20%5Cbaz?

統計字數

統計文章中的字數。

{{ page.content | number_of_words }}

1337

數組轉換為句子

将數組轉換為句子,列舉标簽時尤其有用。

{{ page.tags | array_to_sentence_string }}

foo, bar, and baz

Textile 支援

将 Textile 格式的字元串轉換為 HTML ,使用 RedCloth

{{ page.excerpt | textilize }}

Markdown 支援

将 Markdown 格式的字元串轉換為 HTML 。

{{ page.excerpt | markdownify }}

标簽

引用

如果你需要在多個地方引用一小代碼片段,可以使用 

include

 标簽。

{% include footer.html %}           

Jekyll 要求所有被引用的檔案放在根目錄的 

_includes

 檔案夾,上述代碼将把 

<source>/_includes/footer.html

 的内容包含進來。

你還可以傳遞參數:

{% include footer.html param="value" %}           

這些變量可以通過 Lquid 調用:

{{ include.param }}           

Code snippet highlighting

Jekyll 已經支援超過 100 種語言代碼高亮顯示,在此感謝 Pygments。要使用 Pygments,你必須安裝 Python 并且在配置檔案中設定 

pygments

 為

true

使用代碼高亮的例子如下:

{% highlight ruby %}
def foo
  puts 'foo'
end
{% endhighlight %}           

highlight

 的參數 (本例中的 

ruby

) 是識别所用語言,要使用合适的識别器可以參照 Lexers 頁 的 “short name” 。

行号

highlight

 的第二個可選參數是 

linenos

 ,使用了 

linenos

 會強制在代碼上加入行号。例如:

{% highlight ruby linenos %}
def foo
  puts 'foo'
end
{% endhighlight %}           

代碼高亮的樣式

要使用代碼高亮,你還需要包含一個樣式。例如你可以在 syntax.css 找到,這裡有跟 GitHub 一樣的樣式,并且免費。如果你使用了 

linenos

,可能還需要在 

syntax.css

 加入 

.lineno

 樣式。

Post URL

如果你想使用你某篇文章的連結,标簽 

post_url

 可以滿足你的需求。

{% post_url 2010-07-21-name-of-post %}           

當使用

post_url

标簽時,不需要寫檔案字尾名。

還可以用 Markdown 這樣為你的文章生成超連結:

[Name of Link]({% post_url 2010-07-21-name-of-post %})           

Gist

使用 

gist

 标簽可以輕松的把 GitHub Gist 簽入到網站中:

{% gist 5555251 %}           

你還可以配置 gist 的檔案名,用以顯示:

{% gist 5555251 result.md %}           

gist

 同樣支援私有的 gists ,這需要 gist 所屬的 github 使用者名:

{% gist parkr/931c1c8d465a04042403 %}           

私有的 gist 同樣支援檔案名。