This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch site-model-rework
in repository https://gitbox.apache.org/repos/asf/maven-fluido-skin.git

commit 6ba62a71cf76b34bdf91ea53ab63a7c39edce9d1
Author: Michael Osipov <[email protected]>
AuthorDate: Thu Jun 29 16:24:58 2023 +0200

    [MSKINS-237] Rework skin for new site model
    
    This closes #56
---
 pom.xml                                          |   2 +-
 src/it/mskins-107/verify.groovy                  |   2 +-
 src/it/mskins-28/src/site/site.xml               |  12 +-
 src/it/mskins-76/verify.groovy                   |   7 +-
 src/it/mskins-76_topbar/verify.groovy            |   7 +-
 src/it/sidebar/verify.groovy                     |   8 +-
 src/it/topbar/verify.groovy                      |   8 +-
 src/main/resources/META-INF/maven/site-macros.vm | 698 +++++++++--------------
 src/main/resources/META-INF/maven/site.vm        | 148 ++---
 src/main/resources/META-INF/maven/skin.xml       |   6 +-
 10 files changed, 364 insertions(+), 534 deletions(-)

diff --git a/pom.xml b/pom.xml
index 2df4ace..079d602 100644
--- a/pom.xml
+++ b/pom.xml
@@ -98,7 +98,7 @@ under the License.
   <properties>
     <bootstrap.version>2.3.2</bootstrap.version>
     <jquery.version>1.11.2</jquery.version>
-    <sitePluginVersion>4.0.0-M9</sitePluginVersion>
+    <sitePluginVersion>4.0.0-M10</sitePluginVersion>
     <projectInfoReportsPluginVersion>3.4.5</projectInfoReportsPluginVersion>
     
<project.build.outputTimestamp>2023-07-09T19:58:37Z</project.build.outputTimestamp>
     <anchorjs.version>4.3.1</anchorjs.version>
diff --git a/src/it/mskins-107/verify.groovy b/src/it/mskins-107/verify.groovy
index f0073b2..bcf5887 100644
--- a/src/it/mskins-107/verify.groovy
+++ b/src/it/mskins-107/verify.groovy
@@ -20,4 +20,4 @@
 File index = new File( basedir, "target/site/index.html" )
 
 assert index.exists()
-assert index.text.contains("<meta name=\"generator\" content=\"Apache Maven 
Doxia Site Renderer 2.0.0-M11\" />")
+assert index.text.contains("<meta name=\"generator\" content=\"Apache Maven 
Doxia Site Renderer 2.0.0-M12-SNAPSHOT\" />")
diff --git a/src/it/mskins-28/src/site/site.xml 
b/src/it/mskins-28/src/site/site.xml
index 6a2b897..6d79639 100644
--- a/src/it/mskins-28/src/site/site.xml
+++ b/src/it/mskins-28/src/site/site.xml
@@ -43,13 +43,15 @@
 
   <!-- START SNIPPET: skin-custom-config -->
   <poweredBy>
-    <logo name="First Logo" img="./images/logos/maven-feather.png" 
href="http://maven.apache.org/"/>
+    <logo name="First Logo" alt="First Logo" 
img="./images/logos/maven-feather.png" href="http://maven.apache.org/"/>
     <!-- Second logo is wider than the sidebar -->
-    <logo name="Second Logo" width="500px" 
img="./images/logos/maven-feather.png" href="http://maven.apache.org/"/>
+    <logo name="Second Logo" alt="Second Logo" width="500px" 
img="./images/logos/maven-feather.png" href="http://maven.apache.org/"/>
     <!-- Third and forth logo fit next to eachother in the sidebar -->
-    <logo name="Third Logo" img="./images/logos/maven-feather.png" 
href="http://maven.apache.org/"/>
-    <logo name="Fourth Logo" img="./images/logos/maven-feather.png" 
href="http://maven.apache.org/"/>
-    <logo name="Fifth Logo" img="./images/logos/maven-feather.png" 
href="http://maven.apache.org/"/>
+    <logo name="Third Logo" alt="Third Logo" 
img="./images/logos/maven-feather.png" href="http://maven.apache.org/"/>
+    <logo name="Fourth Logo" alt="Fourth Logo" 
img="./images/logos/maven-feather.png" href="http://maven.apache.org/"/>
+    <logo name="Fifth Logo" alt="Fifth Logo" 
img="./images/logos/maven-feather.png" href="http://maven.apache.org/"/>
+    <logo name="Sixth Logo" alt="Sixth Logo" 
img="./images/logos/maven-feather.png"/>
+    <logo name="Seventh Logo"/>
   </poweredBy>
   <!-- END SNIPPET: skin-custom-config -->
 
diff --git a/src/it/mskins-76/verify.groovy b/src/it/mskins-76/verify.groovy
index 7b6983e..fbeb7e3 100644
--- a/src/it/mskins-76/verify.groovy
+++ b/src/it/mskins-76/verify.groovy
@@ -21,17 +21,16 @@ File index = new File( basedir, "target/site/index.html" )
 assert index.exists()
 String text = index.text.normalize()
 assert text.contains( '''\
-<script>
-    /* <![CDATA[ */
+    <script>
         (function() {
             var s = document.createElement('script'), t = 
document.getElementsByTagName('script')[0];
             s.async = true;
             s.src = 'https://api.flattr.com/js/0.6/load.js?mode=auto';
             t.parentNode.insertBefore(s, t);
         })();
-    /* ]]> */</script>'''.normalize() )
+    </script>'''.normalize() )
 
 assert text.contains( '''\
 <a class="FlattrButton" style="display:none;"  
href="http://opensource.org/";></a>
     <noscript><a 
href="https://flattr.com/thing/448050/Open-Source-Initiative-OSI"; 
target="_blank">
-    <img src="https://api.flattr.com/button/flattr-badge-large.png"; 
alt="Flattr this" title="Flattr this" style="border: 0;" 
/></a></noscript>'''.normalize() )
+    <img src="https://api.flattr.com/button/flattr-badge-large.png"; 
alt="Flattr this" style="border: 0;" /></a></noscript>'''.normalize() )
diff --git a/src/it/mskins-76_topbar/verify.groovy 
b/src/it/mskins-76_topbar/verify.groovy
index 4ea467d..3f0299b 100644
--- a/src/it/mskins-76_topbar/verify.groovy
+++ b/src/it/mskins-76_topbar/verify.groovy
@@ -21,17 +21,16 @@ File index = new File( basedir, "target/site/index.html" )
 assert index.exists()
 String text = index.text.normalize()
 assert text.contains( '''\
-<script>
-    /* <![CDATA[ */
+    <script>
         (function() {
             var s = document.createElement('script'), t = 
document.getElementsByTagName('script')[0];
             s.async = true;
             s.src = 'https://api.flattr.com/js/0.6/load.js?mode=auto';
             t.parentNode.insertBefore(s, t);
         })();
-    /* ]]> */</script>'''.normalize() )
+    </script>'''.normalize() )
 
 assert text.contains( '''\
 <a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" 
href="http://opensource.org/";></a>
     <noscript><a 
href="https://flattr.com/thing/448050/Open-Source-Initiative-OSI"; 
target="_blank">
-    <img src="https://api.flattr.com/button/flattr-badge-large.png"; 
alt="Flattr this" title="Flattr this" style="border: 0;" 
/></a></noscript>'''.normalize() )
+    <img src="https://api.flattr.com/button/flattr-badge-large.png"; 
alt="Flattr this" style="border: 0;" /></a></noscript>'''.normalize() )
diff --git a/src/it/sidebar/verify.groovy b/src/it/sidebar/verify.groovy
index 98b6cab..2e6dc1c 100644
--- a/src/it/sidebar/verify.groovy
+++ b/src/it/sidebar/verify.groovy
@@ -23,9 +23,9 @@ assert index.exists()
 // MSKINS-130 check that html structure is as clean as possible
 String html = index.text
 // active menu
-assert html.contains( '<li class="active"><a><span 
class="none"></span>About</a>' )
+assert html.contains( '<li class="active"><a>About</a>' )
 // inactive menu
-assert html.contains( '<li><a href="summary.html" title="Summary"><span 
class="none"></span>Summary</a>' )
-assert html.contains( '<li><a href="plugins.html" title="Plugins"><span 
class="none"></span>Plugins</a></li>' )
+assert html.contains( '<li><a href="summary.html">Summary</a>' )
+assert html.contains( '<li><a href="plugins.html">Plugins</a></li>' )
 // breadcrumb
-assert html.contains( '<li><a href="https://www.apache.org/"; 
class="externalLink" title="Apache">Apache</a><span 
class="divider">/</span></li>' )
+assert html.contains( '<li><a href="https://www.apache.org/"; 
class="externalLink">Apache</a><span class="divider">/</span></li>' )
diff --git a/src/it/topbar/verify.groovy b/src/it/topbar/verify.groovy
index 82704fd..2e3dd0b 100644
--- a/src/it/topbar/verify.groovy
+++ b/src/it/topbar/verify.groovy
@@ -23,9 +23,9 @@ assert index.exists()
 // MSKINS-130 check that html structure is as clean as possible
 String html = index.text
 // active menu
-assert html.contains( '<li><a title="About">About</a></li>' )
+assert html.contains( '<li><a>About</a></li>' )
 // inactive menu
-assert html.contains( '<li><a href="summary.html" 
title="Summary">Summary</a></li>' )
-assert html.contains( '<li><a href="plugins.html" 
title="Plugins">Plugins</a></li>' )
+assert html.contains( '<li><a href="summary.html">Summary</a></li>' )
+assert html.contains( '<li><a href="plugins.html">Plugins</a></li>' )
 // breadcrumb
-assert html.contains( '<li><a href="https://www.apache.org/"; 
class="externalLink" title="Apache">Apache</a><span 
class="divider">/</span></li>' )
+assert html.contains( '<li><a href="https://www.apache.org/"; 
class="externalLink">Apache</a><span class="divider">/</span></li>' )
diff --git a/src/main/resources/META-INF/maven/site-macros.vm 
b/src/main/resources/META-INF/maven/site-macros.vm
index 2f1a073..9876626 100644
--- a/src/main/resources/META-INF/maven/site-macros.vm
+++ b/src/main/resources/META-INF/maven/site-macros.vm
@@ -15,31 +15,25 @@
 ## specific language governing permissions and limitations
 ## under the License.
 ##
-#macro ( topMenu $menus )
+#macro( topMenu $menus )
 #**##foreach( $menu in $menus )
-#**##if ( $menu.name )
+#**##if( $menu.name )
       <li class="dropdown">
         <a class="dropdown-toggle" data-toggle="dropdown">$esc.xml( $menu.name 
) <b class="caret"></b></a>
         <ul class="dropdown-menu">
 #*    *##foreach( $item in $menu.items )
-#*      *##if ( $item.items.size() > 0 )
+#*      *##if( $item.items.size() > 0 )
             <li class="dropdown-submenu">
-#*            *##set ( $currentItemHref = $PathTool.calculateLink( $item.href, 
$relativePath ) )
-#*            *##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', 
'/' ) )
-#*            *##topLink( $currentItemHref $item.name $item.target )
+#*            *##topLink( $item )
 
               <ul class="dropdown-menu">
-#*            *##foreach( $subitem in $item.items )
-#*              *##set ( $currentItemHref = $PathTool.calculateLink( 
$subitem.href, $relativePath ) )
-#*              *##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', 
'/' ) )
-                  <li>#topLink( $currentItemHref $subitem.name $subitem.target 
)</li>
+#*            *##foreach( $subItem in $item.items )
+                  <li>#topLink( $subItem )</li>
 #*            *##end
               </ul>
             </li>
 #*      *##else
