diff --git a/maven-plugins/maven-site-plugin/src/main/resources/org/apache/maven/doxia/maven-site.vm b/maven-plugins/maven-site-plugin/src/main/resources/org/apache/maven/doxia/maven-site.vm index aed75b0649..26d0dfd4b5 100644 --- a/maven-plugins/maven-site-plugin/src/main/resources/org/apache/maven/doxia/maven-site.vm +++ b/maven-plugins/maven-site-plugin/src/main/resources/org/apache/maven/doxia/maven-site.vm @@ -40,18 +40,45 @@ #end #macro ( menuItem $item ) + #set ( $collapse = "none" ) + #set ( $currentItemHref = $PathTool.calculateLink( $item.getAttribute( "href" ), $relativePath ) ) + #set ( $currentFileName = $currentFileName.replaceAll( "\\", "/" ) ) + #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) ) + + #set ( $currentFileNameLastSlash = $currentFileName.lastIndexOf( "/" ) ) + #if ( $currentFileNameLastSlash != -1) + #set ( $currentFileNameTmp = $currentFileName.substring( 0, $currentFileNameLastSlash ) ) + #else + #set ( $currentFileNameTmp = $currentFileName.substring( 0, $currentFileName.lengh() ) ) + #end + + #set ( $currentItemHrefLastSlash = $currentItemHref.lastIndexOf( "/" ) ) + #if ( $currentItemHrefLastSlash != -1) + #set ( $currentItemHrefTmp = $currentItemHref.substring( 0, $currentItemHrefLastSlash ) ) + #else + #set ( $currentItemHrefTmp = $currentItemHref.substring( 0, $currentItemHref.lengh() ) ) + #end + + #set ( $tree = $currentFileNameTmp && $currentItemHrefTmp && $currentFileNameTmp.startsWith( $currentItemHrefTmp ) ) + #if ( $item.getChildCount() > 0 ) - #if ( $item.getAttribute( "collapse" ) == "true" ) - #set ( $collapse = "collapsed" ) + #if ( ( $item.getAttribute( "collapse" ) ) && ( $item.getAttribute( "collapse" ).equalsIgnoreCase( "false" ) ) ) + #set ( $collapse = "expanded" ) #else + ## By default collapsed + #set ( $collapse = "collapsed" ) + #end + + #if ( $currentFileName == $currentItemHref ) + #set ( $collapse = "expanded" ) + #end + + #if ( $tree ) #set ( $collapse = "expanded" ) #end - #else - #set ( $collapse = "none" ) #end - #set ( $currentItemHref = $PathTool.calculateLink( $item.getAttribute( "href" ), $relativePath ) ) -