0

投稿リストの最初の投稿からの引用がサイドバーに表示されるようにJekyllを設定しようとしていますが、その方法がわかりません。quote各投稿のマークダウンのYMLフロントマター内で変数として定義された引用テキストがあります。

これは私の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 %}
4

2 に答える 2

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の問題に参照を保存できるとは思いませんが、これで必要なものが得られるはずです。

于 2011-05-28T17:00:46.953 に答える
2

多くの実験の後、次の Liquid スニペットをdefault.html内で使用して問題を解決することができました。

<div id="sidebar">
  <blockquote>
  {% if page.quote %}
    {{ page.quote }}
  {% else %}
    {{ site.posts.first.quote }}
  {% endif %}
  </blockquote>
</div>
于 2011-05-29T11:05:28.403 に答える