Skip to content

Commit

Permalink
Documentation: Avoid use of xmlto --stringparam
Browse files Browse the repository at this point in the history
The --stringparam option is not available on older xmlto versions.
Instead, set man.base.url.for.relative.links via a .xsl file.  Older
docbook versions will ignore this without causing grief to users of
older xmlto versions.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
tmzullinger authored and gitster committed Dec 5, 2009
1 parent 165ca62 commit 50d9bbb
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 11 deletions.
1 change: 1 addition & 0 deletions Documentation/.gitignore
Expand Up @@ -8,3 +8,4 @@ gitman.info
howto-index.txt
doc.dep
cmds-*.txt
manpage-base-url.xsl
23 changes: 12 additions & 11 deletions Documentation/Makefile
Expand Up @@ -104,18 +104,15 @@ XMLTO_EXTRA += -m manpage-suppress-sp.xsl
endif

# Newer DocBook stylesheet emits warning cruft in the output when
# this is not set, and if set it shows an absolute link. We can
# use MAN_BASE_URL=http://www.kernel.org/pub/software/scm/git/docs/
# but distros may want to set it to /usr/share/doc/git-core/docs/ or
# something like that.
# this is not set, and if set it shows an absolute link. Older
# stylesheets simply ignore this parameter.
#
# As older stylesheets simply ignore this parameter, it ought to be
# safe to set it to empty string when the base URL is not specified,
# but unfortunately we cannot do so unconditionally because at least
# xmlto 0.0.18 is reported to lack --stringparam option.
ifdef MAN_BASE_URL
XMLTO_EXTRA += --stringparam man.base.url.for.relative.links=$(MAN_BASE_URL)
# Distros may want to use MAN_BASE_URL=file:///path/to/git/docs/
# or similar.
ifndef MAN_BASE_URL
MAN_BASE_URL = file://$(htmldir)/
endif
XMLTO_EXTRA += -m manpage-base-url.xsl

# If your target system uses GNU groff, it may try to render
# apostrophes as a "pretty" apostrophe using unicode. This breaks
Expand Down Expand Up @@ -244,14 +241,18 @@ clean:
$(RM) howto-index.txt howto/*.html doc.dep
$(RM) technical/api-*.html technical/api-index.txt
$(RM) $(cmds_txt) *.made
$(RM) manpage-base-url.xsl

$(MAN_HTML): %.html : %.txt
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -agit_version=$(GIT_VERSION) -o $@+ $< && \
mv $@+ $@

%.1 %.5 %.7 : %.xml
manpage-base-url.xsl: manpage-base-url.xsl.in
sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@

%.1 %.5 %.7 : %.xml manpage-base-url.xsl
$(QUIET_XMLTO)$(RM) $@ && \
xmlto -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<

Expand Down
10 changes: 10 additions & 0 deletions Documentation/manpage-base-url.xsl.in
@@ -0,0 +1,10 @@
<!-- manpage-base-url.xsl:
special settings for manpages rendered from newer docbook -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

<!-- set a base URL for relative links -->
<xsl:param name="man.base.url.for.relative.links"
>@@MAN_BASE_URL@@</xsl:param>

</xsl:stylesheet>

0 comments on commit 50d9bbb

Please sign in to comment.