【问题标题】:Jekyll default yaml front-matter not accessible via liquidJekyll 默认的 yaml 前端无法通过液体访问
【发布时间】:2016-05-10 16:20:57
【问题描述】:

在我的个人网站上,我根据帖子的类别在主页上设置帖子列表的样式。所以,如果我有前面的事情:

---
layout: post
title:  "My Post"
date:   2016-01-26
category: code
---

因为类别是code,所以下面的 div 将呈现为具有 css 类 card-code 并相应地设置帖子摘录的样式。

  {% for post in site.posts %}
    <div class="col-1-2">

      <!-- This Line! -->
      <div class="paper-card card-{{ post.category }}">

         <!-- other code -->
      </div>
    </div>
  {% endfor %}

为了让我的生活更简单,我在_config.yml 文件中将帖子的默认类别设置为general

default:
  -
    scope:
      path: ""
      type: "posts"
    values:
      category: "general"

但是,{{ post.category }} 没有为这些帖子提供任何信息(即card-)。任何想法为什么这不起作用?

【问题讨论】:

  • 请提供 Jekyll 版本。存储库 url 可以更好。
  • 您可能需要使用 post 文件夹的预构建版本作为默认配置中的 type: 字段。例如类型:“_posts”
  • 或者可能是单数的“post”?

标签: yaml jekyll liquid templating


【解决方案1】:

阅读Front Matter Defaults 的文档,该部分应称为defaults 而不是default

在你的_config.yaml试试这个

defaults:
  -
scope:
  path: ""
  type: "posts"
values:
  category: "general"

【讨论】:

  • 我的天哪,我已经倒在了这个上,但我仍然没有看到那个。谢谢罗伯特,今晚我会试一试。
猜你喜欢
  • 1970-01-01
  • 2019-03-16
  • 2019-09-10
  • 2016-08-07
  • 2020-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
相关资源
最近更新 更多