]> xenbits.xensource.com Git - libvirt.git/commitdiff
docs: Simplify passing of 'href_base' XSL variable
authorPeter Krempa <pkrempa@redhat.com>
Tue, 5 Apr 2022 14:52:57 +0000 (16:52 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 12 Apr 2022 10:53:32 +0000 (12:53 +0200)
Historically we had two top level XSL files for top level and nested
documents which only differ in what they pass for 'href_base' to the
main 'page.xsl' file.

We can instead pass the variable as argument from the build system so
that we have just one XSL file and also allow for more nested document
trees in the future.

The '404' page is special even with the current XSL way so we add a
special case for it.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
docs/go/meson.build
docs/internals/meson.build
docs/kbase/meson.build
docs/manpages/meson.build
docs/meson.build
docs/site.xsl
docs/subsite.xsl [deleted file]

index 0ae0216ce3ac0b4f6f6510b6291ea4f1e6e66f20..c0e19c41823a42b4120784e0dbd362349084ba5e 100644 (file)
@@ -3,7 +3,6 @@ docs_go_files = [
   'libvirtxml',
 ]
 
-html_xslt_gen_xslt = subsite_xsl
 html_xslt_gen_install_dir = docs_html_dir / 'go'
 html_xslt_gen = []
 
@@ -14,6 +13,7 @@ foreach name : docs_go_files
     'name': name,
     'file': docs_rst2html5_gen.process(rst_file),
     'source': 'docs' / 'go' / rst_file,
+    'href_base': '../',
   }
 endforeach
 
@@ -33,8 +33,9 @@ foreach data : html_xslt_gen
       '--stringparam', 'pagesrc', data.get('source', ''),
       '--stringparam', 'builddir', meson.build_root(),
       '--stringparam', 'timestamp', docs_timestamp,
+      '--stringparam', 'href_base', data.get('href_base', ''),
       '--nonet',
-      html_xslt_gen_xslt,
+      site_xsl,
       '@INPUT@',
     ],
     depends: data.get('depends', []),
index 2d0ae6195c70234e8e1f36ff66296002992d0d0e..298a55dd88e354774aa9132b038383ef1df1713b 100644 (file)
@@ -5,7 +5,6 @@ internals_in_files = [
   'rpc',
 ]
 
-html_xslt_gen_xslt = subsite_xsl
 html_xslt_gen_install_dir = docs_html_dir / 'internals'
 html_xslt_gen = []
 
@@ -13,6 +12,7 @@ foreach name : internals_in_files
   html_xslt_gen += {
     'name': name,
     'source': 'docs' / 'internals' / name + '.html.in',
+    'href_base': '../'
   }
 endforeach
 
@@ -32,8 +32,9 @@ foreach data : html_xslt_gen
       '--stringparam', 'pagesrc', data.get('source', ''),
       '--stringparam', 'builddir', meson.build_root(),
       '--stringparam', 'timestamp', docs_timestamp,
+      '--stringparam', 'href_base', data.get('href_base', ''),
       '--nonet',
-      html_xslt_gen_xslt,
+      site_xsl,
       '@INPUT@',
     ],
     depends: data.get('depends', []),
index 4114fc81d14e05ce0e29b5dfb0a18f15409422d0..e37feb6d30c68308080c6c766c856e095256004b 100644 (file)
@@ -24,7 +24,6 @@ docs_kbase_files = [
   'virtiofs',
 ]
 
-html_xslt_gen_xslt = subsite_xsl
 html_xslt_gen_install_dir = docs_html_dir / 'kbase'
 html_xslt_gen = []
 
@@ -35,6 +34,7 @@ foreach name : docs_kbase_files
     'name': name,
     'file': docs_rst2html5_gen.process(rst_file),
     'source': 'docs' / 'kbase' / rst_file,
+    'href_base': '../',
   }
 endforeach
 
@@ -54,8 +54,9 @@ foreach data : html_xslt_gen
       '--stringparam', 'pagesrc', data.get('source', ''),
       '--stringparam', 'builddir', meson.build_root(),
       '--stringparam', 'timestamp', docs_timestamp,
+      '--stringparam', 'href_base', data.get('href_base', ''),
       '--nonet',
-      html_xslt_gen_xslt,
+      site_xsl,
       '@INPUT@',
     ],
     depends: data.get('depends', []),
