You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kw...@apache.org on 2026/06/07 18:50:46 UTC

(maven-fluido-skin) 01/01: Only conditionally include anchor js and gh-ribbon css

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

kwin pushed a commit to branch feature/conditional-anchor-js
in repository https://gitbox.apache.org/repos/asf/maven-fluido-skin.git

commit f8439e9cb9aa0d6066f42f93b44bb6477a6a4c57
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Sun Jun 7 20:50:36 2026 +0200

    Only conditionally include anchor js and gh-ribbon css
    
    Minify separately
    Bump minimum doxia-sitetools requirement to 2.1.0
---
 pom.xml                                          | 42 ++++++++++++++++++++----
 src/main/resources/META-INF/maven/site-macros.vm |  1 +
 src/main/resources/META-INF/maven/skin.xml       | 16 +++++++--
 3 files changed, 49 insertions(+), 10 deletions(-)

diff --git a/pom.xml b/pom.xml
index 87e94ac..a88479b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -149,7 +149,9 @@ under the License.
         <directory>${project.build.directory}/${project.build.finalName}</directory>
         <includes>
           <include>css/apache-maven-fluido-${project.version}.min.css</include>
+          <include>css/gh-fork-ribbon.min.css</include>
           <include>js/apache-maven-fluido-${project.version}.min.js</include>
+          <include>js/anchor-${anchorjs.version}.min.js</include>
         </includes>
       </resource>
     </resources>
@@ -200,35 +202,61 @@ under the License.
             <version>3.6.1</version>
           </dependency>
         </dependencies>
+        <configuration>
+          <webappSourceDir>${basedir}/src/main/resources</webappSourceDir>
+          <cssSourceDir>css</cssSourceDir>
+          <jsSourceDir>js</jsSourceDir>
+          <jsEngine>CLOSURE</jsEngine>
+        </configuration>
         <executions>
           <execution>
-            <id>default-minify</id>
+            <id>minify-main-resources</id>
             <goals>
               <goal>minify</goal>
             </goals>
             <phase>generate-resources</phase>
             <configuration>
-              <webappSourceDir>${basedir}/src/main/resources</webappSourceDir>
-              <cssSourceDir>css</cssSourceDir>
               <cssSourceFiles>
                 <cssSourceFile>bootstrap-${bootstrap.version}.css</cssSourceFile>
                 <cssSourceFile>bootstrap-${bootstrap.version}-responsive.css</cssSourceFile>
                 <cssSourceFile>maven-base.css</cssSourceFile>
                 <cssSourceFile>maven-theme.css</cssSourceFile>
                 <cssSourceFile>prettify.css</cssSourceFile>
-                <cssSourceFile>gh-fork-ribbon.css</cssSourceFile>
               </cssSourceFiles>
               <cssFinalFile>apache-maven-fluido-${project.version}.css</cssFinalFile>
-              <jsSourceDir>js</jsSourceDir>
               <jsSourceFiles>
                 <jsSourceFile>jquery-${jquery.version}.js</jsSourceFile>
                 <jsSourceFile>bootstrap-${bootstrap.version}.js</jsSourceFile>
                 <jsSourceFile>prettify.js</jsSourceFile>
                 <jsSourceFile>fluido.js</jsSourceFile>
-                <jsSourceFile>anchor-${anchorjs.version}.js</jsSourceFile>
               </jsSourceFiles>
               <jsFinalFile>apache-maven-fluido-${project.version}.js</jsFinalFile>
-              <jsEngine>CLOSURE</jsEngine>
+            </configuration>
+          </execution>
+          <execution>
+            <id>minify-anchor-resources</id>
+            <goals>
+              <goal>minify</goal>
+            </goals>
+            <phase>generate-resources</phase>
+            <configuration>
+              <jsSourceFiles>
+                <jsSourceFile>anchor-${anchorjs.version}.js</jsSourceFile>
+              </jsSourceFiles>
+              <jsFinalFile>anchor-${anchorjs.version}.js</jsFinalFile>
+            </configuration>
+          </execution>
+          <execution>
+            <id>minify-gh-fork-ribbon-resources</id>
+            <goals>
+              <goal>minify</goal>
+            </goals>
+            <phase>generate-resources</phase>
+            <configuration>
+              <cssSourceFiles>
+                <cssSourceFile>gh-fork-ribbon.css</cssSourceFile>
+              </cssSourceFiles>
+              <cssFinalFile>gh-fork-ribbon.css</cssFinalFile>
             </configuration>
           </execution>
         </executions>
diff --git a/src/main/resources/META-INF/maven/site-macros.vm b/src/main/resources/META-INF/maven/site-macros.vm
index 3bf9903..ff8144a 100644
--- a/src/main/resources/META-INF/maven/site-macros.vm
+++ b/src/main/resources/META-INF/maven/site-macros.vm
@@ -566,6 +566,7 @@ Apache Maven Doxia Site Renderer#if( $doxiaSiteRendererVersion ) $doxiaSiteRende
 ##
 #macro( anchorJs )
 #**##if ( $decoration.getCustomChild( 'fluidoSkin.anchorJs' ) )
+    <script src="$relativePath/js/anchor-@anchorjs.version@.min.js"></script>
     <script>
 #*  *##if ( $decoration.getCustomValue( 'fluidoSkin.anchorJs.cssSelector' ) && $decoration.getCustomValue( 'fluidoSkin.anchorJs.cssSelector' ) != '' )
 #*    *##set ( $cssSelector = '"' + $decoration.getCustomValue( 'fluidoSkin.anchorJs.cssSelector' ) + '"' )
diff --git a/src/main/resources/META-INF/maven/skin.xml b/src/main/resources/META-INF/maven/skin.xml
index 7d52067..3911dd1 100644
--- a/src/main/resources/META-INF/maven/skin.xml
+++ b/src/main/resources/META-INF/maven/skin.xml
@@ -19,9 +19,19 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-<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">
+<skin xmlns="http://maven.apache.org/SKIN/2.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/SKIN/2.1.0 https://maven.apache.org/xsd/skin-2.1.0.xsd">
   <prerequisites>
-    <doxia-sitetools>2.0.0</doxia-sitetools>
+    <doxia-sitetools>2.1.0</doxia-sitetools>
   </prerequisites>
+  <resource-conditions>
+    <resource-condition>
+      <resource-name>js/anchor-${anchorjs.version}.min.js</resource-name>
+      <vtl-condition>fluidoSkin.anchorJs</vtl-condition>
+    </resource-condition>
+    <resource-condition>
+      <resource-name>css/gh-fork-ribbon.min.css</resource-name>
+      <vtl-condition>fluidoSkin.gitHub</vtl-condition>
+    </resource-condition>
+  </resource-conditions>
 </skin>