#set ( $pages = $project.getClass().forName('java.util.LinkedHashMap').newInstance() ) #set ( $stack = $project.getClass().forName('java.util.LinkedList').newInstance() ) #macro ( buildPages $menu ) #if ( $menu.href ) #set ( $currentItemHref = $PathTool.calculateLink( $menu.href, $relativePath ) ) #else #set ( $currentItemHref = '' ) #end #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) ) #set ( $seen = false ) #foreach ( $entry in $stack ) #if ( $entry.uri == $currentItemHref ) #set ( $seen = true ) #end #end #if ( !$seen ) #if ($currentItemHref) #set( $sinkhole = $stack.peek().childs.put($currentItemHref, $menu.name) ) #end #set ( $page = $project.getClass().forName('java.util.LinkedHashMap').newInstance() ) #set ( $sinkhole = $page.put("name", $menu.name) ) #set ( $sinkhole = $page.put("uri", $currentItemHref) ) #set ( $sinkhole = $page.put("childs", $project.getClass().forName('java.util.LinkedHashMap').newInstance()) ) #set ( $sinkhole = $stack.push( $page ) ) #if ($menu.title) #set( $sinkhole = $page.put("title", $menu.title) ) #end #if ($menu.alt) #set( $sinkhole = $page.put("alt", $menu.alt) ) #end #if ($menu.img) #set( $sinkhole = $page.put("img", $menu.img) ) #end #foreach ( $item in $menu.items ) #buildPages ( $item ) #end #set ( $page = $stack.pop() ) #if ( $page.uri != "" ) #set ( $crumbs = $project.getClass().forName('java.util.LinkedList').newInstance() ) #set ( $crumb = $project.getClass().forName('java.util.LinkedHashMap').newInstance() ) #set ( $sinkhole = $crumb.put("uri", $page.uri) ) #set ( $sinkhole = $crumb.put("name", $page.name) ) #set ( $sinkhole = $crumbs.push($crumb) ) #foreach ( $entry in $stack ) #if ( $entry.uri != "" ) #set ( $crumb = $project.getClass().forName('java.util.LinkedHashMap').newInstance() ) #set ( $sinkhole = $crumb.put("uri", $entry.uri) ) #set ( $sinkhole = $crumb.put("name", $entry.name) ) #set ( $sinkhole = $crumbs.push($crumb) ) #end #end #set ( $sinkhole = $page.put("crumbs", $crumbs) ) #if ( $pages.containsKey($page.uri) ) #set ( $childs = $pages.get($page.uri).childs ) #set ( $sinkhole = $page.put("childs", $childs) ) #else #end #set ( $sinkhole = $pages.put($page.uri, $page) ) #else #else(no name)--> #set( $siteTitle = $menu.title ) #set( $siteAlt = $menu.alt ) #set( $siteImg = $menu.img ) #set( $sinkhole = $pages.get("index.html").put("childs", $page.childs) ) #end #end #else #end #end ## Seiten einlesen #set ( $page = $project.getClass().forName('java.util.LinkedHashMap').newInstance() ) #set ( $sinkhole = $page.put("uri", "index.html") ) #set ( $sinkhole = $page.put("name", "$project.name") ) #set ( $crumbs = $project.getClass().forName('java.util.LinkedList').newInstance() ) #set ( $crumb = $project.getClass().forName('java.util.LinkedHashMap').newInstance() ) #set ( $sinkhole = $crumb.put("uri", $page.uri) ) #set ( $sinkhole = $crumb.put("name", $page.name) ) #set ( $sinkhole = $crumbs.push( $crumb ) ) #set ( $sinkhole = $page.put("crumbs", $crumbs ) ) #set ( $sinkhole = $pages.put($page.uri, $page) ) #set ( $sinkhole = $stack.push($page) ) #foreach ( $menu in $decoration.body.menus ) ## Nur benannte Menüs werden berücksichtigt #if ($menu.name) #buildPages ( $menu ) #end #end #foreach ( $menu in $decoration.body.menus ) ## Nur unbenannte Menüs werden berücksichtigt #if (!($menu.name)) #buildPages ( $menu ) #end #end ## Custom Variablen einlesen #set ( $pathPrefix = $decoration.custom.getChild( 'thymeproxy' ).getChild( 'prefix' ).getValue() ) #if ( !$pathPrefix ) #set ( $pathPrefix = "" ) #end #set ( $canonicalPath = $decoration.custom.getChild( 'thymeproxy' ).getChild( 'path' ).getValue() ) #if ( !$canonicalPath ) #set ( $canonicalPath = "" ) #end #set ( $sitePath = $pathPrefix + $canonicalPath + $project.version + "/" ) #set ( $siteCrumbs = $decoration.custom.getChild( 'thymeproxy' ).getChild( 'crumbs' ).getValue() ) #set ( $command = $decoration.custom.getChild( 'thymeproxy' ).getChild( 'command' ).getValue() ) #if ( !$command ) #set ( $command = "" ) #end $title

$shortTitle

URI

Path

    #foreach($crumb in $pages.get($alignedFileName).crumbs)
  1. $crumb.name
  2. #end


$bodyContent

Page Structure as JSON

{
  "_titles": {#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

    ]#set($sep = ",")#end#end

  },
  "_crumbs": {#set($sep = "")#foreach($page in $pages)$sep
    "$sitePath$page.uri": [
#set($csep = "")#if($siteCrumbs)
      $siteCrumbs#set($csep = ",")#end#set($last = "")#foreach($crumb in $page.crumbs)#if($sitePath+$crumb.uri != $last)$csep
      "$sitePath$crumb.uri"#set($csep = ",")#set($last = $sitePath+$crumb.uri)#end#end

    ]#set($sep = ",")#end

  }
}
    

All Pages