我希望我的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年开始说,页面将“始终保持相对路径”,但它已经很老了,而且似乎是一个一次性的断言而不是有证据支持的声明。
答案 0 :(得分:0)
您可以使用Jekyll默认值根据类型和/或路径对文件应用后备优先事项。它的作用与在每个文件中设置前件相同。这是将永久链接应用于所有页面的方法:
_config.yml
:
defaults:
- scope:
path: ''
type: pages
values:
permalink: /:title
这也是设置其他通用字段的好方法,例如layout
。
更多详细信息的官方文档:source code