Jekyll永久链接中的尾斜杠

  • 本文关键字:链接 Jekyll jekyll
  • 更新时间 :
  • 英文 :


我正在将我的网站从https://code4projects.net/迁移到https://sasadangelo.github.io/code4projects/。

旧网站使用的URL结构是这样的:

https://<domain>/<base URL>/:slug/

现在在我的代码中,我将这行修改为:

permalink: /:slug/

添加尾斜杠。似乎它是有效的,但我有很多疑问,因为我不清楚_config.yml文件中本节的含义:

defaults:
- scope:
path: ""
type: "authors"
values:
layout: "author"
- scope:
path: ""
type: "posts"
values:
layout: "post"
permalink: /:slug
- scope:
path: ""
values:
layout: "default"

我试着阅读文档,但是作用域的概念对我来说不是很清楚。

此外,我希望我的改变只适用于帖子(在_posts文件夹),但我不清楚为什么它也适用于页面(都在根文件夹中)。

为什么Jekyll没有_pages文件夹?此外,在上面的小节中,defaults数组和类型字段的含义是什么?

我试着搜索信息,但找到的只让我困惑。

collection vs page

Jekyll有集合,您可以为其定义名称,文件夹等。文章(和草稿)也是集合,但是是标准的Jekyll集合。

页面不是一个集合,而是内容的最基本构建块。它们对于独立的内容非常有用,例如索引页面或静态about页面。通常,有些页面存储在根文件夹中。其他页面位于没有下划线的(子)文件夹中,例如页面或文档。

您可以在Jekyll文档起始页的内容部分找到更多信息:https://jekyllrb.com/docs/

<<h3>默认值数组/h3>你也可以在文档中阅读更多关于Front Matter Defaults的信息!

defaults键保存了一个作用域/值对数组,这些值对定义了特定文件路径的默认值,以及该路径中的文件类型。

-
scope:
path: "" # an empty string here means all files in the project
type: "posts" # previously `post` in Jekyll 2.2.
values:
layout: "default"  

现在,这只会为类型为posts的文件设置布局。您可以使用的不同类型是页面,帖子,草稿或您网站中的任何集合。虽然type是可选的,但是在创建作用域/值对时必须为path指定一个值。

页面的默认值

对于页面,选项较少,请参见https://jekyllrb.com/docs/permalinks/#pages

你的网页索引也是一个网页。如果您为页面设置了选项,则需要覆盖站点索引文件中的永久链接。

最新更新