GitHub页面截至2016年4月uses Jekyll 3.0。每当我推送提交切换后,我都会收到Page build failed.
电子邮件通知。
由于错误是如此缺乏信息,我不得不联系GitHub支持。事实证明,如果您在_config.yaml中使用exclude
,则内容必须现在放在括号中,例如:
exclude: [excludethis]
此外,Redcarpet和Pygments不再可用,因此必须在_config.yaml中用kramdown和rouge替换它们:
markdown: kramdown
highlighter: rouge
现在默认情况下,未发布的未来帖子(将来有date
的帖子)不会发布。因此,如果您的帖子中有date: 2016-04-25 09:30:00
,现在是10:00,但您在亚洲且服务器位于美国,则此帖子将在未来考虑,不会发布。在timezone
中设置_config.yml
无济于事(错误?)。您必须像这样添加偏移量:
date: 2016-04-25 09:30:00 +0700
在这些更改之后,提交不再产生错误。但是我遇到了另一个错误,我的所有链接都被破坏了,帖子的所有旧网址都返回了404.
我该如何解决这个问题?
答案 0 :(得分:0)
事实证明,Jekyll 3帖子不再以尾随斜线结尾。
之前我在_config.yaml
:
permalink: /article/:title
示例网址为:http://mysite/article/apost/
使用Jekyll 3无法找到此URL(404)。但是我可以用http://mysite/article/apost来获取它。
因此,如果您想维护旧网址,则需要修改固定链接以使用尾部斜杠:
permalink: /article/:title/
需要修改指向帖子的链接以删除尾部斜杠。例如,如果以前你有:
<a href="{{post.url}}/">
需要更改为:
<a href="{{post.url}}">
这解决了帖子的问题。非帖子页面有不同的问题。以前,如果您在root中有about.md
,则Jekyll会将其转换为http://mysite/about.html。 Jekyll 3最后不会追加.html
,它会成为http://mysite/about。
如果您想维护旧网址,可以在每个页面的“前端内容”中添加永久链接:
---
permalink: /about.html
---