你能在布局中使用Jekyll页面变量吗?

时间:2012-01-21 02:20:39

标签: css jekyll

我正在将Jekyll用于我的博客,我希望能够在特定帖子中使用独特的CSS样式。现在,我正在YAML前端中指定一个CSS文件,如下所示:

style: artdirection.css

并在布局中使用它:

{% if page.style %}
    <link rel="stylesheet" href="{{ page.style }}">
{% endif %}`

这很有用,但我更喜欢在页面的frontmatter中的样式标记中包含实际的CSS样式,而不是链接到样式表。

我尝试过几种方式处理这个问题,包括描述here的方法,但我捕获的变量只能在帖子本身内使用,而不能在布局中使用。

那么,有可能吗?

2 个答案:

答案 0 :(得分:17)

我很确定这会奏效:

---
title: xxx
style: |
  /* You can put any CSS here */
  /* Just indent it with two spaces */
  /* And don't forget the | after "style: " */
  h2 {
    color: red;
  }
---

Your markdown/textile goes here. h2s will be red

然后在你的布局中:

<style type="text/css">
{{ page.style }}
</style>

那应该是它。

答案 1 :(得分:8)

Jekyll 3改变

现在通过以下方式显示在布局前端(_layouts/default.html)中声明的变量:

{{ layout.style }}

而不是旧版:

{{ page.style }}

https://github.com/jekyll/jekyll/issues/4123