2012-08-07 65 views
3

當我運行jekyll生成我的網站時,它會重新生成每一頁。我如何告訴它只生成新的或已更改的頁面?Jekyll每次重新編譯每一頁

替代地,我在做什麼使Jekyll認爲它需要重新創建每一頁?

回答

6

Jekyll每次運行時都會自動重新生成整個站點 - 這就是它的工作原理。但是,我相信,如果你傳遞的標誌也只會重新修改過的文件:

--watch 

爲:

jekyll build --watch 

注:不是jekyll build --watch,舊版本的哲基爾使用jekyll --auto的。

+1

爲了擴大這一點,它的原因重新生成*默認情況下所有的*文件是一些「不變」的文件最終可能會與舊鏈接,和/或您的分頁(你的博客索引)可能關閉。 – elithrar 2012-08-23 02:06:03

+4

這個網站崩潰之前網站有多大? – 2012-08-23 05:25:30

+0

'--auto'已被重命名爲'--watch'在1.0+ – ivotron 2013-07-27 06:57:42

2

正如mipadi所說,Jekyll編譯它時重新生成整個網站。但是,--auto標誌使其編譯整個事情,總是

這樣做是因爲,正如elithrar所說,每個帖子/頁面都可以相互依賴,並且因爲它都是在編譯期間決定的,所以不能像在WordPress或Tumblr中一樣快速生成。所以,爲了避免斷開鏈接,一切都會重新生成。

從長遠來看,這可能會有問題。例如,非常大的站點(> 1000個帖子)在啓用LSI的情況下報告編譯時間非常長,最近有一些配置選項解決了這個問題。還有其他問題,即如果你正在處理CSS/JS(或LESS,SASS,CoffeeScript,做我的客人),爲什麼你會重新創建整個事情?

這是關於Jekyll's issue list的反覆討論,所以如果你們能想到一個好的解決方案,請將它發佈到那裏。

但是,真誠嗎?如果您的網站足夠小,只需讓它重新生成一切。這種方式更簡單。