4

私は Jekyll ブログを持っており、一部の投稿には「注目の画像」があり、一部の投稿にはありません。

アイキャッチ画像は、投稿の前付けで次のように定義されます。featured-image: http://path/to/img

アーカイブ ページで、注目の画像を含む最新の 3 つの投稿を取得して表示したいと思います。

これには if ステートメント、カウンター、およびループが必要になると思いますが、これを機能させることはできません。

<ul id="archive-featured">
  {% assign count = '0' %}
  {% if count < '4' %}
    {% for post in site.posts %}
      {% if post.featured-image == true %}
        {{ count | plus: '1' }}
        <li><a href="{{ post.url }}"><img src="{{post.featured-image}}" />{{ post.title }}</a></li>
      {% endif %}
    {% endfor %}
  {% endif %}
</ul>

私は何が欠けていますか?

4

2 に答える 2

4

YAML の問題は良さそうですが、これを機能させるためにカウント割り当てが必要かどうかはわかりません。代わりに limit を使用して、アーカイブ ページに割り当てる投稿の数を制限してみてください。{% if %}また、ステートメントが機能するために「真」の値を割り当てる必要はありません。

<ul id="archive-featured">
{% for post in site.posts limit:3 %}
  {% if post.featured-image %}
    <li>
      <a href="{{ post.url }}">
        <img src="{{ post.featured-image }}" />
        {{ post.title }}
      </a>   
    </li>
  {% endif %}
{% endfor %}
</ul>

投稿は最新の投稿によって自動的に表示されると思いますので、そこで余分な作業を行う必要はありません。お役に立てれば!

于 2013-04-10T01:34:07.910 に答える