我正在尝试设置Jekyll,以便帖子列表中第一篇帖子的引用显示在侧边栏中,但我无法理解如何做到这一点。我在每个帖子的Markdown中将YML Front Matter中的引用文本定义为quote
变量。
这是我 default.html 的相关摘录:
<div id="content">
{{ content }}
</div>
<div id="sidebar">
<blockquote>{{ page.quote }}</blockquote>
</div>
这是我的 index.html :
---
layout: default
quote: ** Can a variable referencing the first post go here? **
---
{% for post in site.posts limit:10 %}
<h2>{{ post.title }}</h2>
<div class="post">
{{ post.content }}
</div>
{% endfor %}
答案 0 :(得分:3)
{% for post in site.posts limit:10 %}
{% if forloop.index0 == 0 %}
{% assign quote = post.quote %}
{% endif %}
<h2>{{ post.title }}</h2>
<div class="post">
{{ post.content }}
</div>
{% endfor %}
并在 default.html
中<div id="content">
{{ content }}
</div>
<div id="sidebar">
<blockquote>{{ quote }}</blockquote>
</div>
我认为你不能在YML问题中存储引用,但这应该得到你想要的。
答案 1 :(得分:2)
经过大量实验,我能够在 default.html 中使用此Liquid片段解决问题:
<div id="sidebar">
<blockquote>
{% if page.quote %}
{{ page.quote }}
{% else %}
{{ site.posts.first.quote }}
{% endif %}
</blockquote>
</div>