Jekyll:在SCSS中使用_config.yml中的值

时间:2015-12-14 18:46:22

标签: sass jekyll liquid

在我的Jekyll项目中,我在_config.yml文件中有以下内容:

colors:
  - name: red
    hex: '#FF0000'
  - name: yellow
    hex: '#FFFF00'
  - name: blue
    hex: '#0000FF'

assets/css/colors.scss中,我想为颜色创建类,如下所示:

{% for color in site.colors %}
.{{ color.name }} {
  color: {{ color.hex }};
}
{% endfor %}

当我这样做时,我收到以下错误:

Error in _assets/css/background-test.scss:6 Invalid CSS after "}": expected selector or at-rule, was "{% for color in..." 
  Liquid Exception: Invalid CSS after "}": expected selector or at-rule, was "{% for color in..." in _includes/head.html, included in _layouts/default.html
jekyll 3.0.1 | Error:  Invalid CSS after "}": expected selector or at-rule, was "{% for color in..."

有没有办法让Liquid处理SCSS中_config.yml文件的值?

1 个答案:

答案 0 :(得分:2)

如果您希望Jekyll处理您的scss文件,您必须为其添加前端内容。

这有效:

---
# empty front matter
---
@charset "utf-8";

{% for color in site.colors %}
.{{ color.name }} {
  color: {{ color.hex }};
}
{% endfor %}