2016-11-18 79 views
0

我通過Amazon S3託管Jekyll站點。我讓Jekyll實例在本地機器上運行,以便我們可以發送帖子並自動管理。這很好。Jekyll --host選項覆蓋site.url

問題出在兩個實例(feed.xml和sitemap.xml)Jekyll在html中使用0.0.0.0:4000吐出_site而不是在_config.yml中設置site.url。如果我沒有在jekyll serve上設置--host = 0.0.0.0標誌,那麼代替localhost:4000被設置爲url而不是site.url。

我可以做些什麼來保持網站在我們的本地網絡上運行,但仍然有正確的URL發佈到XML文件?

回答

0

如果您最近遷移到Jekyll 3.3.1,那麼您的site.url將無法正常工作,因爲您處於開發環境。

要在生產環境中測試運行JEKYLL_ENV=production bundle exec jekyll serve命令。

我也面臨着在過去的這個問題,我結帳jekyll isssue.

對於站點地圖和XML飼料可以ASLO設置另一個變量在您的配置文件,如

fullurl: yourdomainname.com 

並使用site.fullurl代替site.url在您的XML站點地圖/ Feed中。

+0

謝謝!我相信這最終會起作用,但是...... 當我運行推薦的方式來服務jekyll時,我得到了usr/bin/ruby​​2.2:糟糕的解釋器:沒有這樣的文件或目錄。考慮到我不得不跳過Ubuntu的ruby 2.2+工作,這種類型的錯誤並不意外。 設置fullurl對我的模板沒有影響,它仍然覆蓋0.0.0.0:4000或localhost:4000 –

0

您可以定義一個_config_dev.yml,您可以在其中覆蓋配置項目。

在本地主機上,然後你會在https://github.com/Phlow/feeling-responsive運行

jekyll serve --config _config.yml,_config_dev.yml 

這就是這樣做,飼料正常工作在本地主機上