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

Todd Zullinger tmz at pobox.com
Wed Feb 21 02:36:03 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,

Signed-off-by: Todd Zullinger <tmz at pobox.com>
I wrote:

> Jason A. Donenfeld wrote:
>> Seems reasonable to me. Can you resubmit with your `Signed-off-by:`?
> D'oh!
> I meant to check that I had the sign-off and managed to get
> sidetracked before sending.  Signed-off-by: Scatterbrain. ;)

There was supposed to be a proper signoff on that reply.
Scatterbrain was only meant to be a joke.

Third time's a charm, hopefully.  I'll really feel dumb if I
forget it one more time. :/

 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

When buying and selling are controlled by legislation, the first
things to be bought and sold are legislators.
    -- P.J. O'Rourke

More information about the CGit mailing list