From e74c4874a1b65de48fc53d3c6c36b5bd6cbab8f4 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Sun, 19 Apr 2026 15:00:18 +0200 Subject: [PATCH] =?utf8?q?Nur=20aktuelle=20(oder=20gerade=20ausgew=C3=A4hl?= =?utf8?q?te)=20Projekte=20im=20Projekte-Men=C3=BC=20verlinkt?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * Unter dem Menü-Eintrag für `/projects/` erscheinen nur Projekte, für die im Frontmatter der Parameter `current` explizit auf `true gesetzt ist. * Alle anderen Unterseiten von `/projects/` werden im Menü nicht angezeigt. * *Ausnahme:* Die Seite ist gerade ausgewählt -- _Diese Ausnahme ist nötig, da ansonsten kein Menü-Pfad mehr für nicht sichtbare Projekte (aka: die Dokumentation älterer oder unveröffentlichter Projekt-Versionen) angezeigt wird. --- layouts/_partials/menu/tree.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/layouts/_partials/menu/tree.html b/layouts/_partials/menu/tree.html index a3d63ed2..13292b5d 100644 --- a/layouts/_partials/menu/tree.html +++ b/layouts/_partials/menu/tree.html @@ -5,6 +5,11 @@ {{- $isAncestor := $page.IsDescendant . -}} {{- $isChild := $parent.Eq $page }} {{- $isSibling := $parent.Eq (index $page.Ancestors 0) }} + {{- $projects := .GetPage "/projects" }} + {{- $isNotAProject := not (hasPrefix .Path "/projects/") }} + {{- $isVisible := .Params.current | default false }} + {{- $isSelectedProjectPage := or (.Eq $page) $isAncestor (and $isSibling (not ($parent.Eq $projects))) (and $isChild (not ($parent.Eq $projects))) }} + {{- if or $isNotAProject $isVisible $isSelectedProjectPage}}