6

私は Jekyll と Ruby に非常に慣れていません (まだ非常に興奮しています)。

プラグインを使用せずに、site.related_posts.

たとえば、タイトルFooとカテゴリの投稿を読んでいますA, B

このサイトには合計 3 つの投稿が含まれています。

  1. Foo(カテゴリー:A、B)
  2. Bar(カテゴリー:A、C、D)
  3. Zoo(カテゴリー:B、F)

デフォルトでは、Jekyll では次のようにします。

{% for post in site.related_posts limit:5 %}
{% endfor %}

ただし、上記のコードは (3) 件の投稿をすべて返します。

投稿には多くのカテゴリが含まれるため、カテゴリは配列にする必要があります。

コードを変更して、現在の投稿のカテゴリと交差するカテゴリのカテゴリのみを返すにはどうすればよいですか?

(この例では、コードが と のみを返すようにしますFooZoo)

4

2 に答える 2

6

現在これをテストする能力はありませんが、Liquid の制限された構文を考えると、次のようなものが機能します。

{% for post in site.related_posts limit:5 %}
  {% assign match = false %}
  {% for category in post.categories %}
    {% if page.categories contains category %}
      {% assign match = true %}
    {% endif %}
  {% endfor %}
  {% if match %}
    <li><a href="{{ post.url }}">{{ post.title }}</a></li>
  {% endif %}                       
{% endfor %}
于 2012-06-06T03:29:20.000 に答える