2017-07-24 10 views
0

Ich habe ein Include, das meine Beiträge in einem bestimmten Format rendert. Ich bin vorbei an den Pfosten in die umfassen wie folgt:Filter Array Liquid in Jekyll

{% include post-list.html posts=site.posts %}

Allerdings würde Ich mag eine bestimmte Kategorie filtern, bevor es zu der gehören vorbei. Hat jemand Ideen, wie ich das erreichen kann?

Antwort

1

Sie können es eine Variable definieren ein Array mit allen Stellen nicht eine bestimmte Kategorie enthält, und dann enthält nebenbei, dass zu gehören zum Beispiel Beiträge filtern, um die Kategorie jekyll enthält:

  1. Wir schaffen das Array {% assign notjekyllposts = "" | split: "" %}
  2. Schleife alle Beiträge {% for apost in site.posts %}
  3. Filter diejenigen, die nicht die jekyll Kategorie enthält sie zum Array hinzufügen:
    {% assign notjekyllposts = notjekyllposts | push: apost %}
  4. Geben Sie die Variable auf den include Tag

setzen sie alle zusammen:

{% assign notjekyllposts = "" | split: "" %} 

{% for apost in site.posts %} 
    {% unless apost.categories contains 'jekyll' %} 
    {% assign notjekyllposts = notjekyllposts | push: apost %} 
    {% endunless %} 
{% endfor %} 
{% include post-list.html posts=notjekyllposts %} 
+0

Vielen Dank für die Antwort, aber ich würde eine Kategorie, um herauszufiltern mögen. Oder entfernen Sie alle Beiträge einer bestimmten Kategorie aus dem Array. – dtsn

+0

@ dtsn Ich habe die Antwort aktualisiert – marcanuy

Verwandte Themen