-#*        *##set ( $currentItemHref = $PathTool.calculateLink( $item.href, 
$relativePath ) )
-#*        *##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) 
)
-            <li>#topLink( $currentItemHref $item.name $item.target )</li>
+            <li>#topLink( $item )</li>
 #*      *##end
 #*    *##end
         </ul>
@@ -48,275 +42,204 @@
 #**##end
 #end
 ##
-#macro ( topLink $href $name $target )
-#**##set ( $linkTitle = ' title="' + $esc.xml( $name ) + '"' )
-#**##if( $target )
-#*  *##set ( $linkTarget = ' target="' + $target + '"' )
-#**##else
-#*  *##set ( $linkTarget = "" )
-#**##end
-#**##if ( $alignedFileName == $href )
-#*  *#<a$linkTitle>$esc.xml( $name )</a>##
-#**##else
-#*  *#<a href="$href"$linkTarget$linkTitle>$esc.xml( $name )</a>##
-#**##end
-#end
-##
-#macro ( topLinks $links )
+#macro( topLinks $links )
 #**##foreach( $item in $links )
-#*  *##set ( $currentItemHref = $PathTool.calculateLink( $item.href, 
$relativePath ) )
-#*  *##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
-    <li>#topLink( $currentItemHref $item.name $item.target )</li>
+    <li>#topLink( $item )</li>
 #**##end
 #end
 ##
-#macro ( link $href $name $target $img $position $alt $border $width $height 
$icon )
-#**##set ( $linkTitle = ' title="' + $esc.xml( $name ) + '"' )
-#**##if( $target )
-#*  *##set ( $linkTarget = ' target="' + $target + '"' )
+#macro( link $link $icon = false $omitImage = false $elemOnEmptyHref = "a" 
$dotSlashOnEmptyHref = false $imageClass = "imageLink" $elemClass = false )
+#**##if( $link.name )
+#*  *##set( $name = $esc.xml( $link.name ) )
 #**##else
-#*  *##set ( $linkTarget = "" )
-#**##end
-#**##if ( $decoration.isLink( $href ) )
-#*  *##set ( $linkClass = ' class="externalLink"' )
+#*  *##set( $name = "" )
+#**##end
+#**##if( $link.href || $dotSlashOnEmptyHref == "always" )
+#*  *##set( $href = $link.href )
+#*  *##if( !$site.isLink( $href ) )
+#*    *##set( $href = $PathTool.calculateLink( $href, $relativePath ) )
+#*    *##set( $href = $href.replaceAll( '\\', '/' ) )
+#*    *##if( $href == "" && ( $dotSlashOnEmptyHref == "set" || 
$dotSlashOnEmptyHref == "always" ) )
+#*      *##set( $href = "./" )
+#*    *##end
+#*    *##set( $class = "" )
+#*  *##else
+#*    *##set( $class = ' class="externalLink"' )
+#*  *##end
+#*  *##if( $link.target )
+#*    *##set( $target = ' target="' + $link.target + '"' )
+#*  *##else
+#*    *##set( $target = "" )
+#*  *##end
+#*  *##if( $alignedFileName == $href && $dotSlashOnEmptyHref != "always" )
+#*    *##set( $href = "" )
+#*    *##set( $target = "" )
+#*    *##set( $class = "" )
+#*  *##else
+#*    *##set( $href = ' href="' + $href + '"' )
+#*  *##end
 #**##else
-#*  *##set ( $linkClass = "" )
+#*  *##set( $href = "" )
+#*  *##set( $target = "" )
+#*  *##set( $class = "" )
 #**##end
-#**##if( $href )
-#*  *##set ( $href = ' href="' + $href + '"' )
-#**##else
-#*  *##set ( $href = "" )
+##
+#**##set( $wrap = $href || !$href && $elemOnEmptyHref )
+#**##set( $wrapElem = "a" )
+#**##if( !$href && $elemOnEmptyHref )
+#*  *##set( $wrapElem = $elemOnEmptyHref )
+#**##end
+#**##if( $elemClass )
+#*  *##set( $class = ' class="' + $elemClass + '"' )
 #**##end
-#**##if ( $img )
-#*  *##if ( $position == "left" )
-#*    *#<a$href$linkClass$linkTarget$linkTitle>#image( $img $alt $border 
$width $height )$name</a>##
+#**##if( $wrap )<$wrapElem#end$href$target$class#if( $wrap )>#end##
+#**##if( $link.image && !$omitImage )
+#*  *##set( $img = "#image( $link.image $imageClass )" )
+#*  *##if( $link.image.position == "left" )
+#*    *#$img#if( $name ) $name#end##
 #*  *##else
-#*    *#<a$href$linkClass$linkTarget$linkTitle>$esc.xml( $name ) #image( $img 
$alt $border $width $height )</a>##
+#*    *##if( $name )$name #end$img##
 #*  *##end
 #**##else
-#*  *#<a$href$linkClass$linkTarget$linkTitle>##
 #*  *##if( $icon )
 #*    *#<span class="$icon"></span>##
 #*  *##end
-#*  *#$esc.xml( $name )</a>##
+#*  *#$name##
+#**##end
+#**##if( $wrap )</$wrapElem>##
 #**##end
 #end
 ##
-#macro ( image $img $alt $border $width $height )
-#**##if( $img )
-#*  *##if ( !$decoration.isLink( $img ) )
-#*    *##set ( $imgSrc = $PathTool.calculateLink( $img, $relativePath ) )
-#*    *##set ( $imgSrc = $imgSrc.replaceAll( '\\', '/' ) )
-#*    *##set ( $imgSrc = ' src="' + $imgSrc + '"' )
+#macro( topLink $link )
+#**##link ( $link false true )
+#end
+##
+#macro( image $image $class )
+#*  *##if( !$site.isLink( $image.src ) )
+#*    *##set( $src = $PathTool.calculateLink( $image.src, $relativePath ) )
+#*    *##set( $src = $src.replace( '\\', '/' ) )
+#*    *##set( $src = ' src="' + $src + '"' )
 #*  *##else
-#*    *##set ( $imgSrc = ' src="' + $img + '"' )
+#*    *##set( $src = ' src="' + $image.src + '"' )
 #*  *##end
-#*  *##if( $alt )
-#*    *##set ( $imgAlt = ' alt="' + $esc.xml( $alt ) + '"' )
+#*  *##if( $image.alt )
+#*    *##set( $alt = ' alt="' + $esc.xml( $image.alt ) + '"' )
 #*  *##else
-#*    *##set ( $imgAlt = "" )
+#*    *##set( $alt = "" )
 #*  *##end
-#*  *##if( $border )
-#*    *##set ( $imgBorder = 'border: ' + $border + '; ' )
+#*  *##if( $image.width )
+#*    *##set( $width = 'width: ' + $image.width + ';' )
 #*  *##else
-#*    *##set ( $imgBorder = "" )
+#*    *##set( $width = "" )
 #*  *##end
-#*  *##if( $width )
-#*    *##set ( $imgWidth = 'width: ' + $width + '; ' )
+#*  *##if( $image.height )
+#*    *##set( $height = 'height: ' + $image.height + ';' )
 #*  *##else
-#*    *##set ( $imgWidth = "" )
+#*    *##set( $height = "" )
 #*  *##end
-#*  *##if( $height )
-#*    *##set ( $imgHeight = 'height: ' + $height + ';' )
+#*  *##if( $image.style )
+#*    *##set( $style = $image.style )
 #*  *##else
-#*    *##set ( $imgHeight = "" )
+#*    *##set( $style = "" )
 #*  *##end
-<img class="imageLink"$imgSrc$imgAlt style="$imgBorder$imgWidth$imgHeight" />##
-#**##end
+#*  *##set( $style = "$width$height$style" )
+<img class="$class"$src$alt#if( $style ) style="$style"#end />##
 #end
 ##
