微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jekyll 不会根据文档将 site.url 转换为 http://localhost:4000

如何解决jekyll 不会根据文档将 site.url 转换为 http://localhost:4000

谁能帮我弄清楚为什么 site.url 不会根据 documentation 更改为 http://localhost:4000?它反映了 _config.yml 中的 url 参数。我已经检查过 jekyll.environment = development。

我在另一台机器上启动了一个新的 Jekyll 项目,结果是一样的。

解决方法

此功能已在 version 4.2.0 中禁用。这真是浪费时间。

Here's a workaround.

,

该文档确实提到:

如果您设置 JEKYLL_ENV=production 并运行 jekyll serve,它不会被设置。

如果 JEKYLL_ENV 是除 development(其默认值)之外的任何值,Jekyll 不会覆盖您配置中 URL 的值。
再说一次,这仅适用于服务,不适用于构建。

因此请仔细检查您的 JEKYLL_ENV 值和您的命令 (jekyll serve)

OP 指出 jekyll/jekyll PR 7253 中的 jekyll v4.2.0

本地测试表明本地预览服务器基于 config["host"]config["port"] 值.. 因此,即使 config["url"] == https://jekyllrb.com,网站也会以默认设置提供://127.0.0.1:4000

无需使用 JEKYLL_ENV=production
重新构建网站,从而简化了用户的工作流程 (除非他们的模板被设计为对两个 ENV 变量进行不同的渲染,这是完全不同的故事)

然而,这正在被恢复:PR 8620

jekyllrb.org 上的文档没有更新以反映这种行为变化,

该更改不会影响通过 bundle exec jekyll serve --host localhost --port 4000 将本地服务器 URL 显式设置为 localhost:4000 的情况,或者将其设置为主机或端口的任何其他组合的情况。

该更改仅影响默认的 jekyll serve,这是 Jekyll 文档中推荐的本地开发操作。

所以这可能是您的解决方法:

bundle exec jekyll serve --host localhost --port 4000

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。