2013-08-05 29 views
6

Jekyll在給定的目錄中生成靜態網站(默認爲_site)。運行jekyll serve將建立站點,然後設置服務器,以便可以在指定端口上本地查看站點(例如,默認爲)。我想知道是否有辦法激活這個serve行爲而不觸發gem重新編譯網站。jekyll服務(本地)無建築

另外,使用其他工具從本地端口服務於站點而不使用jekyll就足夠了,但我不知道如何做到這一點(node.js?)。雖然我可以直接在瀏覽器中打開靜態文件,但是並沒有正確找到所有相關的url鏈接(對於css等),默認情況下鏈接/css/default.css不在file://css/default.css中,當然在那裏並不存在。 (例如,這會很有用,因爲Jekyll需要相當長的時間才能建立一個大型網站,並且我使用的某些插件需要互聯網訪問各種API,如果離線查看網站而不觸發這些網站會很好) 。

+0

如果你只需要一個靜態文件服務器,你可以使用['node-static'](https://github.com/cloudhead/node-static#command- line-interface)。但是,如果該網站仍在建設中,這些文件可能實際上還沒有可用。 –

+0

嗯..安裝好'npm',但是當我在站點目錄中嘗試'static'時,我沒有任何控制檯輸出,並且在localhost上沒有任何東西:8080 ...不知道我錯過了什麼...... – cboettig

回答

6
jekyll serve --skip-initial-build 

這將服務於網站,跳過了最初的構建過程。用於建設和服務該網站的其他配置選項可以在here找到。

6

如果您只想提供已建好的_site目錄,可以通過多種方式在本地快速運行Web服務器。紅寶石你可以cd_site和使用的WEBrick像這樣:

ruby -rwebrick -e 'WEBrick::HTTPServer.new(:Port=>4000,:DocumentRoot=>".").start' 

或Python的SimpleHTTPServer:

python -mSimpleHTTPServer 4000 

這兩個設置端口4000,但可能是任何數字。

+0

完美,謝謝!兩者對我來說都很有魅力。 WEBrick似乎是jekyll在內部使用的。 – cboettig

0

如果您使用其他博客平臺(如BlogDown),則完全可以完全繞過建築物。 BlogDown是一個靜態站點生成器,根本不需要編譯。你只需換掉降價文件,你就可以走了。 https://github.com/thingdown/blogdown