我希望 post 文件夹中的所有文件都使用 posts.nest.sass.css 样式表,所以我尝试将其作为默认值放入 _config.yml 文件中
defaults:
-
scope:
path: "_posts"
value:
layout: "post"
stylesheet: "css/posts.nest.sass.css"
然后在 post.html 中,这是这些帖子的布局文件,我将其包含在头部:
<link rel="stylesheet" href="{{site.stylesheet}}">
在生成的页面中,href 属性中没有任何内容。应该怎么写才能传入样式表变量?
我一直没能找到有关如何完成此操作的文档,我只是猜测。提供指向了解 Jekyll 格式设置的好地方的链接,我们将不胜感激。
编辑:经过更多调整,包括通过此 YAML linter 运行文件,我放弃了将它放在 _config.yml 文件中,而是直接填写 href 信息 - 向上反射很好,因为它不会随着任何帖子而改变,布局文件将填充它。然而,每次我保存时,jekyll 服务器都说存在无效的前题:
Defaults: An invalid front-matter default set was found:
{"scope"=>{"path"=>"", "type"=>"posts"}, "value"=>{"layout"=>"post"}}
我现在将整个文件放入,以防其他地方出现语法错误 问题,虽然我看不到。
defaults:
-
scope:
path: ""
type: "pages"
values:
layout: "default"
stylesheet: "css/content.nest.sass.css"
-
scope:
path: ""
type: "posts"
value:
layout: "post"
destination: docs
exclude:
- archive
- graphics
- webplayer
- browsergame
- blend4web
- details-shim-master
- blenderstuff
- working
- LICENSE.txt
- README.md
- TODO.txt
- basetemplate.html
markdown: kramdown
url: "https://www.moonwards.com/"
最佳答案
您的默认值会添加到每个帖子变量中,就像前面的变量一样。所以,正确的语法是:
<link rel="stylesheet" href="{{page.stylesheet}}">
关于html - 为什么不从这个 Jekyll _config.yml 文件传递样式表变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42167909/