如何解决jekyll 不会根据文档将 site.url 转换为 http://localhost:4000
谁能帮我弄清楚为什么 site.url 不会根据 documentation 更改为 http://localhost:4000
?它反映了 _config.yml 中的 url 参数。我已经检查过 jekyll.environment = development。
我在另一台机器上启动了一个新的 Jekyll 项目,结果是一样的。
解决方法
此功能已在 version 4.2.0 中禁用。这真是浪费时间。
,该文档确实提到:
如果您设置 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 举报,一经查实,本站将立刻删除。