html - 为什么不从这个 Jekyll _config.yml 文件传递​​样式表变量?

标签 html css yaml jekyll

我希望 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/

相关文章:

javascript - VBA : access an HTML elements without Id or Name

javascript - 在使用开发工具检查之前,图像 slider 不会显示

css - 在同一行上将标签与 Span 对齐 - CSS

php - 为 Doctrine 创建 YAML

yaml - 如何在 Jekyll YAML 配置中访问多个嵌套变量

python - Gitlab-ci:如何使用 cl 参数运行 python 脚本

html - 垂直居中对齐 Bootstrap 4 Form-Group Row

html - 跨屏幕尺寸对齐图像和 div

jquery - 根据页面上的另一个 ID 更新导航

javascript - 使用javascript设置两个动画之间的时间延迟