-#macro ( banner $banner $id )
-#**##if ( $banner )
-#*  *##if( $banner.href )
-#*    *##set ( $hrf = $banner.href )
-#*    *##if ( !$decoration.isLink( $hrf ) )
-#*      *##set ( $hrf = $PathTool.calculateLink( $hrf, $relativePath ) )
-#*      *##set ( $hrf = $hrf.replaceAll( '\\', '/' ) )
-#*      *##if ( ( $hrf == '' ) )
-#*        *##set ( $hrf = './' )
-#*      *##end
-#*    *##end
-#*    *#<a href="$hrf" id="$id"#if( $banner.alt ) title="$esc.xml( $banner.alt 
)"#end>##
-#*  *##else
-#*    *#<div id="$id">##
-#*  *##end
-##
-#*  *##if( $banner.src )
-#*    *##set ( $src = $banner.src )
-#*    *##if ( !$decoration.isLink( $src ) )
-#*      *##set ( $src = $PathTool.calculateLink( $src, $relativePath ) )
-#*      *##set ( $src = $src.replaceAll( '\\', '/' ) )
-#*    *##end
-#*    *##if ( $banner.alt )
-#*      *##set ( $alt = ' alt="' + $esc.xml( $banner.alt ) + '"' )
-#*    *##elseif ( $banner.name )
-#*      *##set ( $alt = ' alt="' + $esc.xml( $banner.name ) + '"' )
-#*    *##else
-#*      *##set ( $alt = "" )
-#*    *##end
-#*    *##if( $banner.border )
-#*      *##set ( $imgBorder = 'border: ' + $banner.border + '; ' )
-#*    *##else
-#*      *##set ( $imgBorder = "" )
-#*    *##end
-#*    *##if( $banner.width )
-#*      *##set ( $imgWidth = 'width: ' + $banner.width + '; ' )
-#*    *##else
-#*      *##set ( $imgWidth = "" )
-#*    *##end
-#*    *##if( $banner.height )
-#*      *##set ( $imgHeight = 'height: ' + $banner.height + ';' )
-#*    *##else
-#*      *##set ( $imgHeight = "" )
-#*    *##end
-#*    *##if( $banner.title )
-#*      *##set ( $bannerTitle=' title="' + $esc.xml( $banner.title ) + '"' )
-#*    *##else
-#*      *##set ( $bannerTitle="" )
-#*    *##end
-#*    *#<img src="$src" $alt$bannerTitle style="$imgBorder$imgWidth$imgHeight" 
/>##
-#*  *##else
-#*    *#<h1>$esc.xml( $banner.name )</h1>
-#*  *##end
-##
-#*  *##if( $banner.href )
-#*    *#</a>##
-#*  *##else
-#*    *#</div>
-#*  *##end
+#macro( banner $banner $id )
+#**##if( $banner )
+#*  *#<div id="$id"><h1>#link( $banner false false false "set" )</h1></div>##
 #**##end
 #end
 ##
-#macro ( links $links )
-#**##if ( $links && $links.size() > 0 )
-#*  *##set ( $counter = 0 )
+#macro( links $links )
+#**##if( $links && $links.size() > 0 )
+#*  *##set( $counter = 0 )
 #*  *### MSKINS-41
-#*  *##set ( $begin = $links.size() - 1 )
+#*  *##set( $begin = $links.size() - 1 )
 #*  *##foreach( $index in [$begin..0] )
-#*    *##set ( $item = $links.get( $index ) )
-#*    *##set ( $counter = $counter + 1 )
-#*    *##set ( $currentItemHref = $PathTool.calculateLink( $item.href, 
$relativePath ) )
-#*    *##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+#*    *##set( $item = $links.get( $index ) )
+#*    *##set( $counter = $counter + 1 )
 ##
         <li class="pull-right">##
-#*    *##if ( $counter > 0 && $counter < $links.size() )
+#*    *##if( $counter > 0 && $counter < $links.size() )
 #*    *#<span class="divider">|</span>
 #*    *##end
-#*    *##link( $currentItemHref $item.name $item.target $item.img 
$item.position $item.alt $item.border $item.width $item.height false )
+#*    *##link( $item )
 #*    *#</li>
 #*  *##end
 #**##end
 #end
 ##
-#macro ( breadcrumbs $breadcrumbs $cssClass )
-#**##set ( $breadcrumbDivider = $decoration.getCustomValue( 
'fluidoSkin.breadcrumbDivider', '/' ) )
+#macro( breadcrumbs $breadcrumbs $cssClass )
+#**##set( $breadcrumbDivider = $site.getCustomValue( 
'fluidoSkin.breadcrumbDivider', '/' ) )
 #**##foreach( $item in $breadcrumbs )
-#*  *##set ( $currentItemHref = $PathTool.calculateLink( $item.href, 
$relativePath ) )
-#*  *##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
-#*  *##if ( ( $currentItemHref == '' ) )
-#*    *##set ( $currentItemHref = './' )
-#*  *##end
-##
-#*  *##if( $cssClass )
-      <li class="$cssClass">##
-#*  *##else
-      <li>##
-#end
-#*  *##link( $currentItemHref $item.name $item.target $item.img $item.position 
$item.alt $item.border $item.width $item.height false )
+      <li#if( $cssClass ) class="$cssClass"#end>##
+#*  *##link( $item false false "a" "always" )
 #*  *#<span class="divider">$breadcrumbDivider</span>##
 #*  *#</li>
 #**##end
 #**### add Edit button if content is editable
-#**##if( $decoration.edit && $docRenderingContext.editable )
-#*  *##set ( $edit = ' <a href="' + $docRenderingContext.getDoxiaSourcePath( 
$decoration.edit ) + '"><img src="' + $relativePath + 
'/images/accessories-text-editor.png" alt="' + $text.get( "template.edit" )+ '" 
/></a>' )
+#**##if( $site.edit && $docRenderingContext.editable )
+#*  *##set( $edit = ' <a href="' + $docRenderingContext.getDoxiaSourcePath( 
$site.edit ) + '"><img src="' + $relativePath + 
'/images/accessories-text-editor.png" alt="' + $text.get( "template.edit" ) + 
'" /></a>' )
 #**##end
-#**##if ( $shortTitle )
-    <li class="active $cssClass">$esc.xml( $shortTitle )$!edit</li>
+#**##if( $shortTitle )
+    <li class="active#if( $cssClass ) $cssClass#end">$esc.xml( $shortTitle 
)$!edit</li>
 #**##else
 #* TODO $title can be empty! *#
-    <li class="active $cssClass">$esc.xml( $title )$!edit</li>
+    <li class="active#if( $cssClass ) $cssClass#end">$esc.xml( $title 
)$!edit</li>
 #**##end
 #end
 ##
-#macro ( displayTree $display $item )
-#**##if ( $item && $item.items && $item.items.size() > 0 )
-#*  *##foreach( $subitem in $item.items )
-#*    *##set ( $subitemHref = $PathTool.calculateLink( $subitem.href, 
$relativePath ) )
-#*    *##set ( $subitemHref = $subitemHref.replaceAll( '\\', '/' ) )
+#macro( displayTree $item $display )
+#**##if( $item.items && $item.items.size() > 0 )
+#*  *##foreach( $subItem in $item.items )
+#*    *##set( $subItemHref = $PathTool.calculateLink( $subItem.href, 
$relativePath ) )
+#*    *##set( $subItemHref = $subItemHref.replaceAll( '\\', '/' ) )
 ##
-#*    *##if ( $alignedFileName == $subitemHref )
-#*      *##set ( $display = true )
+#*    *##if( $alignedFileName == $subItemHref )
+#*      *##set( $display = true )
 #*    *##end
 ##
-#*    *##displayTree( $display $subitem )
+#*    *##displayTree( $subItem $display )
 #*  *##end
 #**##end
 #end
 ##
-#macro ( menuItem $item $indent )
-#**##set ( $collapseClass = "none" )
-#**##set ( $currentItemHref = $PathTool.calculateLink( $item.href, 
$relativePath ) )
-#**##set ( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
+#macro( menuItem $item $indent )
+#**##set( $collapseClass = false )
+#**##set( $currentItemHref = $PathTool.calculateLink( $item.href, 
$relativePath ) )
+#**##set( $currentItemHref = $currentItemHref.replaceAll( '\\', '/' ) )
 ##
-#**##if ( $item && $item.items && $item.items.size() > 0 )
-#*  *##if ( $item.collapse == false )
-#*    *##set ( $collapseClass = "icon-chevron-down" )
+#**##if( $item.items && $item.items.size() > 0 )
+#*  *##if( $item.collapse == false )
+#*    *##set( $collapseClass = "icon-chevron-down" )
 #*  *##else
 #*    *### By default collapsed
-#*    *##set ( $collapseClass = "icon-chevron-right" )
+#*    *##set( $collapseClass = "icon-chevron-right" )
 #*  *##end
 ##
-#*  *##set ( $display = false )
-#*  *##displayTree( $display $item )
+#*  *##set( $display = false )
+#*  *##displayTree( $item $display )
 ##
-#*  *##if ( $alignedFileName == $currentItemHref || $display )
-#*    *##set ( $collapseClass = "icon-chevron-down" )
+#*  *##if( $alignedFileName == $currentItemHref || $display )
+#*    *##set( $collapseClass = "icon-chevron-down" )
 #*  *##end
 #**##end
 ##
-#**##if ( $alignedFileName == $currentItemHref )
+#**##if( $alignedFileName == $currentItemHref )
 $indent    <li class="active">##
 #**##else
 $indent    <li>##
 #**##end
 ##
-#**##if ( $item.img )
-#*  *##if ( $item.position == "left" )
-#*    *##if ( $alignedFileName == $currentItemHref )
-#*      *#<a>#image( $item.img $item.alt $item.border $item.width $item.height 
) $esc.xml( $item.name )</a>##
-#*    *##else
-#*      *##link( $currentItemHref $item.name $item.target $item.img 
$item.position $item.alt $item.border $item.width $item.height false )
-#*    *##end
-#*  *##else
-#*    *##if ( $alignedFileName == $currentItemHref )
-#*      *#<a>$esc.xml( $item.name ) #image( $item.img $item.alt $item.border 
$item.width $item.height )</a>##
-#*    *##else
-#*      *##link( $currentItemHref $item.name $item.target $item.img 
$item.position $item.alt $item.border $item.width $item.height false )
-#*    *##end
-#*  *##end
-#**##else
-#*  *##if ( $alignedFileName == $currentItemHref )
-#*    *#<a><span class="$collapseClass"></span>$esc.xml( $item.name )</a>##
-#*  *##else
-#*    *##link( $currentItemHref $item.name $item.target $item.img 
$item.position $item.alt $item.border $item.width $item.height $collapseClass )
-#*  *##end
-#**##end
-#**##if ( $item && $item.items && $item.items.size() > 0 )
-#*  *##if ( $collapseClass == "icon-chevron-down" )
+#**##link( $item $collapseClass )
+#**##if( $item.items && $item.items.size() > 0 )
+#*  *##if( $collapseClass == "icon-chevron-down" )
 
 $indent     <ul class="nav nav-list">
-#*    *##foreach( $subitem in $item.items )
-#*      *##menuItem( $subitem "$indent  " )
+#*    *##foreach( $subItem in $item.items )
+#*      *##menuItem( $subItem "$indent  " )
 #*    *##end
 $indent     </ul>##
 #*  *##end
@@ -324,60 +247,13 @@ $indent     </ul>##
 #**#</li>
 #end
 ##