index d9fcb6b05769eb67b6b6033d11800aaddbf6fa56..ba673cf4727698d55e667ce3fdc8bdff1e879a0e 100644 (file)
@@ -1,4 +1,3 @@
-html_xslt_gen_xslt = subsite_xsl
 html_xslt_gen_install_dir = docs_html_dir / 'manpages'
 html_xslt_gen = []
 
@@ -130,6 +129,7 @@ foreach data : docs_man_files
     'name': data['name'],
     'file': html_in,
     'source': 'docs' / 'manpages' / rst_in_file,
+    'href_base': '../',
   }
 endforeach
 
@@ -149,8 +149,9 @@ foreach data : html_xslt_gen
       '--stringparam', 'pagesrc', data.get('source', ''),
       '--stringparam', 'builddir', meson.build_root(),
       '--stringparam', 'timestamp', docs_timestamp,
+      '--stringparam', 'href_base', data.get('href_base', ''),
       '--nonet',
-      html_xslt_gen_xslt,
+      site_xsl,
       '@INPUT@',
     ],
     depends: data.get('depends', []),
index 417915a2cb4c1a757d9339a530b018b86a3c8273..91c6fbe84428af3177afe45161da6d8e8aea4d25 100644 (file)
@@ -18,7 +18,6 @@ docs_assets = [
 ]
 
 docs_html_in_files = [
-  '404',
   'docs',
   'formatcaps',
   'formatnetwork',
@@ -132,7 +131,6 @@ docs_timestamp = run_command(
 ).stdout().strip()
 
 site_xsl = files('site.xsl')
-subsite_xsl = files('subsite.xsl')
 page_xsl = files('page.xsl')
 newapi_xsl = files('newapi.xsl')
 
@@ -218,7 +216,6 @@ docs_rst2html5_gen = generator(
 
 # html_xslt_gen config
 
-html_xslt_gen_xslt = site_xsl
 html_xslt_gen_install_dir = docs_html_dir
 
 html_xslt_gen = []
@@ -251,6 +248,12 @@ html_xslt_gen += {
   'depends': aclperms_gen,
 }
 
+html_xslt_gen += {
+  'name': '404',
+  'source': 'docs' / '404.html.in',
+  'href_base': '/',
+}
+
 hvsupport_html_in = custom_target(
   'hvsupport.html.in',
   output: 'hvsupport.html.in',
@@ -302,8 +305,9 @@ foreach data : html_xslt_gen
       '--stringparam', 'pagesrc', data.get('source', ''),
       '--stringparam', 'builddir', meson.build_root(),
       '--stringparam', 'timestamp', docs_timestamp,
+      '--stringparam', 'href_base', data.get('href_base', ''),
       '--nonet',
-      html_xslt_gen_xslt,
+      site_xsl,
       '@INPUT@',
     ],
     depends: data.get('depends', []),
index 931e26272fd740a03fe4a120ff3e805c15449d59..f56eb67b8a5fc5ece2cbbb0c0d6d80d6710e1428 100644 (file)
     encoding="UTF-8"
     indent="yes"/>
 
-  <xsl:variable name="href_base">
-    <xsl:choose>
-      <xsl:when test="$pagesrc = 'docs/404.html.in'">
-        <xsl:value-of select="'/'"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="''"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
   <xsl:template match="/">
     <xsl:apply-templates select="." mode="page">
       <xsl:with-param name="pagesrc" select="$pagesrc"/>
       <xsl:with-param name="timestamp" select="$timestamp"/>
+      <xsl:with-param name="href_base" select="$href_base"/>
     </xsl:apply-templates>
   </xsl:template>
 
diff --git a/docs/subsite.xsl b/docs/subsite.xsl
deleted file mode 100644 (file)
index 2bdfcbb..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-<xsl:stylesheet
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:exsl="http://exslt.org/common"
-  exclude-result-prefixes="xsl exsl"
-  version="1.0">
-
-  <xsl:import href="page.xsl"/>
-
-  <xsl:output
-    method="xml"
-    encoding="UTF-8"
-    indent="yes"/>
-
-  <xsl:variable name="href_base" select="'../'"/>
-
-  <xsl:template match="/">
-    <xsl:apply-templates select="." mode="page">
-      <xsl:with-param name="pagesrc" select="$pagesrc"/>
-      <xsl:with-param name="timestamp" select="$timestamp"/>
-    </xsl:apply-templates>
-  </xsl:template>
-
-</xsl:stylesheet>