[PATCH] doc: use consistent id's when generating html files

Todd Zullinger tmz at pobox.com
Tue Feb 20 23:28:18 CET 2018

The html documentation is generated using a2x which calls docbook tools
to do the work.  The generate.consistent.ids parameter ensures that when
the docbook stylesheet assigns an id value to an output element it is
consistent as long as the document structure has not changed.

Having consistent html files reduces frivolous changes between builds.
Distributions can more easily deploy multiple architecture builds and
compare changes between package versions.  End-users avoid needless
changes in files deployed or backed up.

The generate.consistent.ids parameter was added in docbook-xsl-1.77.0.
Older versions gracefully ignore the parameter, so we can pass the
parameter unconditionally.  Most distributions contain docbook-xsl newer
than 1.77.0.  This includes Fedora, Debian, Ubuntu, and RHEL/CentOS 7.
RHEL/CentOS 6 and Debian Wheezy (old stable) ship with an older version,
Jason A. Donenfeld wrote:
> Seems reasonable to me. Can you resubmit with your `Signed-off-by:`?


I meant to check that I had the sign-off and managed to get
sidetracked before sending.  Signed-off-by: Scatterbrain. ;)


 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 8321ecc..687069f 100644
--- a/Makefile
+++ b/Makefile
@@ -134,7 +134,7 @@ doc-pdf: $(DOC_PDF)
 	a2x -f manpage $<
 $(DOC_HTML): %.html : %.txt
-	a2x -f xhtml --stylesheet=cgit-doc.css $<
+	a2x -f xhtml --stylesheet=cgit-doc.css --xsltproc-opts="--param generate.consistent.ids 1" $<
 $(DOC_PDF): %.pdf : %.txt
 	a2x -f pdf cgitrc.5.txt

Philosophy, n. A route of many roads leading from nowhere to nothing.
    -- Ambrose Bierce, "The Devil's Dictionary"

More information about the CGit mailing list