-#macro ( mainMenu $menus )
+#macro( mainMenu $menus )
   <ul class="nav nav-list">
 #**##foreach( $menu in $menus )
-#**##if ( $menu.name )
-#*  *##if ( $menu.img )
-#*    *##if( $menu.position )
-#*      *##set ( $position = $menu.position )
-#*    *##else
-#*      *##set ( $position = "left" )
-#*    *##end
-##
-#*    *##if ( !$decoration.isLink( $menu.img ) )
-#*      *##set ( $src = $PathTool.calculateLink( $menu.img, $relativePath ) )
-#*      *##set ( $src = $src.replaceAll( '\\', '/' ) )
-#*      *##set ( $src = ' src="' + $src + '"' )
-#*    *##else
-#*      *##set ( $src = ' src="' + $menu.img + '"' )
-#*    *##end
-##
-#*    *##if( $menu.alt )
-#*      *##set ( $alt = ' alt="' + $esc.xml( $menu.alt ) + '"' )
-#*    *##else
-#*      *##set ( $alt = ' alt="' + $esc.xml( $menu.name ) + '"' )
-#*    *##end
-##
-#*    *##if( $menu.border )
-#*      *##set ( $border = 'border: ' + $menu.border + '; ' )
-#*    *##else
-#*      *##set ( $border = 'border: 0;' )
-#*    *##end
-##
-#*    *##if( $menu.width )
-#*      *##set ( $width = 'width: ' + $menu.width + '; ' )
-#*    *##else
-#*      *##set ( $width = "" )
-#*    *##end
-#*    *##if( $menu.height )
-#*      *##set ( $height = 'height: ' + $menu.height + ';' )
-#*    *##else
-#*      *##set ( $height = "" )
-#*    *##end
-##
-#*    *##set ( $img = '<img class="imageLink"' + $src + $alt + ' style="' + 
$border + $width + $height + '" />' )
-##
-#*    *##if ( $position == "left" )
-   <li class="nav-header">$img $esc.xml( $menu.name )</li>
-#*    *##else
-   <li class="nav-header">$esc.xml( $menu.name ) $img</li>
-#*    *##end
-#*  *##else
-   <li class="nav-header">$esc.xml( $menu.name )</li>
-#*  *##end
+#**##if( $menu.name )
+   <li class="nav-header">#link( $menu false false false )</li>
 #**##end
-#**##if ( $menu.items && $menu.items.size() > 0 )
+#**##if( $menu.items && $menu.items.size() > 0 )
 #*  *##foreach( $item in $menu.items )
 #*    *##menuItem( $item '' )
 #*  *##end
@@ -386,180 +262,136 @@ $indent     </ul>##
   </ul>
 #end
 ##
-#macro ( copyright )
-#**##if ( $project )
-#*  *##set ( $currentYear = ${date.year} )
+#macro( copyright )
+#**##if( $project )
+#*  *##set( $currentYear = ${date.year} )
 ##
-#*  *##if ( ${project.inceptionYear} && ( ${project.inceptionYear} != 
${currentYear.toString()} ) )
+#*  *##if( ${project.inceptionYear} && ( ${project.inceptionYear} != 
${currentYear.toString()} ) )
       ${project.inceptionYear}$esc.unicode( '\u2013' )${currentYear}
 #*  *##else
       ${currentYear}
 #*  *##end
 ##
-#*  *##if ( ${project.organization} )
-#*    *##if ( ${project.organization.name} && ${project.organization.url} )
+#*  *##if( ${project.organization} )
+#*    *##if( ${project.organization.name} && ${project.organization.url} )
 #*      *#<a href="$project.organization.url">$esc.xml( 
${project.organization.name} )</a>
-#*    *##elseif ( ${project.organization.name} )
+#*    *##elseif( ${project.organization.name} )
 #*      *#$esc.xml( ${project.organization.name} )
 #*    *##end
 #*  *##end
 #**##end
 #end
 ##
-#macro ( publishDate $position $decorationPublishDate $version )
-#**##if ( $publishDate )
-#*  *##set ( $dateValue = $date.format( $publishDate ) )
+#macro( publishDate $position $sitePublishDate $version )
+#**##if( $publishDate )
+#*  *##set( $dateValue = $date.format( $publishDate ) )
 #**##else
-#*  *##set ( $dateValue = $date )
+#*  *##set( $dateValue = $date )
 #**##end
 ##
-#**##set ( $datePosition = $decorationPublishDate.position )
-#**##set ( $versionPosition = $version.position )
+#**##set( $datePosition = $sitePublishDate.position )
+#**##set( $versionPosition = $version.position )
 ##
-#**##set ( $breadcrumbs = $decoration.body.breadcrumbs )
-#**##set ( $links = $decoration.body.links )
+#**##set( $breadcrumbs = $site.body.breadcrumbs )
+#**##set( $links = $site.body.links )
 ##
-#**##if ( $datePosition.equalsIgnoreCase( "right" ) && ( 
$versionPosition.equalsIgnoreCase( "right" ) || !$topBarEnabled
-                                                                               
                          && $decoration.body.links
-                                                                               
                          && $decoration.body.links.size() > 0 ) )
-#*  *##set ( $prefix = '<span class="divider">|</span> ' )
+#**##if( $datePosition.equalsIgnoreCase( "right" ) && ( 
$versionPosition.equalsIgnoreCase( "right" ) || !$topBarEnabled
+                                                                               
                          && $site.body.links
+                                                                               
                          && $site.body.links.size() > 0 ) )
+#*  *##set( $prefix = '<span class="divider">|</span> ' )
 #**##else
-#*  *##set ( $prefix = "" )
+#*  *##set( $prefix = "" )
 #**##end
 ##
-#**##if ( $datePosition.equalsIgnoreCase( $position ) )
-#*  *##if ( ( $datePosition.equalsIgnoreCase( "right" ) ) || ( 
$datePosition.equalsIgnoreCase( "bottom" ) ) )
+#**##if( $datePosition.equalsIgnoreCase( $position ) )
+#*  *##if( $datePosition.equalsIgnoreCase( "right" ) || 
$datePosition.equalsIgnoreCase( "bottom" ) )
+## FIXME In some languages like French a space must preceed the colon
         <li id="publishDate" class="pull-right">$prefix$text.get( 
"template.lastpublished" ): $dateValue</li>
-#*    *##if ( $versionPosition.equalsIgnoreCase( $position ) )
+#*    *##if( $versionPosition.equalsIgnoreCase( $position ) )
           <li id="projectVersion" class="pull-right">##
-#*      *##if ( !$topBarEnabled
-              && $decoration.body.links
-              && $decoration.body.links.size() > 0 )
+#*      *##if( !$topBarEnabled
+              && $site.body.links
+              && $site.body.links.size() > 0 )
 #*        *#<span class="divider">|</span>##
 #*      *##end
+## FIXME In some languages like French a space must preceed the colon
 #*      *#$text.get( "template.version" ): ${project.version}##
 #*      *#</li>
 #*    *##end
-#*  *##elseif ( ( $datePosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( 
$datePosition.equalsIgnoreCase( "navigation-top" ) ) )
+#*  *##elseif( $datePosition.equalsIgnoreCase( "navigation-bottom" ) || 
$datePosition.equalsIgnoreCase( "navigation-top" ) )
       <div id="lastPublished">
+## FIXME In some languages like French a space must preceed the colon
         <span id="publishDate">$text.get( "template.lastpublished" ): 
$dateValue</span>
-#*    *##if ( $versionPosition.equalsIgnoreCase( $position ) )
+#*    *##if( $versionPosition.equalsIgnoreCase( $position ) )
+## FIXME In some languages like French a space must preceed the colon
         <span class="divider">|</span> <span id="projectVersion">$text.get( 
"template.version" ): ${project.version}</span>
 #*    *##end
       </div>
-#*  *##elseif ( $datePosition.equalsIgnoreCase("left") )
+#*  *##elseif( $datePosition.equalsIgnoreCase("left") )
+## FIXME In some languages like French a space must preceed the colon
         <li id="publishDate">$text.get( "template.lastpublished" ): 
$dateValue##
-#*    *##if ( $versionPosition.equalsIgnoreCase( $position ) || $breadcrumbs 
&& $breadcrumbs.size() > 0 )
+#*    *##if( $versionPosition.equalsIgnoreCase( $position ) || $breadcrumbs && 
$breadcrumbs.size() > 0 )
 #*      *#<span class="divider">|</span>
 #*    *##end
 #*    *#</li>
-#*    *##if ( $versionPosition.equalsIgnoreCase( $position ) )
+#*    *##if( $versionPosition.equalsIgnoreCase( $position ) )
+## FIXME In some languages like French a space must preceed the colon
           <li id="projectVersion">$text.get( "template.version" ): 
${project.version}##
-#*      *##if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+#*      *##if( $breadcrumbs && $breadcrumbs.size() > 0 )
 #*        *#<span class="divider">|</span>##
 #*      *##end
 #*      *#</li>
 #*    *##end
-#*    *##if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+#*    *##if( $breadcrumbs && $breadcrumbs.size() > 0 )
 #*      *##breadcrumbs( $breadcrumbs "" )
 #*    *##end
 #*  *##end
-#**##elseif ( $versionPosition.equalsIgnoreCase( $position ) )
-#*  *##if ( $versionPosition.equalsIgnoreCase( "right" ) )
+#**##elseif( $versionPosition.equalsIgnoreCase( $position ) )
+#*  *##if( $versionPosition.equalsIgnoreCase( "right" ) )
+## FIXME In some languages like French a space must preceed the colon
       <li id="projectVersion" class="pull-right">$prefix$text.get( 
"template.version" ): ${project.version}</li>
-#*  *##elseif ( $versionPosition.equalsIgnoreCase( "bottom" ) )
+#*  *##elseif( $versionPosition.equalsIgnoreCase( "bottom" ) )
+## FIXME In some languages like French a space must preceed the colon
       <span id="projectVersion">$text.get( "template.version" ): 
${project.version}</span>
-#*  *##elseif ( ( $versionPosition.equalsIgnoreCase( "navigation-bottom" ) ) 
|| ( $versionPosition.equalsIgnoreCase( "navigation-top" ) ) )
+#*  *##elseif( $versionPosition.equalsIgnoreCase( "navigation-bottom" ) || 
$versionPosition.equalsIgnoreCase( "navigation-top" ) )
       <div id="lastPublished">
