]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
docs: build: Use proper path to file in 'contribute' link
authorPeter Krempa <pkrempa@redhat.com>
Mon, 3 Aug 2020 14:38:31 +0000 (16:38 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 3 Aug 2020 16:41:11 +0000 (18:41 +0200)
NEWS.rst is based in the root of the repository and 'hvsupport.html'
doesn't have a backing file which can be edited since it's fully
generated. Our 'contribute -> edit this page' link on the bottom of the
page is wrong in those cases.

Fix it by adding the contribute section only when there's a source and
base the 'source' of a html file in the root of the repository.

Along with that we need to modify the scripts/meson-html-gen.py script
to accept optional 'pagesrc' and the XSL template to skip the
'contribute' section when we don't have a source.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
docs/meson.build
docs/page.xsl
scripts/meson-html-gen.py

index e81251f29d09d81db528567cf8f08d661e0d4096..aaa30405985c851cea8ee67051e4e3140c5954f5 100644 (file)
@@ -197,7 +197,7 @@ docs_rst2html_gen = generator(
 #   each entry is a dictionary with following items:
 #   name - base file name (required)
 #   file - generated file (required)
-# source - source filename (required)
+# source - source filename relative to repository root (optional, if there is no source)
 docs_html_in_gen = []
 
 foreach name : docs_html_in_files
@@ -205,7 +205,7 @@ foreach name : docs_html_in_files
   docs_html_in_gen += {
     'name': name,
     'file': html_in_file,
-    'source': html_in_file,
+    'source': 'docs' / html_in_file,
   }
 endforeach
 
@@ -214,7 +214,7 @@ foreach name : docs_rst_files
   docs_html_in_gen += {
     'name': name,
     'file': docs_rst2html_gen.process(rst_file),
-    'source': rst_file,
+    'source': 'docs' / rst_file,
   }
 endforeach
 
@@ -242,7 +242,6 @@ hvsupport_html_in = custom_target(
 docs_html_in_gen += {
   'name': 'hvsupport',
   'file': hvsupport_html_in,
-  'source': 'hvsupport.html.in',
 }
 
 news_html_in = docs_rst2html_gen.process(meson.source_root() / 'NEWS.rst')
@@ -270,7 +269,7 @@ foreach data : docs_html_in_gen
       site_xsl,
       '@INPUT@',
       '@OUTPUT@',
-      data['source'],
+      data.get('source', []),
     ],
     depends: [ aclperms_gen ],
     depend_files: [ page_xsl ],
index 69238714004d652f27150df7d78e12a4e6103673..bdd57ba2e0e1cd0d47317911250a23b1347654c3 100644 (file)
               <li><a href="http://serverfault.com/questions/tagged/libvirt">serverfault</a></li>
             </ul>
           </div>
-          <div id="contribute">
-            <h3>Contribute</h3>
-            <ul>
-              <li><a href="https://gitlab.com/libvirt/libvirt/-/blob/master/docs/{$pagesrc}">edit this page</a></li>
-            </ul>
-          </div>
+          <xsl:if test="$pagesrc != ''">
+            <div id="contribute">
+              <h3>Contribute</h3>
+              <ul>
+                <li><a href="https://gitlab.com/libvirt/libvirt/-/blob/master/{$pagesrc}">edit this page</a></li>
+              </ul>
+            </div>
+          </xsl:if>
           <div id="conduct">
             Participants in the libvirt project agree to abide by <a href="{$href_base}governance.html#codeofconduct">the project code of conduct</a>
           </div>
index 08041f14ecbf6ff1303218639909f6a71d2f49af..dbf238de540877f6c1b04680624d81250ca0d8cf 100755 (executable)
@@ -12,7 +12,7 @@ parser.add_argument("timestamp", type=str, help="docs timestamp")
 parser.add_argument("style", type=str, help="XSL stile file")
 parser.add_argument("infile", type=str, help="path to source HTML file")
 parser.add_argument("htmlfile", type=str, help="path to generated HTML file")
-parser.add_argument("pagesrc", type=str, help="path to source file used for edit this page")
+parser.add_argument("pagesrc", type=str, default="", nargs='?', help="(optional) path to source file used for edit this page")
 args = parser.parse_args()
 
 name = os.path.basename(args.htmlfile).replace('.html', '')