NEWS.xsl 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@xxxxxxxxxx> --- docs/meson.build | 9 ++++----- docs/page.xsl | 14 ++++++++------ scripts/meson-html-gen.py | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/meson.build b/docs/meson.build index e81251f29d..aaa3040598 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -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 ], diff --git a/docs/page.xsl b/docs/page.xsl index 6923871400..bdd57ba2e0 100644 --- a/docs/page.xsl +++ b/docs/page.xsl @@ -166,12 +166,14 @@ <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> diff --git a/scripts/meson-html-gen.py b/scripts/meson-html-gen.py index 08041f14ec..dbf238de54 100755 --- a/scripts/meson-html-gen.py +++ b/scripts/meson-html-gen.py @@ -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', '') -- 2.26.2