+## FIXME In some languages like French a space must preceed the colon
         <span id="projectVersion">$text.get( "template.version" ): 
${project.version}</span>
       </div>
-#*  *##elseif ( $versionPosition.equalsIgnoreCase("left") )
+#*  *##elseif( $versionPosition.equalsIgnoreCase("left") )
+## FIXME In some languages like French a space must preceed the colon
         <li id="projectVersion">$text.get( "template.version" ): 
${project.version}##
-#*      *##if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+#*      *##if( $breadcrumbs && $breadcrumbs.size() > 0 )
 #*        *#<span class="divider">|</span>##
 #*      *##end
 #*    *#</li>
-#*    *##if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+#*    *##if( $breadcrumbs && $breadcrumbs.size() > 0 )
 #*      *##breadcrumbs( $breadcrumbs "")
 #*    *##end
 #*  *##end
-#**##elseif ( $position.equalsIgnoreCase( "left" ) )
-#*  *##if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+#**##elseif( $position.equalsIgnoreCase( "left" ) )
+#*  *##if( $breadcrumbs && $breadcrumbs.size() > 0 )
 #*    *##breadcrumbs( $breadcrumbs "" )
 #*  *##end
 #**##end
 #end
 ##
-#macro ( builtByLogo $poweredBy )
+#macro( builtByLogo $poweredBy )
 #**##if( $poweredBy )
-#**##foreach ( $item in $poweredBy )
-#*  *##if( $item.href )
-#*    *##set ( $href = $PathTool.calculateLink( $item.href, $relativePath ) )
-#*    *##set ( $href = $href.replaceAll( '\\', '/' ) )
-#*  *##else
-#*    *##set ( $href="https://maven.apache.org/"; )
-#*  *##end
-##
-#*  *##if( $item.name )
-#*    *##set ( $name = $item.name )
-#*  *##else
-#*    *##set ( $name = $text.get( "template.builtby" )  )
-#*    *##set ( $name = "${name} Maven"  )
-#*  *##end
-##
-#*  *##if( $item.img )
-#*    *##set ( $img = $item.img )
-#*  *##else
-#*    *##set ( $img = "images/logos/maven-feather.png" )
-#*  *##end
-##
-#*  *##if ( !$decoration.isLink( $img ) )
-#*    *##set ( $img = $PathTool.calculateLink( $img, $relativePath ) )
-#*    *##set ( $img = $img.replaceAll( '\\', '/' ) )
-#*  *##end
-##
-#*  *##if( $item.alt )
-#*    *##set ( $alt = ' alt="' + $esc.xml( $item.alt ) + '"' )
-#*  *##else
-#*    *##set ( $alt = ' alt="' + $esc.xml( $name ) + '"' )
-#*  *##end
-##
-#*  *##if( $item.border )
-#*    *##set ( $border = 'border: ' + $item.border + '; ' )
-#*  *##else
-#*    *##set ( $border = "" )
-#*  *##end
-##
-#*  *##if( $item.width )
-#*    *##set ( $width = 'width: ' + $item.width + '; ' )
-#*  *##else
-#*    *##set ( $width = "" )
-#*  *##end
-#*  *##if( $item.height )
-#*    *##set ( $height = 'height: ' + $item.height + ';' )
-#*  *##else
-#*    *##set ( $height = "" )
-#*  *##end
-##
-#*  *#<a href="$href" title="$esc.xml( $name )" class="builtBy">##
-#*    *#<img class="builtBy" $alt src="$img" style="$border$width$height" />##
-#*  *#</a>
-#**##end
-#**##if( $poweredBy.isEmpty() )
-#*  *#<a href="https://maven.apache.org/"; title="$text.get( "template.builtby" 
) Maven" class="poweredBy">##
-#*    *#<img class="builtBy" alt="$text.get( "template.builtby" ) Maven" 
src="$relativePath/images/logos/maven-feather.png" />##
-#*  *#</a>
+#**##foreach( $item in $poweredBy )
+#*  *##link( $item false false "span" false "builtBy" "builtBy" )
+
 #**##end
 #**##else
-#**#<a href="https://maven.apache.org/"; title="$text.get( "template.builtby" ) 
Maven" class="poweredBy">##
+#**#<a href="https://maven.apache.org/"; class="builtBy" target="_blank">##
 #*  *#<img class="builtBy" alt="$text.get( "template.builtby" ) Maven" 
src="$relativePath/images/logos/maven-feather.png" />##
 #**#</a>
 #**##end
 #end
 ##
-#macro ( googleAnalytics )
-#set ( $accountId = $decoration.getCustomValue( 
'fluidoSkin.googleAnalytics.accountId' ) )
-#**##if( $accountId && $accountId != "" )
+#macro( googleAnalytics )
+#set( $accountId = $site.getCustomValue( 
'fluidoSkin.googleAnalytics.accountId' ) )
+#**##if( $accountId && $accountId.length() > 0 )
     <!-- Google Analytics -->
     <script>
       
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
@@ -568,25 +400,24 @@ $indent     </ul>##
       
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
       ga('create', '$accountId', 'auto');
       ga('send', 'pageview');
-#**##if( $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.googleAnalytics.anonymizeIp', 'true' ) ) )
+#**##if( $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.googleAnalytics.anonymizeIp', 'true' ) ) )
       ga('set', 'anonymizeIp', true);
 #**##end
-#**##if( $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.googleAnalytics.forceSSL', 'true' ) ) )
+#**##if( $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.googleAnalytics.forceSSL', 'true' ) ) )
       ga('set', 'forceSSL', true);
 #**##end
     </script>
 #**##end
 #end
 
-#macro ( matomo )
-#**##if (  $decoration.getCustomValue( 'matomo.url' ) && 
$decoration.getCustomValue( 'matomo.url' ) != ''
-&& $decoration.getCustomValue( 'matomo.siteId' ) && 
$decoration.getCustomValue( 'matomo.siteId' ) != '')
-
+#macro( matomo )
+#**##if( $site.getCustomValue( 'matomo.url' ) && $site.getCustomValue( 
'matomo.url' ).length() > 0
+          && $site.getCustomValue( 'matomo.siteId' ) && $site.getCustomValue( 
'matomo.siteId' ).length() > 0 )
     <!-- Matomo -->
     <script>
         var _paq = window._paq = window._paq || [];
-#*    *##foreach( $option in $decoration.getCustomChild( 'matomo.options' 
).getChildren() )
-#*      *##if( $option.value && $option.value != "" )
+#*    *##foreach( $option in $site.getCustomChild( 'matomo.options' 
).getChildren() )
+#*      *##if( $option.value && $option.value.length() > 0 )
         _paq.push(['$option.name', '$option.value']);
 #*      *##else
         _paq.push(['$option.name']);
@@ -594,9 +425,9 @@ $indent     </ul>##
 #*    *##end
 
         (function() {
-            var u="$decoration.getCustomValue( 'matomo.url' )";
+            var u="$site.getCustomValue( 'matomo.url' )";
             _paq.push(['setTrackerUrl', u+'/matomo.php']);
-            _paq.push(['setSiteId', '$decoration.getCustomValue( 
'matomo.siteId' )']);
+            _paq.push(['setSiteId', '$site.getCustomValue( 'matomo.siteId' 
)']);
             var d=document, g=d.createElement('script'), 
s=d.getElementsByTagName('script')[0];
             g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s);
         })();
@@ -606,102 +437,102 @@ $indent     </ul>##
 #end
 
 ##
-#macro ( googleSearch $top )
-<form id="search-form" action="https://www.google.com/search"; method="get" #if 
( $top ) class="navbar-search pull-right" #end>
-#**##if( $decoration.getCustomChild( 'fluidoSkin.googleSearch.sitesearch' ) )
-#*  *##set( $sitesearchValue = $decoration.getCustomValue( 
'fluidoSkin.googleSearch.sitesearch' ) )
+#macro( googleSearch $top )
+<form id="search-form" action="https://www.google.com/search"; method="get" 
#if( $top ) class="navbar-search pull-right"#end>
+#**##if( $site.getCustomChild( 'fluidoSkin.googleSearch.sitesearch' ) )
+#*  *##set( $sitesearchValue = $site.getCustomValue( 
'fluidoSkin.googleSearch.sitesearch' ) )
 #**##else
-#*  *##set( $startIndex = $project.url.indexOf("://") + 3 )
+#*  *##set( $startIndex = $project.url.indexOf( '://' ) + 3 )
 #*  *##set( $sitesearchValue = $project.url.substring( $startIndex, 
$project.url.length() ) )
 #**##end
-  <input value="$sitesearchValue" name="sitesearch" type="hidden"/>
+  <input value="$sitesearchValue" name="sitesearch" type="hidden" />
   <input class="search-query" name="q" id="query" type="text" 
placeholder="Search with Google..." />
 </form>
 #end
 ##
-#macro ( forkMeOnGitHubHead )
+#macro( forkMeOnGitHubHead )
 ##
-#*  *##set ( $ribbonColor = 'red' )
-#*  *##set ( $definedRibbonColor = $decoration.getCustomChild( 
'fluidoSkin.gitHub.ribbonColor' ) )
+#*  *##set( $ribbonColor = "red" )
+#*  *##set( $definedRibbonColor = $site.getCustomChild( 
'fluidoSkin.gitHub.ribbonColor' ) )
 ##
-#*  *##if ( $definedRibbonColor
+#*  *##if( $definedRibbonColor
             && ($definedRibbonColor.getValue().equalsIgnoreCase( "green" )
             || $definedRibbonColor.getValue().equalsIgnoreCase( "black" )
             || $definedRibbonColor.getValue().equalsIgnoreCase( "orange" )
             || $definedRibbonColor.getValue().equalsIgnoreCase( "gray" ) ) )
-#*    *##set ( $ribbonColor = $definedRibbonColor.getValue().toLowerCase() )
+#*    *##set( $ribbonColor = $definedRibbonColor.getValue().toLowerCase() )
     <style>.github-fork-ribbon:before { background-color: $ribbonColor; 
}</style>
 #*  *##end
 #end
 ##
-#macro ( forkMeOnGitHub )
-#**##if ( $decoration.getCustomChild( 'fluidoSkin.gitHub.projectId' ) )
+#macro( forkMeOnGitHub )
+#**##if( $site.getCustomChild( 'fluidoSkin.gitHub.projectId' ) )
 ##
