Ich erstelle eine statische Site (kein Blog) mit Jekyll / Liquid. Ich möchte, dass es ein automatisch generiertes Navigationsmenü gibt, das alle vorhandenen Seiten auflistet und die aktuelle Seite hervorhebt. Die Elemente sollten in einer bestimmten Reihenfolge zum Menü hinzugefügt werden. Daher definiere ich eine weight
Eigenschaft in der YAML der Seiten:
---
layout : default
title : Some title
weight : 5
---
Das Navigationsmenü ist wie folgt aufgebaut:
<ul>
{% for p in site.pages | sort:weight %}
<li>
<a {% if p.url == page.url %}class="active"{% endif %} href="{{ p.url }}">
{{ p.title }}
</a>
</li>
{% endfor %}
</ul>
Dadurch werden Links zu allen vorhandenen Seiten erstellt, diese sind jedoch unsortiert. Der sort
Filter scheint ignoriert zu werden. Natürlich mache ich etwas falsch, aber ich kann nicht herausfinden, was.
sort
macht etwas. Wenn eine Site keine bereitstelltweight
, wird sie zuletzt geschrieben. Wenn es jedoch eines bereitstellt, wird es immer noch nicht danach, sondern nach dem Dateinamen sortiert.