在Jekyll中设置全局永久链接而没有路径?

时间:2020-10-11 18:14:46

标签: 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年开始说,页面将“始终保持相对路径”,但它已经很老了,而且似乎是一个一次性的断言而不是有证据支持的声明。

1 个答案:

答案 0 :(得分:0)

您可以使用Jekyll默认值根据类型和/或路径对文件应用后备优先事项。它的作用与在每个文件中设置前件相同。这是将永久链接应用于所有页面的方法:

_config.yml

defaults:
  - scope:
      path: ''
      type: pages
    values:
      permalink: /:title

这也是设置其他通用字段的好方法,例如layout

更多详细信息的官方文档:source code