-#*  *##set ( $gitHubProjectId = $decoration.getCustomValue( 
'fluidoSkin.gitHub.projectId' ) )
+#*  *##set( $gitHubProjectId = $site.getCustomValue( 
'fluidoSkin.gitHub.projectId' ) )
 ##
-#*  *##set ( $ribbonOrientation = 'left-top' )
-#*  *##if ( $decoration.getCustomValue( 'fluidoSkin.gitHub.ribbonOrientation', 
'' ).equalsIgnoreCase( 'right' )
-            || $decoration.getCustomValue( 
'fluidoSkin.gitHub.ribbonOrientation', '' ).equalsIgnoreCase( 'right-top' ) )
-#*    *##set ( $ribbonOrientation = 'right-top' )
+#*  *##set( $ribbonOrientation = "left-top" )
+#*  *##if( $site.getCustomValue( 'fluidoSkin.gitHub.ribbonOrientation', '' 
).equalsIgnoreCase( 'right' )
+            || $site.getCustomValue( 'fluidoSkin.gitHub.ribbonOrientation', '' 
).equalsIgnoreCase( 'right-top' ) )
+#*    *##set( $ribbonOrientation = "right-top" )
 #*  *##end
-#*  *##if ( $decoration.getCustomValue( 'fluidoSkin.gitHub.ribbonOrientation', 
'' ).equalsIgnoreCase( 'left' )
-            || $decoration.getCustomValue( 
'fluidoSkin.gitHub.ribbonOrientation', '' ).equalsIgnoreCase( 'left-top' ) )
-#*    *##set ( $ribbonOrientation = 'left-top' )
+#*  *##if( $site.getCustomValue( 'fluidoSkin.gitHub.ribbonOrientation', '' 
).equalsIgnoreCase( 'left' )
+            || $site.getCustomValue( 'fluidoSkin.gitHub.ribbonOrientation', '' 
).equalsIgnoreCase( 'left-top' ) )
+#*    *##set( $ribbonOrientation = "left-top" )
 #*  *##end
-#*  *##if ( $decoration.getCustomValue( 'fluidoSkin.gitHub.ribbonOrientation', 
'' ).equalsIgnoreCase( 'right-bottom' )
-            || $decoration.getCustomValue( 
'fluidoSkin.gitHub.ribbonOrientation', '' ).equalsIgnoreCase( 'left-bottom' ) )
-#*    *##set ( $ribbonOrientation = "$decoration.getCustomValue( 
'fluidoSkin.gitHub.ribbonOrientation' ) fixed" )
+#*  *##if( $site.getCustomValue( 'fluidoSkin.gitHub.ribbonOrientation', '' 
).equalsIgnoreCase( 'right-bottom' )
+            || $site.getCustomValue( 'fluidoSkin.gitHub.ribbonOrientation', '' 
).equalsIgnoreCase( 'left-bottom' ) )
+#*    *##set( $ribbonOrientation = "$site.getCustomValue( 
'fluidoSkin.gitHub.ribbonOrientation' ) fixed" )
 #*  *##end
 ##
-    <a class="github-fork-ribbon $ribbonOrientation" 
href="https://github.com/$gitHubProjectId"; data-ribbon="Fork me on GitHub" 
title="Fork me on GitHub">Fork me on GitHub</a>
+    <a class="github-fork-ribbon $ribbonOrientation" 
href="https://github.com/$gitHubProjectId"; data-ribbon="Fork me on GitHub">Fork 
me on GitHub</a>
 #**##end
 #end
 ##
 ## activate profile background image if custom.fluidoSkin.profile value set to 
"retired", "pre-release" or "sandbox"
-#macro ( prjProfile )
-#**##set ( $profile = $decoration.getCustomValue( 'fluidoSkin.profile', '' ) )
-#**##if ( $profile.equalsIgnoreCase( "retired" )
+#macro( prjProfile )
+#**##set( $profile = $site.getCustomValue( 'fluidoSkin.profile', '' ) )
+#**##if( $profile.equalsIgnoreCase( "retired" )
           || $profile.equalsIgnoreCase( "pre-release" )
           || $profile.equalsIgnoreCase( "sandbox" ) )
       <style type="text/css">body{background-image: 
url('$relativePath/images/profiles/${profile}.png');}</style>
 #**##end
 #end
 ##
-#macro ( facebookLoadSDK )
-#**##if ( $decoration.getCustomChild( 'fluidoSkin.facebookLike' ) && 
$project.url )
+#macro( facebookLoadSDK )
+#**##if( $site.getCustomChild( 'fluidoSkin.facebookLike' ) && $project.url )
     <!-- Load Facebook SDK for JavaScript -->
     <div id="fb-root"></div>
-    <script async defer crossorigin="anonymous" 
src="https://connect.facebook.net/#if ( $locale.toString() 
)$locale#{else}en#end/sdk.js#xfbml=1&version=v6.0"></script>
+    <script async defer crossorigin="anonymous" 
src="https://connect.facebook.net/#if( $locale.toString() 
)$locale#{else}en#end/sdk.js#xfbml=1&version=v6.0"></script>
 #**##end
 #end
 ##
-#macro ( facebookLike $sideBarEnabled )
-#**##if ( $decoration.getCustomChild( 'fluidoSkin.facebookLike' ) && 
$project.url )
+#macro( facebookLike $sideBarEnabled )
+#**##if( $site.getCustomChild( 'fluidoSkin.facebookLike' ) && $project.url )
 ##
-#*  *##set( $layout = 'box_count' )
+#*  *##set( $layout = "box_count" )
 #*  *##if( !$sideBarEnabled )
-#*    *##set( $layout = 'button_count' )
+#*    *##set( $layout = "button_count" )
 #*  *##end
-#*  *##set( $layout = $decoration.getCustomValue( 
'fluidoSkin.facebookLike.layout', $layout ) )
+#*  *##set( $layout = $site.getCustomValue( 'fluidoSkin.facebookLike.layout', 
$layout ) )
 ##
-#*  *##set( $action = 'like' )
-#*  *##if ( $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.facebookLike.recommend', 'false' ) ) )
-#*    *##set( $action = 'recommend' )
+#*  *##set( $action = "like" )
+#*  *##if( $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.facebookLike.recommend', 'false' ) ) )
+#*    *##set( $action = "recommend" )
 #*  *##end
 ##
-#*  *##set( $shareButton = $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.facebookLike.shareButton', 'false' ) ) )
+#*  *##set( $shareButton = $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.facebookLike.shareButton', 'false' ) ) )
 ##
     <div class="fb-like#if( !$sideBarEnabled ) pull-right#end" 
style="border:none; margin-top: 10px" data-href="$project.url" 
data-layout="$layout" data-show-faces="false" data-action="$action" 
data-share="$shareButton"></div>
 #**##end
 #end
 ##
-#macro ( followTwitter $sideBarEnabled )
-#**##if ( $decoration.getCustomChild( 'fluidoSkin.twitter.user' ) )
-#*  *##set( $user = $decoration.getCustomValue( 'fluidoSkin.twitter.user' ) )
-#*  *##set( $showUser = $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.twitter.showUser', 'false' ) ) )
-#*  *##set( $showFollowers = $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.twitter.showFollowers', 'false' ) ) )
+#macro( followTwitter $sideBarEnabled )
+#**##if( $site.getCustomChild( 'fluidoSkin.twitter.user' ) )
+#*  *##set( $user = $site.getCustomValue( 'fluidoSkin.twitter.user' ) )
+#*  *##set( $showUser = $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.twitter.showUser', 'false' ) ) )
+#*  *##set( $showFollowers = $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.twitter.showFollowers', 'false' ) ) )
 ##
-#*  *##if ( $sideBarEnabled )
+#*  *##if( $sideBarEnabled )
 #*    *##set( $dataSize = "medium" )
 #*    *##set( $dataAlign = "left" )
     <div id="twitter" style="border:none; margin-top: 10px">
@@ -711,10 +542,10 @@ $indent     </ul>##
     <ul class="nav pull-right" style="border:none; margin-top: 7px"><li>
 #*  *##end
 ##
-    <a href="https://twitter.com/${user}"; class="twitter-follow-button" 
data-show-count="${showFollowers}" data-align="${dataAlign}" 
data-size="${dataSize}" data-show-screen-name="${showUser}" data-lang="#if ( 
$locale.toString() )$locale#{else}en#end" data-dnt="true" >Follow ${user}</a>
+    <a href="https://twitter.com/${user}"; class="twitter-follow-button" 
data-show-count="${showFollowers}" data-align="${dataAlign}" 
data-size="${dataSize}" data-show-screen-name="${showUser}" data-lang="#if( 
$locale.toString() )$locale#{else}en#end" data-dnt="true" >Follow ${user}</a>
     <script async src="https://platform.twitter.com/widgets.js"; 
charset="utf-8"></script>
 ##
-#*  *##if ( $sideBarEnabled )
+#*  *##if( $sideBarEnabled )
     </div>
 #*  *##else
     </li></ul>
@@ -722,33 +553,32 @@ $indent     </ul>##
 #**##end
 #end
 ##
-#macro ( flattrHead )
-#**##if ( $decoration.getCustomChild( 'fluidoSkin.flattr.thing' )
-          && ( $decoration.getCustomChild( 'fluidoSkin.flattr.url' ) || 
$project.url ) )
+#macro( flattrHead )
+#**##if( $site.getCustomChild( 'fluidoSkin.flattr.thing' )
+          && ( $site.getCustomChild( 'fluidoSkin.flattr.url' ) || $project.url 
) )
     <script>
-    /* <![CDATA[ */
         (function() {
             var s = document.createElement('script'), t = 
document.getElementsByTagName('script')[0];
             s.async = true;
             s.src = 'https://api.flattr.com/js/0.6/load.js?mode=auto';
             t.parentNode.insertBefore(s, t);
         })();
-    /* ]]> */</script>
+    </script>
 #**##end
 #end
 ##
