杰基尔:在永久链接中使用前面的东西

时间:2017-01-26 15:59:21

标签: jekyll

根据Jekyll Docs,您可以像固定链接一样添加类别:/:categories,但如果我想使用不属于类别的前端内容,该怎么办?例如,我有一个名为state的前端问题。我尝试添加/:state无济于事。

例如:state/:state是我的永久链接。在我的前面,我有以下内容:

---
state: tx
---

那么我的网址就是state/tx

我意识到我可以在每个页面的前面创建一个自定义永久链接,但我正在寻找一些自动的东西,因为我没有精明的用户更新网站。此外,categories并不是一个明显的指标,即状态缩写应该为我的内容管理员提供。

2 个答案:

答案 0 :(得分:1)

你可能已经注意到了。使用default front matter表示状态'页面可以实现。可以实现自动永久链接生成。

将以下内容添加到_config.yml

defaults:
  -
    scope:
      path: "_states"                       # states' page location
    values:
      permalink: /state/:categories/:slug/   

并在每个页面中使用yaml前面的内容,例如:

---
category: tx
---

但是如果你想获得"类别"在这里,您可以对您的网站使用本地存储(例如github页面默认不支持它们)然后添加在生成网站之前运行的generator,查找state来自每页的yaml front mater的值,并将其放在适当的文件夹中。

答案 1 :(得分:0)

“充当占位符”,您不会在您的网址中看到/:类别,它表示如果您发布属于某个类别的帖子,则该帖子类别的名称将会在那里发布。

例如:发布一篇帖子,内容如下:

---
categories: mycat
---

然后该帖子网址将以 / mycat /...

开头

如果您希望在perm中包含自定义变量,请在perm中替换链接,这是无法完成的。您只需将自定义字符串添加到固定链接,但不能添加变量。