jekyll 博客的全局变量作用域
global variables scope for blog in jekyll
我不想为每个博客 post 编写布局,而是希望为 post 索引声明默认布局,并为单个博客 post 声明一个不同的布局。在我的配置中我有
defaults:
-
scope:
path: "blog"
values:
layout: "posts"
这对博客索引(带有摘录的索引)来说效果很好。但是一旦我点击了一篇文章,我想要一个不同的布局,所以我尝试了:
defaults:
-
scope:
path: "blog"
values:
layout: "posts"
-
scope:
path: "blog/_posts"
values:
layout: "blog-post"
但没有成功。它仍然呈现 layout: "posts"
我该如何解决这个问题?
设置默认值时,"blog/_posts" 之类的路径将不匹配,因为“_posts”是 "magic folder"。
但由于您的 index.html
是 page
,您可以使用 "scope type" 并执行:
defaults:
-
scope:
path: "blog"
type: "pages"
values:
layout: "posts"
-
scope:
path: "blog"
type: "posts"
values:
layout: "blog-post"
我不想为每个博客 post 编写布局,而是希望为 post 索引声明默认布局,并为单个博客 post 声明一个不同的布局。在我的配置中我有
defaults:
-
scope:
path: "blog"
values:
layout: "posts"
这对博客索引(带有摘录的索引)来说效果很好。但是一旦我点击了一篇文章,我想要一个不同的布局,所以我尝试了:
defaults:
-
scope:
path: "blog"
values:
layout: "posts"
-
scope:
path: "blog/_posts"
values:
layout: "blog-post"
但没有成功。它仍然呈现 layout: "posts"
我该如何解决这个问题?
设置默认值时,"blog/_posts" 之类的路径将不匹配,因为“_posts”是 "magic folder"。
但由于您的 index.html
是 page
,您可以使用 "scope type" 并执行:
defaults:
-
scope:
path: "blog"
type: "pages"
values:
layout: "posts"
-
scope:
path: "blog"
type: "posts"
values:
layout: "blog-post"