谁能帮我弄清楚为什么 site.url 没有http://localhost:4000
按照文档更改?它反映了 _config.yml 中的 url 参数。我已经检查并 jekyll.environment = development。
我在另一台机器上启动了一个新的 Jekyll 项目,结果是一样的。
谁能帮我弄清楚为什么 site.url 没有http://localhost:4000
按照文档更改?它反映了 _config.yml 中的 url 参数。我已经检查并 jekyll.environment = development。
我在另一台机器上启动了一个新的 Jekyll 项目,结果是一样的。
该文档确实提到:
如果您设置并运行,它将不会被设置。
JEKYLL_ENV=production
jekyll serve
如果
JEKYLL_ENV
是除development
(其默认值)之外的任何值,Jekyll 不会覆盖您配置中 URL 的值。
再说一次,这仅适用于服务,不适用于建造。
因此,请仔细检查您的 JEKYLL_ENV
值和您的命令 ( jekyll serve
)
OP在jekyll v4.2.0中指出jekyll/jekyll
PR 7253
本地测试表明本地预览服务器基于
config["host"]
和config["port"]
值.. 因此,即使config["url"] == https://jekyllrb.com
,该站点也将以默认设置提供服务://127.0.0.1:4000
这简化了用户的工作流程,无需再次构建站点
JEKYLL_ENV=production
(除非他们的模板设计为针对两个 ENV vars 以不同方式呈现,这完全是另一回事)
然而,这正在被恢复:PR 8620
jekyllrb.org 上的文档没有更新以反映这种行为变化,
该更改不会影响本地服务器 URL 通过显式设置
bundle exec jekyll serve --host localhost --port 4000
为的情况localhost:4000
,或者将其设置为主机或端口的任何其他组合的情况。该更改仅影响了 default
jekyll serve
,这是 Jekyll 文档中推荐的本地开发操作。
因此,在您的情况下,这可能是一种解决方法:
bundle exec jekyll serve --host localhost --port 4000