]> juplo.de Git - maven-thymeleaf-skin/commitdiff
Menu-entries for generated pages can be renamed, when linked in the menu
authorKai Moritz <kai@juplo.de>
Mon, 2 Feb 2026 14:58:22 +0000 (15:58 +0100)
committerKai Moritz <kai@juplo.de>
Mon, 2 Feb 2026 14:58:22 +0000 (15:58 +0100)
src/main/resources/META-INF/maven/site.vm

index 1cbbee982fc1da4c9338568f94b9d577946b91ad..b99b941fa79a632d3d93cc1b4fdd46a93ec7df95 100644 (file)
@@ -1,6 +1,6 @@
 #set ( $pages = $project.getClass().forName('java.util.LinkedHashMap').newInstance() )
 #set ( $stack = $project.getClass().forName('java.util.LinkedList').newInstance() )
-#macro ( buildPages $item )
+#macro ( buildPages $item, $rename )
   <!-- VISITING PAGE - href: $item.href / name: $item.name -->
   #if ( $item.href )
     #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
@@ -39,7 +39,7 @@
       #end
     #end
     #foreach ( $entry in $item.items )
-      #buildPages ( $entry )
+      #buildPages ( $entry, $rename )
     #end
     #set ( $page = $stack.pop() )
     #set ( $crumbs = $project.getClass().forName('java.util.LinkedList').newInstance() )
     #end
     #set ( $sinkhole = $page.put("crumbs", $crumbs) )
   #else
+    #if ($rename)
+    <!-- RENAMING already seen PAGE: href=$currentItemHref, FROM name=$pages.get($currentItemHref).name TO name=$item.name -->
+    #set ( $sinkhole = $pages.get($currentItemHref).put("name", $item.name) )
+    #else
     <!-- SKIPPING already seen PAGE: href=$currentItemHref, name=$item.name -->
+    #end
   #end
 #end
 ---
@@ -84,7 +89,7 @@ $bodyContent
   ## Zuerst alle anderen Menüs verarbeiten
   #if ($menu.name != $menuName)
     #foreach ( $item in $menu.items )
-      #buildPages ( $item )
+      #buildPages ( $item, false )
     #end
   #end
 #end
@@ -93,7 +98,7 @@ $bodyContent
   ## Durch diese Reihenfolge überschreiben Referenzen die automatisch erzeugten Einträge nicht
   #if ($menu.name == $menuName)
     #foreach ( $item in $menu.items )
-      #buildPages ( $item )
+      #buildPages ( $item, true )
     #end
   #end
 #end