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,但您在亚洲且服务器位于美国,则此帖子将在未来考虑,不会发布 . 在 _config.yml
中设置 timezone
无济于事(bug?) . 您必须添加偏移量到日期,如下所示:
date: 2016-04-25 09:30:00 +0700
在这些更改之后,提交不再产生错误 . 但是我遇到了另一个错误,我的所有链接都被破坏了,并且帖子的所有旧网址都返回了404 .
我该如何解决?
1 回答
事实证明,Jekyll 3帖子不再以尾随斜线结尾 .
以前我在
_config.yaml
中将帖子的URL设置为这样:示例网址为:http://mysite/article/apost/
使用Jekyll 3,无法找到此URL(404) . 但我可以用http://mysite/article/apost获得它 .
因此,如果要维护旧URL,则需要修改固定链接以使用尾部斜杠:
并且需要修改指向帖子的链接以删除尾部斜杠 . 例如,如果以前你会:
它需要改为:
这解决了帖子的问题 . 非帖子页面有不同的问题 . 以前,如果您在root中有
about.md
,则Jekyll会将其转换为http://mysite/about.html . Jekyll 3最终不会追加.html
,它会变成http://mysite/about .如果要维护旧URL,可以在每个页面的'front matter'中添加永久链接: