首页 文章

Jekyll - 主机选项覆盖site.url

提问于
浏览
0

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

3 回答

  • 0

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

    在localhost上,您将运行

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

    这是在https://github.com/Phlow/feeling-responsive上完成的,并且feed在localhost上正常工作

  • 0

    从_config.yml中删除 url:~ 键并使用 {{site.baseurl}} 添加资产

  • 0

    如果您最近迁移到Jekyll 3.3.1,那么您的site.url将无法运行,因为您处于开发环境中 .

    要在 生产环境 环境中测试,请运行 JEKYLL_ENV=production bundle exec jekyll serve 命令 .

    我过去也遇到过这个问题,结帐我jekyll isssue.

    对于站点 Map 和XML Feed,您可以在配置文件中设置另一个变量,例如

    fullurl: yourdomainname.com
    

    并在您的XML站点 Map / Feed中使用site.fullurl而不是site.url .

相关问题