From: Kai Moritz
Date: Mon, 7 Mar 2016 16:56:16 +0000 (+0100)
Subject: Fixed missing menu on generated site: moved template from skin to project
X-Git-Tag: hibernate-maven-plugin-2.0.0~4
X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=a275df25c52fdb7b5b4275fcf9a359194f7b9116;p=hibernate-maven-plugin
Fixed missing menu on generated site: moved template from skin to project
---
diff --git a/pom.xml b/pom.xml
index 84bcdfd0..815a2339 100644
--- a/pom.xml
+++ b/pom.xml
@@ -308,6 +308,7 @@
3.4
${project.build.directory}/filtered-site
+ src/site/template.vm
diff --git a/src/site/site.xml b/src/site/site.xml
index 62ea2341..7c28ac28 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -11,10 +11,5 @@
+
+
+
+
You are here:
+
+ Home
+ Projects
+ #if ( $alignedFileName == 'index.html' )
+ $project.name
+ #else
+ $project.name
+ #foreach( $crumb in $breadcrumbs )
+ #set ( $currentItemHref = $PathTool.calculateLink( $crumb.href, $relativePath ) )
+ #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+ #link( $currentItemHref $crumb.name 'b')
+ #end
+ $shortTitle
+ #end
+
+
Jump to navigation
+
+
+
+
+
+ $bodyContent
+
+
+
+
+
+ #if( $decoration.googleAnalyticsAccountId && $decoration.googleAnalyticsAccountId != "" )
+
+ #end
+
-
- de.juplo
- juplo-maven-skin
- 1.0.8
-
diff --git a/src/site/template.vm b/src/site/template.vm
new file mode 100644
index 00000000..5f586296
--- /dev/null
+++ b/src/site/template.vm
@@ -0,0 +1,334 @@
+
+
+## Datenstrukturen für die Navigation (Breadcrumbs und Menü) vorbereiten
+#set ( $crumbs = $project.getClass().forName('java.util.LinkedList').newInstance() )
+#set ( $parents = $project.getClass().forName('java.util.LinkedList').newInstance() )
+#set ( $active = 'index.html' )
+#set ( $skiplist = [ 'index.html' ] )
+#macro ( searchBreadcrumbTrail $items )
+ #if ( $breadcrumbs )
+ ## Der zuerst gefundene Pfad gilt (denn dieser liegt im selbst erzeugten Menü)
+ #else
+ #foreach ( $item in $items )
+ #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+ #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+ #if ( $alignedFileName == $currentItemHref )
+ ## Sonderfall abfangen :/
+ #if ( $alignedFileName == 'index.html' )
+ #set ( $breadcrumbs = [] )
+ #set ( $path = [ 'index.html' ] )
+ #else
+ #set ( $breadcrumbs = $crumbs.clone() )
+ ## Den Titel der Seite korrigieren!
+ #set ( $title = "$project.name - $item.name" )
+ #set ( $shortTitle = $item.name )
+ ## Pfad für die Identifizierung sichtbarer Menüeinträge aufbauen
+ #set ( $path = [ 'index.html' ] )
+ #foreach ( $crumb in $crumbs )
+ #set ( $currentItemHref = $PathTool.calculateLink( $crumb.href, $relativePath ) )
+ #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+ #set ( $sinkhole = $path.add( $currentItemHref ) )
+ #end
+ #set ( $sinkhole = $path.add( $alignedFileName ) )
+ #end
+ #else
+ #if ( !$item.items.empty )
+ #set ( $sinkhole = $crumbs.push( $item ) )
+ #searchBreadcrumbTrail ( $item.items )
+ #set ( $sinkhole = $crumbs.pop() )
+ #end
+ #end
+ #end
+ #end
+#end
+#macro ( buildSkiplist $item )
+ #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+ #set ( $sinkhole = $skiplist.add( $currentItemHref.replaceAll( '\\', '/' ) ) )
+ #foreach ( $item in $item.items )
+ #buildSkiplist ( $item )
+ #end
+#end
+#macro ( findActive $item $skip)
+ #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+ #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+ #set ( $doskip = false )
+ #if ( $skip )
+ #foreach ( $toskip in $skiplist )
+ #if ( $currentItemHref == $toskip )
+ #set ( $doskip = true )
+ #end
+ #end
+ #end
+ #if ( !$doskip )
+ #if ( $alignedFileName == $currentItemHref )
+ #if ( $item.items.size() > 0 )
+ #set ( $active = $alignedFileName )
+ #else
+ #set ( $active = $parents.peek() )
+ #end
+ #end
+ #set ( $sinkhole = $parents.push( $currentItemHref ) )
+ #foreach ( $item in $item.items )
+ #findActive ( $item $skip )
+ #end
+ #set ( $sinkhole = $parents.pop() )
+ #end
+#end
+#foreach ( $menu in $decoration.body.menus )
+ ## Breadcrumb-Pfad suchen
+ #searchBreadcrumbTrail ( $menu.items )
+ ## Bestimmen, welche Pfade in dem selbst definierten Menü liegen
+ #set ( $sinkhole = $parents.push( 'index.html' ) )
+ #if ( !$menu.name )
+ #foreach ( $item in $menu.items )
+ #buildSkiplist( $item )
+ #end
+ ## Aktives (Unter-)Menü bestimmen (und dabei nichts überspringen)
+ #foreach ( $item in $menu.items )
+ #findActive( $item false)
+ #end
+ #else
+ ## Aktives (Unter-)Menü bestimmen (und dabei Einträge aus dem selbst
+ ## definierten Menü überspringen)
+ #foreach ( $item in $menu.items )
+ #findActive( $item true)
+ #end
+ #end
+ #set ( $sinkhole = $parents.pop() )
+ ## Sonderbehandlung der Einträge im selbst angelegten Menü
+ ## Das Menü wird daran erkannt, das der Name leer ist!
+#end
+
+
+
+
+##
+#macro ( link $href $name $class )
+ #set ( $linkTitle = ' title="' + $name + '"' )
+ #if ( $href.toLowerCase().startsWith("http:/") || $href.toLowerCase().startsWith("https:/") ||
+ $href.toLowerCase().startsWith("ftp:/") || $href.toLowerCase().startsWith("mailto:") ||
+ $href.toLowerCase().startsWith("file:/") || ($href.toLowerCase().indexOf("://") != -1) )
+ #set ( $linkClass = ' class="external ' + $class + '"' )
+ #else
+ #set ( $linkClass = ' class="' + $class + '"' )
+ #end
+ $name
+#end
+##
+#macro ( menuItem $item $parent $skip)
+ #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+ #set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+ #set ( $doskip = false )
+ #if ( $skip )
+ #foreach ( $toskip in $skiplist )
+ #if ( $currentItemHref == $toskip )
+ #set ( $doskip = true )
+ #end
+ #end
+ #end
+##
+ #if ( !$doskip )
+ #set ( $onPath = false )
+ #set ( $parentActive = false )
+ #set ( $off = '' )
+ #set ( $sub = '' )
+ #set ( $cssClass = 's' )
+ #foreach ( $entry in $path )
+ #if ( $entry == $currentItemHref )
+ #set ( $onPath = true )
+ #set ( $cssClass = 's selected' )
+ #end
+ #if ( $entry == $parent && $parent == $active )
+ #set ( $parentActive = true )
+ #end
+ #end
+ #if ( $item.items.size() > 0 )
+ #set ( $sub = ' sub' )
+ #end
+ #if ( !$onPath && !$parentActive )
+ #set ( $off = ' off' )
+ #end
+
+ #if ( $alignedFileName == $currentItemHref )
+ $item.name
+ #else
+ #link( $currentItemHref $item.name $cssClass )
+ #end
+ #if ( $item.items.size() > 0 && ( $currentItemHref == $active || $onPath ) )
+ #set ( $newparent = $currentItemHref )
+
+ #foreach( $item in $item.items )
+ #menuItem( $item $newparent $skip )
+ #end
+
+ #end
+
+ #end
+#end
+##
+#macro ( copyright )
+ #if ( $project )
+ #set ( $currentYear = ${currentDate.year} + 1900 )
+##
+ #if ( ${project.inceptionYear} && ( ${project.inceptionYear} != ${currentYear.toString()} ) )
+ ${project.inceptionYear}-${currentYear}
+ #else
+ ${currentYear}
+ #end
+ #end
+#end
+##
+
+
+
juplo - $title
+
+
+
+
+
+
+
+
+#foreach( $author in $authors )
+
+#end
+#if ( $dateCreation )
+
+#end
+ #if ( $decoration.body.head )
+ #foreach( $item in $decoration.body.head.getChildren() )
+ ## Workaround for DOXIA-150 due to a non-desired behaviour in p-u
+ ## @see org.codehaus.plexus.util.xml.Xpp3Dom#toString()
+ ## @see org.codehaus.plexus.util.xml.Xpp3Dom#toUnescapedString()
+ #set ( $documentHeader = '' )
+ #if ( $item.name == "script" )
+ $StringUtils.replace( $item.toUnescapedString(), $documentHeader, "" )
+ #else
+ $StringUtils.replace( $item.toString(), $documentHeader, "" )
+ #end
+ #end
+ #end
+ $headContent
+
+
+