Move most of the logic of xmlto into a simple script that generates a single stylesheet. There should be no functional changes. Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> --- Documentation/.gitignore | 1 + Documentation/Makefile | 12 +++++------- Documentation/gen-stylesheet | 17 +++++++++++++++++ t/t0600-doc-tools.sh | 4 +++- 4 files changed, 26 insertions(+), 8 deletions(-) create mode 100755 Documentation/gen-stylesheet diff --git a/Documentation/.gitignore b/Documentation/.gitignore index a48448de32..afec7e7f19 100644 --- a/Documentation/.gitignore +++ b/Documentation/.gitignore @@ -15,3 +15,4 @@ tmp-doc-diff/ GIT-ASCIIDOCFLAGS /.build/ /GIT-EXCLUDED-PROGRAMS +/manpage.xsl diff --git a/Documentation/Makefile b/Documentation/Makefile index 3fab7ce9cd..96d3f52c60 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -155,7 +155,6 @@ ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \ ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML) TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK) -MANPAGE_XSL = manpage-normal.xsl XMLTO = xmlto XMLTO_EXTRA = INSTALL ?= install @@ -176,10 +175,6 @@ endif -include ../config.mak.autogen -include ../config.mak -ifndef NO_MAN_BOLD_LITERAL -XMLTO_EXTRA += -m manpage-bold-literal.xsl -endif - # Newer DocBook stylesheet emits warning cruft in the output when # this is not set, and if set it shows an absolute link. Older # stylesheets simply ignore this parameter. @@ -338,8 +333,11 @@ $(MAN_HTML): %.html : %.txt $(ASCIIDOC_DEPS) $(OBSOLETE_HTML): %.html : %.txto $(ASCIIDOC_DEPS) $(QUIET_ASCIIDOC)$(TXT_TO_HTML) -o $@ $< -manpage-prereqs := $(wildcard manpage*.xsl) -manpage-cmd = $(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< +manpage-prereqs := manpage.xsl $(wildcard manpage*.xsl) +manpage-cmd = $(QUIET_XMLTO)$(XMLTO) -x manpage.xsl $(XMLTO_EXTRA) man $< + +manpage.xsl: gen-stylesheet + ./gen-stylesheet >"$@" %.1 : %.xml $(manpage-prereqs) $(manpage-cmd) diff --git a/Documentation/gen-stylesheet b/Documentation/gen-stylesheet new file mode 100755 index 0000000000..c006a85c39 --- /dev/null +++ b/Documentation/gen-stylesheet @@ -0,0 +1,17 @@ +#!/bin/sh + +includes='manpage-normal.xsl' +test -z "$NO_MAN_BOLD_LITERAL" && includes="$includes manpage-bold-literal.xsl" + +cat <<EOF +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"/> +EOF + +for x in $includes +do + printf '<xsl:include href="%s"/>\n' "$x" +done + +echo "</xsl:stylesheet>" diff --git a/t/t0600-doc-tools.sh b/t/t0600-doc-tools.sh index 2552b0d376..a003686c2f 100755 --- a/t/t0600-doc-tools.sh +++ b/t/t0600-doc-tools.sh @@ -54,10 +54,12 @@ description Part of the \fBgit\fR(1) suite EOF +"$doc_dir"/gen-stylesheet >"$doc_dir"/manpage.xsl + xmltoman() { base="$1" shift - xmlto --skip-validation -m "$doc_dir/manpage-normal.xsl" -m "$doc_dir/manpage-bold-literal.xsl" "$@" man "$base.xml" + xmlto --skip-validation -x "$doc_dir"/manpage.xsl man "$base.xml" } build_asciidoc_py() { -- 2.40.0+fc1