WIP
[maven-thymeleaf-skin] / src / main / resources / META-INF / maven / site.vm
index 86006d7..d01dfec 100644 (file)
@@ -7,7 +7,11 @@
 #set ( $stack = $project.getClass().forName('java.util.LinkedList').newInstance() )
 #macro ( buildPages $menu )
 
-  #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+  #if ( $menu.href )
+    #set ( $currentItemHref = $PathTool.calculateLink( $menu.href, $relativePath ) )
+  #else
+    #set ( $currentItemHref = '' )
+  #end
   #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
 
   #if ($currentItemHref)
     layout:decorator="templates/layout"
     th:with="
       uri='$sitePath$alignedFileName',
-      json='merge:{"pages":{#set($sep = "")#foreach($page in $pages)$sep"$sitePath$page.uri":{"name":"$page.name",#if(!$page.childs.isEmpty())"childs":{#set($csep = "")#foreach($child in $page.childs.entrySet())$csep"$sitePath$child.key":"$child.value"#set($csep = ",")#end},#end"crumbs":[#set($csep = "")#if($siteCrumbs)$siteCrumbs#set($csep = ",")#end#foreach($crumb in $page.crumbs)$csep{"uri":"$sitePath$crumb.uri","name":"$crumb.name"}#set($csep = ",")#end]#if($page.title),"title":"$page.title"#end#if($page.alt),"alt":"$page.alt"#end#if($page.img),"img":"$page.img"#end}#set($sep = ",")#end}#if($siteTitle),"site_title":"$siteTitle"#end#if($siteAlt),"site_alt":"$siteAlt"#end#if($siteImg),"site_img":"$siteImg"#end}'
-      "
+      json='MERGE:
+{
+  "_names":{#set($sep = "")#foreach($page in $pages)$sep"$sitePath$page.uri":"$page.name"#set($sep = ",")#end},
+  "_childs":{#set($sep = "")#foreach($page in $pages)
+    #if(!$page.childs.isEmpty())$sep"$sitePath$page.uri":[#set($csep = "")#foreach($child in $page.childs.entrySet())
+      $csep"$sitePath$child.key"#set($csep = ",")
+      #end]
+    #end
+  #end},
+  "_crumbs":{#set($sep = "")#foreach($page in $pages)
+    $sep"$sitePath$page.uri":[#set($csep = "")
+      #if($siteCrumbs)$siteCrumbs#set($csep = ",")#end
+      #foreach($crumb in $page.crumbs)
+      $csep"$sitePath$crumb.uri"#set($csep = ",")
+      #end]
+    #end}
+}
+      '"
     >
   <head>
     <title>#if($shortTitle and $shortTitle != '')$title#else$project.name &mdash; $pages.get($alignedFileName).name#end</title>