Verschachtelte flüssige Schleifen in einer Jekyll-Archivseite funktionieren nicht. Verwenden einer äußeren Schleifenvariable innerhalb des inneren Zustandes

8

Ich arbeite mit dem jekyll static site builder, und ich habe Schwierigkeiten beim Ausführen der folgenden:

%Vor%

Ich habe eine Post-Kategorie in meiner jekyll-Seite namens "test", und ich kann zeige Beiträge von ihm mit dem folgenden an:

%Vor%

Ich möchte jedoch eine Archivseite automatisch und in der richtigen Reihenfolge erstellen Um dies zu tun, muss ich die Kategorie aus der äußeren Schleife (die Schleife) einbetten das besucht alle Kategorien), und benutzt es innerhalb der inneren Schleife zu Zugriffsposts aus dieser bestimmten Kategorie. Was muss ich tun, um zu bekommen? der erste Ausschnitt funktioniert, wie ich es will?

EDIT: Gibt es alternativ eine andere Möglichkeit, die gewünschten Ergebnisse zu erhalten?

    
radicalmatt 15.04.2011, 03:26
quelle

3 Antworten

14

Wenn Sie for category in site.categories ausführen,

  • category[0] gibt Ihnen den Kategorienamen
  • category[1] gibt Ihnen die Liste der Beiträge für diese Kategorie.

So behandelt Liquid Iterationen über Hashes, glaube ich.

Der Code, nach dem Sie suchen, ist dieser:

%Vor%

Ich habe mir die Freiheit genommen, einige Markup-Probleme zu beheben - ich habe <ul>...</ul> um die Postlink-Liste hinzugefügt, ein <p> um den letzten Link, ein Semikolon nach dem 8617 und auch behoben die id an der Spitze (fehlte der -ref Teil).

Grüße!

    
kikito 20.04.2011, 08:15
quelle
1

Wie wäre es ...

%Vor%

Sicher, es ist ziemlich ineffizient und erzeugt eine Menge zusätzlicher Leerzeichen, aber es erledigt die Arbeit.

[Dem Original fehlten die Tags. Habe sie einfach hinzugefügt. Um den Whitespace zu erreichen, kann man alles von for post in site.posts bis endfor auf eine einzelne Zeile reduzieren.]

    
kshep 17.04.2011 16:40
quelle
0
%Vor%

Ich bin mir auch nicht sicher, warum ksheps Beispiel nicht funktioniert ...

    
Chris Warrick 19.04.2011 15:47
quelle

Tags und Links