commit:     12fb6e610b2ed3f486ff3a6eb397f5eae0811e5d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 10:02:20 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 10:02:20 2019 +0000
URL:        https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=12fb6e61

devbook.xsl: Support class="list-group" in <ul> element.

This replaces <list-group-d>, which was only used for the list of
eclasses. Remove <list-group-u> which was unused.

Update devbook.dtd and bin/gen-eclass-html.sh accordingly.

Generated output in eclass-reference/index.html is identical as
before, except for an (intentionally) removed empty line before the
closing </div>.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 bin/gen-eclass-html.sh |  8 ++++----
 devbook.dtd            |  9 ++++-----
 devbook.xsl            | 24 +++++++++++++++---------
 3 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/bin/gen-eclass-html.sh b/bin/gen-eclass-html.sh
index 9705d04..e7a72ab 100755
--- a/bin/gen-eclass-html.sh
+++ b/bin/gen-eclass-html.sh
@@ -135,16 +135,16 @@ installed by emerging <c>app-portage/eclass-manpages</c>.
 <section>
 <title>Contents</title>
 <body>
-<list-group-d>
+<ul class="list-group">
 EOF
 
 for i in $(find $OUTPUTDIR/ -maxdepth 1 -mindepth 1 -type d | sort); do
-       echo "<uri link=\"$(basename $i)/index.html\">$(basename $i) 
Reference</uri>" >> ${OUTPUTDIR}/text.xml
+       echo "<li><uri link=\"$(basename $i)/index.html\">$(basename $i) 
Reference</uri></li>" >> ${OUTPUTDIR}/text.xml
 done
 
 cat << EOF >> ${OUTPUTDIR}/text.xml
-
-</list-group-d></body>
+</ul>
+</body>
 </section>
 </chapter>
 </guide>

diff --git a/devbook.dtd b/devbook.dtd
index 96d1c9d..dac1815 100644
--- a/devbook.dtd
+++ b/devbook.dtd
@@ -5,8 +5,7 @@
 <!-- Based on common.dtd from GuideXML -->
 
 <!ENTITY  % block.class     "p|pre|codesample|note|important|warning|todo
-                                |figure|table|ul|ol|dl
-                                |list-group-u|list-group-d">
+                                |figure|table|ul|ol|dl">
 <!ENTITY  % inline.class    "sup|sub|b|c|d|e|path|uri">
 <!ENTITY  % all.class       "%block.class;|%inline.class;">
 
@@ -75,7 +74,10 @@
                         align (left|center|right) "left">
 
 <!ELEMENT ul            (li)+>
+<!ATTLIST ul            class CDATA #IMPLIED>
+
 <!ELEMENT ol            (li)+>
+
 <!ELEMENT li            (#PCDATA|%all.class;)*>
 
 <!ELEMENT dl            (dt, dd)+>
@@ -83,9 +85,6 @@
 <!-- The following is strange, but devbook.xsl expects only p elements -->
 <!ELEMENT dd            (p)+>
 
-<!ELEMENT list-group-u  (#PCDATA|%all.class;)*>
-<!ELEMENT list-group-d  (#PCDATA|%all.class;)*>
-
 <!ELEMENT sup           (#PCDATA|%inline.class;)*>
 <!ELEMENT sub           (#PCDATA|%inline.class;)*>
 <!ELEMENT b             (#PCDATA|%inline.class;)*>

diff --git a/devbook.xsl b/devbook.xsl
index cadd975..94cbf96 100644
--- a/devbook.xsl
+++ b/devbook.xsl
@@ -204,15 +204,21 @@
   </xsl:template>
 
   <xsl:template match="ul">
-    <ul><xsl:apply-templates/></ul>
-  </xsl:template>
-
-  <xsl:template match="list-group-d">
-    <div class="list-group"><xsl:apply-templates><xsl:with-param 
name="class">list-group-item</xsl:with-param></xsl:apply-templates></div>
-  </xsl:template>
-
-  <xsl:template match="list-group-u">
-    <ul class="list-group"><xsl:apply-templates><xsl:with-param 
name="class">list-group-item</xsl:with-param></xsl:apply-templates></ul>
+    <xsl:choose>
+      <xsl:when test="@class='list-group'">
+        <div class="list-group">
+          <xsl:for-each select="li">
+            <xsl:apply-templates>
+              <xsl:with-param name="class">list-group-item</xsl:with-param>
+            </xsl:apply-templates>
+            <xsl:value-of select='$newline'/>
+          </xsl:for-each>
+        </div>
+      </xsl:when>
+      <xsl:otherwise>
+        <ul><xsl:apply-templates/></ul>
+      </xsl:otherwise>
+    </xsl:choose>
   </xsl:template>
 
   <!-- Definition Lists -->

Reply via email to