如何解决在Jekyll中设置全局永久链接而没有路径?
我希望我的Jekyll网站上的所有帖子和页面都具有相同的链接结构:example.com/my-title
,无论我用来存储文件的目录结构如何。
看看documentation,看来我应该能够通过在我的_config.yml
中加入以下行来实现这一点:
permalink: /:title
。
这几乎可行。所有帖子(在_posts/
目录中)均获得正确的URL。而且,我网站的主目录中的所有页面也都获得了正确的网址。但是,子目录中的页面仍具有前缀为url的目录路径。例如,如果我有一个页面pages/cats/my-cat.md
,则URL是example.com/pages/cats/my-cat
,而不是我想要的(example.com/my-cat
)。如果我直接在最前面将页面的永久链接设置为/my-cat
,则可以得到理想的结果,但是我不想在每个页面上都这样做。
是否可以从所有页面URL中删除路径?
我看到了许多其他有关Jekyll永久链接的问题,但没有一个能准确解决这个问题。 This answer从2013年开始说,页面将“始终保持相对路径”,但它已经很老了,而且似乎是一个一次性的断言而不是有证据支持的声明。
解决方法
您可以使用Jekyll默认值根据类型和/或路径对文件应用后备优先事项。它的作用与在每个文件中设置前件相同。这是将永久链接应用于所有页面的方法:
_config.yml
:
defaults:
- scope:
path: ''
type: pages
values:
permalink: /:title
这也是设置其他通用字段的好方法,例如layout
。
更多详细信息的官方文档:source code
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。