Jekyll 提供了諸多 (可任選) 的附加功能,你可以依據(jù)你使用 Jekyll 的需求來(lái)選擇安裝它們。
Maruku 自帶了將 LaTeX 渲染成 PNG 的功能可供選擇,此功能使用 blahtex (版本 0.6),必須和 dvips
一起被置于你的$PATH
中。 如果你需要 Maruku 不調(diào)用默認(rèn)位置的 dvips
,請(qǐng)查看 Remi 的 Maruku fork.
雖然 Jekyll 默認(rèn)使用 Maruku 來(lái)轉(zhuǎn)換 Markdown ,你還可以使用以下三個(gè)預(yù)定義的 markdown 解析器中的任意一個(gè),或者你也可以自己實(shí)現(xiàn)一個(gè)。
如果你更喜歡使用 RDiscount 來(lái)替代 Maruku 解析 Mardown,你只需確認(rèn)已將其安裝:
$ [sudo] gem install rdiscount
然后在你的 _config.yml
文件內(nèi)選擇 RDiscount 作為 Markdown 引擎,使 Jekyl 可以讀取該選項(xiàng)來(lái)運(yùn)行。
# _config.yml 中
markdown: rdiscount
你還可以選擇 Kramdown 來(lái)替代 Maruku 解析 Mardown,你只需確認(rèn) Kramdown 已被安裝:
$ [sudo] gem install kramdown
然后在你的_config.yml
文件內(nèi)選擇 Kramdown 作為 Markdown 引擎。
# _config.yml 中
markdown: kramdown
Kramdown 提供了各種選項(xiàng)用來(lái)自定義其 HTML 的輸出。 配置頁(yè)面列出了 Jekyll 所使用的默認(rèn)選項(xiàng)。一份完整的選項(xiàng)列表也可見(jiàn)于 Kramdown 網(wǎng)站。
如果你對(duì)以上四個(gè)內(nèi)置的 markdown 解析器都不滿意,沒(méi)關(guān)系,你還可以自己寫個(gè)插件:
require 'jekyll'
require 'some_renderer'
class Jekyll::Converters::Markdown::MyCustomParser
def initialize(config)
@site_config = config
end
def convert(content)
# (this _must_ return the resulting String after the rendering)
SomeRenderer.new(@site_config).to_html(content)
end
end
一旦你的解析器完成了,就可以在 _config.yml
文件中告訴 Jekyll 使用你自己的 markdown 解析器了:
markdown: MyCustomParser
(注意,這是 大小寫敏感的,并且,只需指定 Jekyll::Converters::Markdown
后面的部分就可以。) 僅此而已!