我通过Amazon S3托管了一个Jekyll网站。我让Jekyll实例在本地机器上运行,这样我们就可以向它发送帖子并自动管道。这很有效。
问题在于两个实例(feed.xml和sitemap.xml)Jekyll在html spit中使用0.0.0.0:4000到_site而不是在_config.yml中设置的site.url。如果我没有在jekyll服务器上设置--host = 0.0.0.0标志,那么而不是localhost:4000被设置为url而不是site.url。
我该怎么做才能让网站在我们的本地网络上运行,但仍然有正确的URL发布到xml文件?
答案 0 :(得分:1)
如果您最近迁移到Jekyll 3.3.1,那么您的site.url将无效,因为您处于开发环境中。
要在生产环境中测试,请运行JEKYLL_ENV=production bundle exec jekyll serve
命令。
我过去也遇到过这个问题,结帐我的jekyll isssue.
对于站点地图和XML Feed,您可以在配置文件中设置另一个变量,例如
fullurl: yourdomainname.com
在XML站点地图/ Feed中使用site.fullurl而不是site.url。
答案 1 :(得分:1)
您可以定义_config_dev.yml,您可以在其中覆盖配置项。
在localhost上,您将运行
jekyll serve --config _config.yml,_config_dev.yml
这样就像在https://github.com/Phlow/feeling-responsive上一样,并且Feed在localhost
上正常工作答案 2 :(得分:0)
从_config.yml中删除url:~
密钥并使用{{site.baseurl}}
添加资产