Make permalinks in section headers optional.
authorNick Bowler <nbowler@draconx.ca>
Wed, 24 Jun 2020 04:41:47 +0000 (00:41 -0400)
committerNick Bowler <nbowler@draconx.ca>
Wed, 24 Jun 2020 04:41:47 +0000 (00:41 -0400)
These permalinks seem useful for licenses but maybe not so much
in general.  Let's make that controllable per-document by adding a
parameter to the XSL layout to select whether or not they will
be generated.

Rules
layouts/default.xsl

diff --git a/Rules b/Rules
index d9130f02ca475b712fb4ae28ca965e02454a60a6..383feb6d6e06107a05eb1d7bbcbfbdf15ae6d702 100644 (file)
--- a/Rules
+++ b/Rules
@@ -75,7 +75,7 @@ compile '/license/cc*.sgml' do
     filter :sgml2xml
     layout '/creativecommons.xsl'
     layout '/default.xml'
-    layout '/default.xsl'
+    layout '/default.xsl', "section-links": "yes"
     filter :relativize_paths, type: :xml
     filter :xhtml_compat
     filter :remove_wj
@@ -85,7 +85,7 @@ end
 compile '/license/cc*.xhtml' do
     layout '/creativecommons.xsl'
     layout '/default.xml'
-    layout '/default.xsl'
+    layout '/default.xsl', "section-links": "yes"
     filter :relativize_paths, type: :xml
     filter :xhtml_compat
     filter :remove_wj
index 29455705797de7914f22e4e8b764af022485003a..f95a2c77805811d0a477025474f996ac50fd59b2 100644 (file)
@@ -35,6 +35,7 @@
 <xsl:param name='source-uri'
   select='"//git.draconx.ca/gitweb/homepage.git/blob/"' />
 <xsl:param name='site-title' select='"The Citrine Citadel"' />
+<xsl:param name='section-links' select='//document/section-links' />
 
 <func:function name='f:ends-with'>
   <xsl:param name='a' />
   <xsl:variable name='fragment' select='concat("#", @id)' />
   <xsl:copy>
     <xsl:apply-templates select='node()|@*' />
-    <xsl:text> </xsl:text>
-    <small class='permalink'>
-      (<a href='{$fragment}'><xsl:value-of select='$fragment' /></a>)
-    </small>
+    <xsl:if test='$section-links = "yes"'>
+      <xsl:text> </xsl:text>
+      <small class='permalink'>
+        (<a href='{$fragment}'><xsl:value-of select='$fragment' /></a>)
+      </small>
+    </xsl:if>
   </xsl:copy>
 </xsl:template>