-#macro ( flattrBody $sideBarEnabled )
-#**##if ( $decoration.getCustomChild( 'fluidoSkin.flattr.thing' )
-          && ( $decoration.getCustomChild( 'fluidoSkin.flattr.url' ) || 
$project.url ) )
-#*  *##set ( $flattrThing = $decoration.getCustomValue( 
'fluidoSkin.flattr.thing' ) )
-#*  *##set ( $flattrUrl = $decoration.getCustomValue( 'fluidoSkin.flattr.url', 
$project.url ) )
+#macro( flattrBody $sideBarEnabled )
+#**##if( $site.getCustomChild( 'fluidoSkin.flattr.thing' )
+          && ( $site.getCustomChild( 'fluidoSkin.flattr.url' ) || $project.url 
) )
+#*  *##set( $flattrThing = $site.getCustomValue( 'fluidoSkin.flattr.thing' ) )
+#*  *##set( $flattrUrl = $site.getCustomValue( 'fluidoSkin.flattr.url', 
$project.url ) )
 ##
-#*  *##set ( $styleModifier = '' )
-#*  *##if ( $decoration.getCustomValue( 'fluidoSkin.flattr.style', '' 
).equalsIgnoreCase( 'compact' ) )
-#*    *##set ( $styleModifier = 'rev="flattr;button:compact;"' )
+#*  *##set( $styleModifier = "" )
+#*  *##if( $site.getCustomValue( 'fluidoSkin.flattr.style', '' 
).equalsIgnoreCase( 'compact' ) )
+#*    *##set( $styleModifier = 'rev="flattr;button:compact;"' )
 #*  *##end
 ##
-#*  *##if ( $sideBarEnabled )
+#*  *##if( $sideBarEnabled )
     <div id="flattr">
 #*  *##else
     <ul class="nav pull-right"><li>
@@ -756,9 +586,9 @@ $indent     </ul>##
 ##
     <a class="FlattrButton" style="display:none;" $styleModifier 
href="$flattrUrl"></a>
     <noscript><a href="https://flattr.com/thing/$flattrThing"; target="_blank">
-    <img src="https://api.flattr.com/button/flattr-badge-large.png"; 
alt="Flattr this" title="Flattr this" style="border: 0;" /></a></noscript>
+    <img src="https://api.flattr.com/button/flattr-badge-large.png"; 
alt="Flattr this" style="border: 0;" /></a></noscript>
 ##
-#*  *##if ( $sideBarEnabled )
+#*  *##if( $sideBarEnabled )
     </div>
 #*  *##else
     </li></ul>
diff --git a/src/main/resources/META-INF/maven/site.vm 
b/src/main/resources/META-INF/maven/site.vm
index f964a49..aef0d4a 100644
--- a/src/main/resources/META-INF/maven/site.vm
+++ b/src/main/resources/META-INF/maven/site.vm
@@ -17,14 +17,14 @@
 ## under the License.
 ##
 #parse( "site-macros.vm" )
-#set ( $skipGenerationDate = $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.skipGenerationDate', 'false' ) ) )
+#set( $skipGenerationDate = $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.skipGenerationDate', 'false' ) ) )
 <!--
  | Generated by #generatedBy()
 #if( $docRenderingContext && ( $docRenderingContext.generator || 
$docRenderingContext.doxiaSource ) ) from##
 #**##if( $docRenderingContext.generator ) $docRenderingContext.generator#end##
 #**##if( $docRenderingContext.doxiaSource ) 
$docRenderingContext.doxiaSourcePath#end##
 #end
-#if ( !$skipGenerationDate ) at $date#end
+#if( !$skipGenerationDate ) at $date#end
 
  | Rendered using Apache Maven Fluido Skin @project.version@
 -->
@@ -38,7 +38,7 @@
 #foreach( $author in $authors )
     <meta name="author" content="$esc.xml( $author )" />
 #end
-#if ( $documentDate )
+#if( $documentDate )
     <meta name="date" content="$documentDate" />
 #end
     <title>$esc.xml( $title )</title>
@@ -47,8 +47,8 @@
     <link rel="stylesheet" href="$relativePath/css/print.css" media="print" />
 #**##prjProfile()
     <script 
src="$relativePath/js/[email protected][email protected]"></script>
-#**##if( $decoration.body.head )
-#*  *#$render.eval( $decoration.body.head )
+#**##if( $site.body.head )
+#*  *#$render.eval( $site.body.head )
 #**##end
 #**##if( $headContent )$headContent#end
 #**##googleAnalytics()
@@ -56,8 +56,8 @@
 #**##flattrHead()
 #**##forkMeOnGitHubHead()
   </head>
-#**##set ( $topBarEnabled = $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.topBarEnabled', 'false' ) ) && ! $standalone )
-#**##if ( $topBarEnabled )
+#**##set( $topBarEnabled = $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.topBarEnabled', 'false' ) ) && !$standalone )
+#**##if( $topBarEnabled )
   <body class="topBarEnabled">
 #**##else
   <body>
@@ -65,15 +65,15 @@
 #**##forkMeOnGitHub()
 #**##facebookLoadSDK()
 ##
-#**##set ( $sideBarEnabled = $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.sideBarEnabled', 'true' ) ) && ! $standalone )
-#**##set ( $searchEnabled = $decoration.getCustomChild( 
'fluidoSkin.googleSearch' )
-             && ( $decoration.getCustomValue( 
'fluidoSkin.googleSearch.sitesearch' ) || $project.url ) )
+#**##set( $sideBarEnabled = $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.sideBarEnabled', 'true' ) ) && !$standalone )
+#**##set( $searchEnabled = $site.getCustomChild( 'fluidoSkin.googleSearch' )
+            && ( $site.getCustomValue( 'fluidoSkin.googleSearch.sitesearch' ) 
|| $project.url ) )
 ##
-#**##if ( $topBarEnabled )
-#*  *##set ( $navBarStyle = $decoration.getCustomValue( 
'fluidoSkin.navBarStyle', '' ) )
+#**##if( $topBarEnabled )
+#*  *##set( $navBarStyle = $site.getCustomValue( 'fluidoSkin.navBarStyle', '' 
) )
     <header id="topbar" class="navbar navbar-fixed-top $navBarStyle">
       <div class="navbar-inner">
-#*    *##if ( $sideBarEnabled )
+#*    *##if( $sideBarEnabled )
         <div class="container-fluid">
         <a data-target=".nav-collapse" data-toggle="collapse" class="btn 
btn-navbar">
           <span class="icon-bar"></span>
@@ -81,8 +81,8 @@
           <span class="icon-bar"></span>
         </a>
 #*    *##else
-#*      *##if ( $decoration.getCustomValue( 'fluidoSkin.topBarContainerStyle' 
) )
-            <div class="container" style="$decoration.getCustomValue( 
'fluidoSkin.topBarContainerStyle' )">
+#*      *##if( $site.getCustomValue( 'fluidoSkin.topBarContainerStyle' ) )
+            <div class="container" style="$site.getCustomValue( 
'fluidoSkin.topBarContainerStyle' )">
               <a data-target=".nav-collapse" data-toggle="collapse" class="btn 
btn-navbar">
                   <span class="icon-bar"></span>
                   <span class="icon-bar"></span>
@@ -99,30 +99,30 @@
           <nav class="nav-collapse">
 #*      *##end
 #*    *##end
-#*    *##if ( $decoration.getCustomChild( 'fluidoSkin.topBarIcon' ) )
-#*      *##set ( $topBarIcon = $decoration.getCustomChild( 
'fluidoSkin.topBarIcon' ) )
+#*    *##if( $site.getCustomChild( 'fluidoSkin.topBarIcon' ) )
+#*      *##set( $topBarIcon = $site.getCustomChild( 'fluidoSkin.topBarIcon' ) )
 ##
-#*      *##if ( $topBarIcon.getChild( 'href' ) )
-#*        *##set ( $hrf = $topBarIcon.getChild( 'href' ).getValue() )
-#*        *##if ( !$decoration.isLink( $hrf ) )
-#*          *##set ( $hrf = $PathTool.calculateLink( $hrf, $relativePath ) )
-#*          *##set ( $hrf = $hrf.replaceAll( '\\', '/' ) )
-#*          *##if ( ( $hrf == '' ) )
-#*            *##set ( $hrf = './' )
+#*      *##if( $topBarIcon.getChild( 'href' ) )
+#*        *##set( $href = $topBarIcon.getChild( 'href' ).getValue() )
+#*        *##if( !$site.isLink( $href ) )
+#*          *##set( $href = $PathTool.calculateLink( $href, $relativePath ) )
+#*          *##set( $href = $href.replaceAll( '\\', '/' ) )
+#*          *##if( $href == "" )
+#*            *##set( $href = "./" )
 #*          *##end
 #*        *##end
-#*        *#<a class="brand" href="$hrf" #if( $topBarIcon.getChild( 'alt' ) ) 
title="$esc.xml( $topBarIcon.getChild( 'alt' ).getValue() )"#end>##
+#*        *#<a class="brand" href="$href">##
 ##
-#*        *##set ( $topBarIconName = $decoration.getCustomValue( 
'fluidoSkin.topBarIcon.name', $project.name ) )
+#*        *##set( $topBarIconName = $site.getCustomValue( 
'fluidoSkin.topBarIcon.name', $project.name ) )
 ##
 #*        *##if( $topBarIcon.getChild( 'src' ) )
-#*          *##set ( $src = $topBarIcon.getChild( 'src' ).getValue() )
-#*          *##if ( !$decoration.isLink( $src ) )
-#*            *##set ( $src = $PathTool.calculateLink( $src, $relativePath ) )
-#*            *##set ( $src = $src.replaceAll( '\\', '/' ) )
+#*          *##set( $src = $topBarIcon.getChild( 'src' ).getValue() )
+#*          *##if( !$site.isLink( $src ) )
+#*            *##set( $src = $PathTool.calculateLink( $src, $relativePath ) )
+#*            *##set( $src = $src.replaceAll( '\\', '/' ) )
 #*          *##end
-#*          *##set ( $alt = $decoration.getCustomValue( 
'fluidoSkin.topBarIcon.alt', $topBarIconName ) )
-#*          *#<img src="$src" #if( $alt ) alt="$esc.xml( $alt )"#end />
+#*          *##set( $alt = $site.getCustomValue( 'fluidoSkin.topBarIcon.alt', 
$topBarIconName ) )
+#*          *#<img src="$src" #if( $alt )alt="$esc.xml( $alt )"#end />
 #*        *##else
 #*          *#$esc.xml( $topBarIconName )
 #*        *##end
@@ -132,42 +132,42 @@
 #*    *##end
 ##
 ##      ## MSKINS-31
