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