【发布时间】:2014-10-12 16:37:49
【问题描述】:
假设我有一个 jekyll 项目,它在 _data/slides.yml 中定义了一些数据:
- number: 1
image: image1.jpg
class: one
paragraph: Apa
- number: 2
image: image2.jpg
class: two
paragraph: Bepa
...等
然后我也有一个像这样的包含:
{% for slide in site.data.slides %}
<!-- Section #{{ slide.number }} -->
<div class="bg-wrapper">
<div class={{ slide.class }} id={{ slide.class }}>
<div class="page-bg"></div>
<div class="center">
<h1>{{ slide.number }}</h1>
<hr>
<h4>{{ slide.paragraph }}</h4>
</div>
</div>
</div>
{% endfor %}
想法是幻灯片中的每张幻灯片都应该有一个部分,以便幻灯片中的图像是背景图像。
现在,我知道我可以在这里添加一些带有类等的内联样式,但我宁愿在我的 sass 文件中再次循环遍历数据并为每个文件创建一个类。有可能做这样的事情吗?
例如在 main.sass 中:
---
---
{% for slide in site.data.slides %}
.{{ slide.class }}
background: url(/assets/images/{{ slide.image }}) no-repeat center center fixed
{% endfor %}
此外,如果可能的话,您是否也可以将 {{ slide.image }} 作为 mixin 的参数传递?
提前致谢!
编辑:
接受的答案说明了一切。对我来说,问题是我使用的是 .sass 文件(不是 scss),当我在 for 循环中缩进时没有看到自己的错误,导致 sass 失败。
【问题讨论】: