Ich habe den folgenden Code in meiner Vorlage:Zugriff auf ein Array mit einer Variablen in Jekyll/Flüssig Templating
{% for post in site.posts %}
{% capture num_colors %}{{ site.colors | size }}{% endcapture %}
{% capture color_index %}{{ forloop.index0 | mod: num_colors }}{% endcapture %}
<a href="{{ post.url }}" class="post-box" rel="bookmark" title="{{ post.title }}">
<div class="post-block {{ site.colors[color_index] }}">
<div class="contents">
<div class="cat-tag">
{{ post.categories[0] | upcase }}
</div>
<h2>{{ post.title }}</h2>
</div>
</div>
</a>
{% endfor %}
Das hat nichts hält Rückkehr: {{ site.colors[color_index] }}
obwohl num_colors
, color_index
und site.colors
werden alle richtigen Dinge zurückkehren wenn ich versuche, sie zu drucken.
Farben in meinem _config.yml wie folgt definiert:
colors: [light_blue, coral, yellow, teal, blue, deep_blue]
Ich bin ein Plugin-Modul zu erhalten. Im Grunde möchte ich nur eine Klasse für jeden Beitrag anhängen, der neu beginnt, wenn er über die Gesamtzahl der Farben hinausgeht. Das scheint einfach, also bin ich verwirrt.
Ich denke, es liegt daran,'erfassen' Text in einer Variablen erfasst. Das funktioniert möglicherweise nicht für den Array-Zugriff. Können Sie versuchen, für den Index "zuweisen"? Aber es ist nur eine Vermutung, ich kann es im Moment selbst nicht für eine Antwort ausprobieren. – michaPau
@michaPau das hat es geschafft! füge die Antwort hinzu und ich akzeptiere es – Evan