从Jekyll的post变量中获取页面变量?

时间:2015-12-17 21:26:30

标签: jekyll liquid

我正在迭代我网站上的所有帖子

{% for post in site.posts %}
  // code
{% endfor %}

我想访问我在页面级别存储的一些变量。怎么可以访问它?谷歌搜索一段时间后,我找不到任何东西。我想做像

这样的事情
{% for post in site.posts %}
  post.page.special_var
{% endfor %}

2 个答案:

答案 0 :(得分:2)

Jekyll支持帖子和页面,所以这取决于你,你想要访问哪种类型的变量。

例如,这是你的前期事宜。

---
layout:post
title: jekyll test
categories: jekyll
---

所以在head.html中,我正在使用它。

<title>{% if page.title %}{{ page.title }}{% endif %}</title>

我正在使用页面访问该变量,因为有太多的页面,如约或联系或隐私政策不属于jekyll帖子,所以你不能使用post例如post.title来访问变量

现在,看看这些代码

{% for post in site.categories.jekyll reversed limit:10 %}
<span><a href="{{ post.url }}">{{ post.title}}<a/></span>
{% endfor %}

请注意,我正在使用循环,因为我想从多个帖子访问相同的变量,而该变量是jekyll。

我在这里使用post.title但您甚至可以使用page.title,因为它可以全局访问。

为了好玩:

我正在使用反转,所以您可以订购您创建日期的帖子,最初的帖子会显示。

我使用限制:10因为,我想每页只显示10个帖子。

答案 1 :(得分:0)

如果你在前期事项中定义了special_var变量,你可以这样做:

{% for post in site.posts %}
  <p>This is my var {{ post.special_var }}.</p>
{% endfor %}

请参阅Jekyll documentation here