X-Git-Url: https://juplo.de/gitweb/?p=maven-thymeleaf-skin;a=blobdiff_plain;f=src%2Fmain%2Fresources%2FMETA-INF%2Fmaven%2Fsite.vm;h=50bd7ca954b68011ab633996b36bbcc38e4af3c4;hp=a973c5cf889da32a77cbb38eb1a62d8cd53621e0;hb=028805129ca80fab45237caae76d34c048a65c71;hpb=26697cca1a5f86bbec6f08ded69c5a800e71c3a0 diff --git a/src/main/resources/META-INF/maven/site.vm b/src/main/resources/META-INF/maven/site.vm index a973c5c..50bd7ca 100644 --- a/src/main/resources/META-INF/maven/site.vm +++ b/src/main/resources/META-INF/maven/site.vm @@ -1,105 +1,201 @@ + -## Automatisch generierte Seiten einlesen #set ( $pages = $project.getClass().forName('java.util.LinkedHashMap').newInstance() ) -#macro ( buildPages $items ) - #foreach ( $item in $items ) - #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) ) - #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) ) - #set ( $sinkhole = $pages.put( $item.name, $currentItemHref ) ) - #if ( !$item.items.empty ) - #buildPages ( $item.items ) - #end +#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 -#end -#foreach ( $menu in $decoration.body.menus ) - ## Nur benannte Menüs werden berücksichtigt - #if ($menu.name) - #buildPages ( $menu.items ) + #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) ) + + #if ($currentItemHref) + #set( $sinkhole = $stack.peek().childs.put($currentItemHref, $menu.name) ) #end -#end - - -#set ( $crumbs = $project.getClass().forName('java.util.LinkedHashMap').newInstance() ) -#macro ( searchBreadcrumbTrail $items ) - #set ( $sep = '' ) - #foreach ( $item in $items ) - #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) ) - #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) ) - #if ( $currentItemHref == 'index.html' ) - #set ( $name = $project.name ) + + #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 - #set ( $name = $item.name ) + + #end - #if ( !$breadcrumbs && $alignedFileName == $currentItemHref ) - #set ( $breadcrumbs = $project.getClass().forName('java.util.LinkedHashMap').newInstance() ) - ## Den Titel der Seite korrigieren! - #set ( $title = "$project.name - $item.name" ) - #set ( $shortTitle = $name ) - #set ( $sinkhole = $breadcrumbs.put( 'index.html', $project.name) ) - #foreach ( $crumb in $crumbs.entrySet() ) - #set ( $sinkhole = $breadcrumbs.put( $crumb.key , $crumb.value ) ) - #end - #set ( $sinkhole = $breadcrumbs.put( $alignedFileName , $shortTitle) ) + + #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 - $sep"$currentItemHref": { - "name": "$name" - #if ( !$item.items.empty ) - ,"childs": { - #set ( $sinkhole = $crumbs.put( $currentItemHref , $name) ) - #searchBreadcrumbTrail ( $item.items ) - #set ( $sinkhole = $crumbs.pop() ) - } - #end - } - #set ( $sep =',' ) + #end #end -## Datenstrukturen für die Navigation vorbereiten + +## 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 ( $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)) - ## Breadcrumb-Pfad suchen - "menu": { - #searchBreadcrumbTrail ( $menu.items ) - } + #buildPages ( $menu ) #end #end +## Custom Variablen einlesen +#set ( $canonicalPath = $decoration.custom.getChild( 'thymeproxy' ).getChild( 'path' ).getValue() ) +#if ( !$canonicalPath ) + #set ( $canonicalPath = "" ) +#end +#set ( $sitePath = $canonicalPath + $project.version + "/" ) +#set ( $siteCrumbs = $decoration.custom.getChild( 'thymeproxy' ).getChild( 'crumbs' ).getValue() ) + + - - - + + + + + - juplo - $title + #if($shortTitle and $shortTitle != '')$title#else$project.name — $pages.get($alignedFileName).name#end - + -
-

$shortTitle

+

Path

+

+

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

+
+
$bodyContent
+
+

Pages

+

+

+