Jekyll --host选项覆盖site.url

问题描述:

我通过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文件?

如果您最近迁移到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 –

您可以定义一个_config_dev.yml,您可以在其中覆盖配置项目。

在本地主机上,然后你会在https://github.com/Phlow/feeling-responsive运行

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

这就是这样做,饲料正常工作在本地主机上