-#*      *##if( $decoration.body && $decoration.body.menus )
+#*      *##if( $site.body && $site.body.menus )
             <ul class="nav">
-#*          *##topMenu( $decoration.body.menus )
+#*          *##topMenu( $site.body.menus )
             </ul>
 #*      *##end
 ##
-#*      *##if ( !$sideBarEnabled )
+#*      *##if( !$sideBarEnabled )
           </nav>
           <div class="nav-collapse">
 #*      *##end
 ##
-#*      *##if ( $searchEnabled && !$sideBarEnabled )
+#*      *##if( $searchEnabled && !$sideBarEnabled )
 #*        *##googleSearch( true )
 #*      *##end
 ##
-#*      *##if ( !$sideBarEnabled )
+#*      *##if( !$sideBarEnabled )
 #*        *##facebookLike( $sideBarEnabled )
 #*        *##followTwitter( $sideBarEnabled )
 #*        *##flattrBody( $sideBarEnabled )
 #*      *##end
 ##
 ##        ## MSKINS-31
-#*      *##if( $decoration.body
-              && $decoration.body.links
-              && $decoration.body.links.size() > 0 )
+#*      *##if( $site.body
+              && $site.body.links
+              && $site.body.links.size() > 0 )
             <ul class="nav pull-right">
               <li class="dropdown">
                 <a class="dropdown-toggle" data-toggle="dropdown">$text.get( 
"template.externallinks" ) <b class="caret"></b></a>
                 <ul class="dropdown-menu">
-#*            *##topLinks( $decoration.body.links )
+#*            *##topLinks( $site.body.links )
                 </ul>
               </li>
             </ul>
 #*      *##end
 ##
-#*      *##if ( !$sideBarEnabled )
+#*      *##if( !$sideBarEnabled )
           </div>
 #*      *##end
 ##
@@ -176,26 +176,26 @@
     </header>
 #**##end
 ##
-#**##if ( $sideBarEnabled )
+#**##if( $sideBarEnabled )
     <div class="container-fluid container-fluid-top">
 #**##else
     <div class="container container-top">
 #**##end
       <header>
         <div id="banner">
-          <div class="pull-left">#banner( $decoration.bannerLeft "bannerLeft" 
)</div>
-          <div class="pull-right">#banner( $decoration.bannerRight 
"bannerRight" )</div>
+          <div class="pull-left">#banner( $site.bannerLeft "bannerLeft" )</div>
+          <div class="pull-right">#banner( $site.bannerRight "bannerRight" 
)</div>
           <div class="clear"><hr/></div>
         </div>
 
-#*    *##set ( $publishDateLeftContent = "#publishDate( 'left' 
$decoration.publishDate $decoration.version )" )
-#*    *##set ( $publishDateRightContent = "#publishDate( 'right' 
$decoration.publishDate $decoration.version )" )
+#*    *##set( $publishDateLeftContent = "#publishDate( 'left' 
$site.publishDate $site.version )" )
+#*    *##set( $publishDateRightContent = "#publishDate( 'right' 
$site.publishDate $site.version )" )
 #*    *### MSITE-44
-#*    *##if ( !$topBarEnabled )
-#*      *##set ( $linksContent = "#links( $decoration.body.links )" )
+#*    *##if( !$topBarEnabled )
+#*      *##set( $linksContent = "#links( $site.body.links )" )
 #*    *##end
-#*    *##if ( $publishDateLeftContent.length() > 0 || 
$publishDateRightContent.length() > 0 ||
-              ( $linksContent && $linksContent.length() > 0 ) )
+#*    *##if( $publishDateLeftContent.length() > 0 || 
$publishDateRightContent.length() > 0 ||
+             ( $linksContent && $linksContent.length() > 0 ) )
         <div id="breadcrumbs">
           <ul class="breadcrumb">
 #*        *#$publishDateLeftContent##
@@ -207,18 +207,18 @@
 #*    *##end
       </header>
 ##
-#*    *##if ( $sideBarEnabled )
-#*      *##set ( $leftColumnClass = $decoration.getCustomValue( 
'fluidoSkin.leftColumnClass', 'span2' ) )
+#*    *##if( $sideBarEnabled )
+#*      *##set( $leftColumnClass = $site.getCustomValue( 
'fluidoSkin.leftColumnClass', 'span2' ) )
 ##
       <div class="row-fluid">
         <header id="leftColumn" class="$leftColumnClass">
           <nav class="well sidebar-nav">
-#*      *##publishDate( "navigation-top" $decoration.publishDate 
$decoration.version )
-#*      *##mainMenu( $decoration.body.menus )
-#*      *##publishDate( "navigation-bottom" $decoration.publishDate 
$decoration.version )
+#*      *##publishDate( "navigation-top" $site.publishDate $site.version )
+#*      *##mainMenu( $site.body.menus )
+#*      *##publishDate( "navigation-bottom" $site.publishDate $site.version )
           </nav>
           <div class="well sidebar-nav">
-#*      *##if ( $searchEnabled )
+#*      *##if( $searchEnabled )
 #*        *##googleSearch( false )
 #*      *##end
             <div id="poweredBy">
@@ -228,52 +228,52 @@
               <div class="clear"></div>
 #*        *##flattrBody( $sideBarEnabled )
               <div class="clear"></div>
-#*        *##builtByLogo( $decoration.poweredBy )
+#*        *##builtByLogo( $site.poweredBy )
             </div>
           </div>
         </header>
 #*    *##end
 ##
-#*    *##set ( $bodyColumnClass = $decoration.getCustomValue( 
'fluidoSkin.bodyColumnClass', 'span10' ) )
+#*    *##set( $bodyColumnClass = $site.getCustomValue( 
'fluidoSkin.bodyColumnClass', 'span10' ) )
 ##
-        <main id="bodyColumn" #if ( $sideBarEnabled ) class="$bodyColumnClass" 
#end>
-#*      *##if ( $convert.toBoolean( $decoration.getCustomValue( 
'fluidoSkin.sourceLineNumbersEnabled', 'false' ) ) )
-#*        *##set ( $sourceStyle = "prettyprint linenums" )
+        <main id="bodyColumn"#if( $sideBarEnabled ) 
class="$bodyColumnClass"#end>
+#*      *##if( $convert.toBoolean( $site.getCustomValue( 
'fluidoSkin.sourceLineNumbersEnabled', 'false' ) ) )
+#*        *##set( $sourceStyle = "prettyprint linenums" )
 #*      *##else
-#*        *##set ( $sourceStyle = "prettyprint" )
+#*        *##set( $sourceStyle = "prettyprint" )
 #*      *##end
 ##
-#*      *#$bodyContent.replaceAll( "<div class=${esc.q}verbatim 
source${esc.q}>(\r?\n)?<pre>", "<div class=${esc.q}verbatim source${esc.q}><pre 
class=${esc.q}$sourceStyle${esc.q}>" ).replaceAll( 
"class=${esc.q}bodyTable${esc.q}", "class=${esc.q}table table-striped${esc.q}" 
).replaceAll( "class=${esc.q}bodyTable bodyTableBorder${esc.q}", 
"class=${esc.q}table table-bordered table-striped${esc.q}" )
+#*      *#$bodyContent.replaceAll( '<div class="verbatim 
source">(\r?\n)?<pre>', '<div class="verbatim source"><pre class="' + 
$sourceStyle + '">' ).replaceAll( 'class="bodyTable"', 'class="table 
table-striped"' ).replaceAll( 'class="bodyTable bodyTableBorder"', 
'class="table table-bordered table-striped"' )
         </main>
-#*    *##if ( $sideBarEnabled )
+#*    *##if( $sideBarEnabled )
       </div>
 #*    *##end
     </div>
     <hr/>
     <footer>
-#*  *##if ( $sideBarEnabled )
+#*  *##if( $sideBarEnabled )
       <div class="container-fluid">
 #*  *##else
       <div class="container">
 #*  *##end
-#*    *##if ( $sideBarEnabled )
+#*    *##if( $sideBarEnabled )
         <div class="row-fluid">
 #*    *##else
         <div class="row">
 #*    *##end
-#*    *##if ( $decoration.body.footer )
-#*      *#$render.eval( $decoration.body.footer )
+#*    *##if( $site.body.footer )
+#*      *#$render.eval( $site.body.footer )
 #*    *##else
-#*      *##if ( $decoration.getCustomChild( 'fluidoSkin.copyrightClass' ) )
-#*        *##set ( $copyrightClass = ' class="' + $decoration.getCustomValue( 
'fluidoSkin.copyrightClass' ) + '"' )
+#*      *##if( $site.getCustomChild( 'fluidoSkin.copyrightClass' ) )
+#*        *##set( $copyrightClass = ' class="' + $site.getCustomValue( 
'fluidoSkin.copyrightClass' ) + '"' )
 #*      *##end
-            <p$!copyrightClass>$esc.unicode( '\u00A9' 
)#copyright()#publishDate( "bottom" $decoration.publishDate $decoration.version 
)</p>
+            <p$!copyrightClass>$esc.unicode( '\u00A9' 
)#copyright()#publishDate( "bottom" $site.publishDate $site.version )</p>
 #*    *##end
         </div>
 ##
-#*    *##if ( !$sideBarEnabled )
+#*    *##if( !$sideBarEnabled )
         <p id="poweredBy" class="pull-right">##
-#*      *##builtByLogo( $decoration.poweredBy )
+#*      *##builtByLogo( $site.poweredBy )
 #*    *#</p>
 #*    *##end
       </div>
diff --git a/src/main/resources/META-INF/maven/skin.xml 
b/src/main/resources/META-INF/maven/skin.xml
index 7361c9a..f795867 100644
--- a/src/main/resources/META-INF/maven/skin.xml
+++ b/src/main/resources/META-INF/maven/skin.xml
@@ -19,9 +19,9 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<skin xmlns="http://maven.apache.org/SKIN/1.7.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://maven.apache.org/SKIN/1.7.0 
http://maven.apache.org/xsd/skin-1.7.0.xsd";>
+<skin xmlns="http://maven.apache.org/SKIN/2.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="http://maven.apache.org/SKIN/2.0.0 
http://maven.apache.org/xsd/skin-2.0.0.xsd";>
   <prerequisites>
-    <doxia-sitetools>2.0.0-M11</doxia-sitetools>
+    <doxia-sitetools>2.0.0-M12</doxia-sitetools>
   </prerequisites>
 </skin>

Reply via email to