是時(shí)候該升級(jí)你的 Jekyll 了,升級(jí)之前為你介紹一下版本 1.0 的更新內(nèi)容。
首先,我們需要獲取 Jekyll 的最新版本:
$ gem update jekyll
提示
想要迅速建立起一個(gè) Jekyll 站點(diǎn)并跑起來(lái)嗎?只需要輸入命令 jekyll new SITENAME,該命令將創(chuàng)建一個(gè)包含基本功能的 Jekyll 站點(diǎn)。
Jekyll 現(xiàn)在支持命令 build
和 serve
,使用起來(lái)更加清晰。 以前你或許會(huì)使用命令 jekyll
生成一個(gè)網(wǎng)站并用 jekyll --server
在本地瀏覽, 現(xiàn)在可以用子命令 jekyll build
和 jekyll serve
代替。 如果當(dāng)一個(gè)文件改變時(shí),你希望 Jekyll
自動(dòng)做出相應(yīng)的更新,只需要在命令的末尾加上 --watch
即可。
Watching 和 Serving
使用新的子命令,網(wǎng)站的操作方式也有一些變化。以前的做法是在網(wǎng)站配置文件中加上 server: true,現(xiàn)在用 jekyll serve 即可。 同樣的 watch: true 也是如此,在 jekyll serve 或 jekyll build 后邊加上 即可 --watch。
在 Jekyll v1.0 中,我們引入了“絕對(duì)地址”。v1.1 之前,使用 opt-in。從 v1.1 開(kāi)始, 將使用 opt-out ,這意味著 Jekyll 將使用絕對(duì)地址代替相對(duì)相對(duì)地址。
relative_permalinks: false
。relative_permalinks: true
。在 v1.1 中,絕對(duì)地址將成為默認(rèn)配置
從 Jekyll v1.1.0 開(kāi)始,
relative_permalinks
默認(rèn)為 false,這意味著所 有頁(yè)面默認(rèn)為絕對(duì)地址,該配置會(huì)一直保留到 v2.0 。
Jekyll 現(xiàn)在支持草稿箱,并且可以很容易的在發(fā)布前預(yù)覽。想要開(kāi)始編寫(xiě)草稿,只需要在項(xiàng)目 中建立_drafts
文件夾(和 _posts
在同一目錄),然后新建一個(gè) markdown
文件即可。 想要預(yù)覽你的草稿,只需要在命令jekyll serve
后邊加上--drafts
。
草稿沒(méi)有日期
跟文章不同,草稿沒(méi)有日期,因?yàn)檫€沒(méi)有發(fā)布。只需用標(biāo)題(比如 my-draft-post.md ) 做為文件名,而不是
2013-07-01-my-draft-post.md
。
不僅可以通過(guò)在命令行末加標(biāo)志, 還能夠使用一個(gè) Jekyll
自定義配置文件。這樣可以幫助區(qū)分不同 的環(huán)境,或以編程方式覆蓋用戶指定的配置。只需要在命令 jekyll
后加上 --config
,然后 輸入一個(gè)或多個(gè)配置文件的路徑(以逗點(diǎn)隔開(kāi),不能有空格)。
所以,不再建議使用以下這些命令:
--no-server
--no-auto
--auto
(現(xiàn)在的 --watch
)--server
--url=
--maruku
,--rdiscount
,和 --redcarpet
--pygments
--permalink=
--paginate
顯式指定配置文件
如果你使用了標(biāo)志
--config
, Jekyll 將忽略文件 _config.yml 。想對(duì)個(gè)配多置文件中組合使用嗎?沒(méi)問(wèn)題, Jekyll 支持通過(guò)命令行 指定多個(gè)配置文件。越往右,配置文件優(yōu)先級(jí)越高。如果我運(yùn)行jekyll serve --config _config.yml,_config-dev.yml
,并且他們 包含同一個(gè)配置項(xiàng),那么這個(gè)配置項(xiàng)的結(jié)果將是右邊_config-dev.yml
的值,而非 左邊_config.yml
。
Jekyll 1.0 引進(jìn)了幾個(gè)新的配置選項(xiàng). 在升級(jí)之前,你應(yīng)該檢查一下在 pre-1.0 的配置文件中是否 有這些,如果有,確保正確配置了:
excerpt_separator
host
include
keep_files
layouts
show_drafts
timezone
vurl
通常,你想要在不同的地方運(yùn)行你的 Jekyll
站點(diǎn),比如發(fā)布前在本地預(yù)覽。Jekyll 1.0 中使用標(biāo)志 --baseurl
即可。要使用這個(gè)特寫(xiě),首先在網(wǎng)站的 _config.yml
中寫(xiě)入生產(chǎn)環(huán)境的 baseurl
;然后,遍歷一遍代碼,對(duì)所有相對(duì)地址加上前綴 {{ site.baseurl }}
. 當(dāng)你想在本地測(cè)試的時(shí)候,在 jekyll serve
后傳入標(biāo)志 --baseurl 并跟上本地地址即可 (可能是 /
)。
所有的地址包含斜杠
如果你按照上邊的方法做了,記得所有的地址前有一個(gè)斜杠。因此,
site.baseurl = /
和post.url = /2013/06/05/my-fun-post/
最終形成的地址有兩個(gè)斜杠 開(kāi)頭。所以建議在baseurl
不是/
時(shí)使用site.baseurl
。