我使用Jekyll创建了一个静态网站,最近从Jekyll 2.5.3升级到3.1.1。由于 Jekyll 版本 3 .html扩展从内部链接中删除,这给了我们很好的 url。这个我喜欢。
由于所有页面仍使用 html 扩展名创建,因此使用 HTML 校对器验证站点现在会失败,因为它会检测到死链接。这破坏了我在 Travis CI 上的持续集成系统(根据 jekyllrb ci 文档设置)。
所以,我喜欢无.html的链接,并且html校对器检查我的内部链接。但是如何使用 html-proofer 验证无.html链接?
有一个关于这个主题的Jekyll演讲;以及一个Github公关。对我帮助都不大。
我在 https://github.com/gjtorikian/html-proofer/pull/311 中有一个新的工作 PR。您可以像这样使用它,直到它被合并:
宝石文件: gem 'html-proofer', github: "Floppy/html-proofer", branch: "jekyll-3-extensionless-links"
它添加了一个assume_extension
选项:HTML::Proofer.new("./_site", assume_extension: ".html").run
或者,如果您使用的是二进制文件,则可以使用 --assume-extension=.html
命令行开关。
编辑:这已发布并在我目前正在使用的 html-proofer 3.0.4 中可用。API 略有不同,assume_extension
变成了一个开关,默认为 false。所以你会做:
HTML::Proofer.new("./_site", assume_extension: true).run
或
htmlproofer ./Site --assume-extension
如果您希望页面使用与默认.html不同的扩展,它可以与扩展选项结合使用。