Jekyll 幫你輕松的搭建你的網(wǎng)站,這很大程度上歸功于靈活強大的配置功能。既可以在網(wǎng)站根目錄下的 _config.yml
文件中進行配置,也可以作為命令行參數(shù)來配置。
下表中列舉了所有 Jekyll 可用的設(shè)置,和多種多樣的 配置項
(配置文件中) 及 參數(shù)
(命令行中)。
http://wiki.jikexueyuan.com/project/jekyll/images/2.png" alt="" />
http://wiki.jikexueyuan.com/project/jekyll/images/3.png" alt="" />
除了下邊的選項, serve
命令還可以接收 build
的選項,當運行網(wǎng)站服務(wù)之前的編譯時候使用。
http://wiki.jikexueyuan.com/project/jekyll/images/4.png" alt="" />
不要在配置文件中使用 tab 制表符
這將造成解析錯誤,或倒回到默認設(shè)置。請使用空格替代。
Jekyll 默認使用以下的配置。除非在配置文件中存在相同的配置項或在命令行中指定參數(shù),否則 Jekyll 將使用以下配置運行。
有兩個 kramdown 的選項不被支持
注意 Jekyll 目前不支持
remove_block_html_tags
和remove_span_html_tags
,因為沒有被包含到 kramdown HTML 轉(zhuǎn)換器中。
source: .
destination: ./_site
plugins: ./_plugins
layouts: ./_layouts
include: ['.htaccess']
exclude: []
keep_files: ['.git','.svn']
gems: []
timezone: nil
encoding: nil
future: true
show_drafts: nil
limit_posts: 0
highlighter: pygments
relative_permalinks: true
permalink: date
paginate_path: 'page:num'
paginate: nil
markdown: maruku
markdown_ext: markdown,mkd,mkdn,md
textile_ext: textile
excerpt_separator: "\n\n"
safe: false
watch: false # deprecated
server: false # deprecated
host: 0.0.0.0
port: 4000
baseurl: /
url: http://localhost:4000
lsi: false
maruku:
use_tex: false
use_divs: false
png_engine: blahtex
png_dir: images/latex
png_url: /images/latex
fenced_code_blocks: true
rdiscount:
extensions: []
redcarpet:
extensions: []
kramdown:
auto_ids: true
footnote_nr: 1
entity_output: as_char
toc_levels: 1..6
smart_quotes: lsquo,rsquo,ldquo,rdquo
use_coderay: false
coderay:
coderay_wrap: div
coderay_line_numbers: inline
coderay_line_numbers_start: 1
coderay_tab_width: 4
coderay_bold_every: 10
coderay_css: style
redcloth:
hard_breaks: true
Jekyll 支持的 Markdown 渲染器中有的有額外的選項。
Redcarpet支持設(shè)置 extensions
,值為一個字符串數(shù)組,每個字符串都是 Redcarpet::Markdown
類的擴展,相應(yīng)的擴展就會設(shè)置為 true
。
Jekyll handles two special Redcarpet extensions:
no_fenced_code_blocks
— 默認的, Jekyll 設(shè)置擴展 fenced_code_blocks
(用三個波浪線或重音線標記代碼區(qū)間) 為 true
,這或許是跟 GitHub 積極的采用有關(guān)。當使用 Jekyll 的時候, Redcarpet 的擴展 fenced_code_blocks
無效,作為替代方案,你可以這樣做:
注意你還可以這樣來配置語言以支持語法高亮:ruby
# ...ruby code
有了 both fenced code blocks 和 pygments ,就會直接高亮代碼了;如果沒有 pygments,將增加一個 class="LANGUAGE"
屬性到 <code>
元素,用于給不同的 JavaScript 代碼高亮庫做后續(xù)處理。
smart
— 打開 SmartyPants ,將引號轉(zhuǎn)為 " 、連字符轉(zhuǎn)為 em (---
) 和 en (--
) 破折號。
Redcarpet 所有其他擴展保持他們本來的名字,并且在 Jekyll 中不能給 smart
加渲染選項。 Redcarpet 的 README 中有可用擴展的列表。 確保你看的 README 是正確的版本: Jekyll 當前用的是 v2.2.x ,其中 footnotes
和 highlight
在 3.0.0 以后才會支持。最常用的擴展是如下:
tables
no_intra_emphasis
autolink
除了上述提到的默認配置,你還可以給 Kramdown 傳遞值為 “GFM” 的 input
選項,從而啟用 Github 擴展的 Markdown 語法。
例如,在 _config.yml
文件中加入以下配置項:
kramdown:
input: GFM