在Middleman中包含页面特定样式

时间:2013-05-20 15:27:12

标签: erb middleman

我在当前版本的Middleman(3.0.14)中有一个布局。我想拉页面特定的样式表或脚本(如果存在)。

在我目前的布局中:

<%= stylesheet_link_tag "global", data.page.stylesheet %>

在YAML前面我有:

stylesheet: homepage

我遇到的问题是,只有在YAML中有一个样式表标签时,我才想要CSS渲染。目前发生的情况是,如果YAML前端没有样式表标签,它只会呈现一个空白的.css文件。

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:4)

是......

<%= stylesheet_link_tag "global", (data.page.stylesheet ? data.page.stylesheet : {}) %>

...为你做诀窍?由于“样式表”键可能未在前置事项(stylesheet:stylesheet: "")内正确设置,您甚至可以进行更多检查:

<%= stylesheet_link_tag "global", ((data.page.has_key?('stylesheet') && ! data.page.stylesheet.nil? && ! data.page.stylesheet.empty?) ? data.page.stylesheet : {}) %>