Documentation: option to render literal text as bold for manpages

This allows manpages viewed on a tty to render inline literal
text in a manner that is distinct from the surrounding text.

The initial implementation (pre-mailing-list) of this patch
included a conditional variant of the XSLT code in
manpage-base.xsl and use xmlto's --stringparam option to
optionally enable the functionality. It turns out that
--stringparam is broken in all versions of xmlto except for the
pre-release, SVN version. Since xmlto is a shell script the patch
to fix it is simple enough, but I instead opted to use xmlto's
"module" functionality.

Testing done with asciidoc 8.3.1 and docbook-xsl 1.74.0.

Signed-off-by: Chris Johnsen <chris_johnsen@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Chris Johnsen 2009-03-27 01:44:05 -05:00 committed by Junio C Hamano
parent 0c04f52735
commit 5121a6d993
2 changed files with 22 additions and 1 deletions

View File

@ -42,6 +42,7 @@ man7dir=$(mandir)/man7
ASCIIDOC=asciidoc ASCIIDOC=asciidoc
ASCIIDOC_EXTRA = ASCIIDOC_EXTRA =
MANPAGE_XSL = manpage-normal.xsl MANPAGE_XSL = manpage-normal.xsl
XMLTO_EXTRA =
INSTALL?=install INSTALL?=install
RM ?= rm -f RM ?= rm -f
DOC_REF = origin/man DOC_REF = origin/man
@ -93,6 +94,9 @@ else
ASCIIDOC_EXTRA += -a git-asciidoc-no-roff ASCIIDOC_EXTRA += -a git-asciidoc-no-roff
endif endif
endif endif
ifdef MAN_BOLD_LITERAL
XMLTO_EXTRA += -m manpage-bold-literal.xsl
endif
# #
# Please note that there is a minor bug in asciidoc. # Please note that there is a minor bug in asciidoc.
@ -192,7 +196,7 @@ $(MAN_HTML): %.html : %.txt
%.1 %.5 %.7 : %.xml %.1 %.5 %.7 : %.xml
$(RM) $@ $(RM) $@
xmlto -m $(MANPAGE_XSL) man $< xmlto -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
%.xml : %.txt %.xml : %.txt
$(RM) $@+ $@ $(RM) $@+ $@

View File

@ -0,0 +1,17 @@
<!-- manpage-bold-literal.xsl:
special formatting for manpages rendered from asciidoc+docbook -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- render literal text as bold (instead of plain or monospace);
this makes literal text easier to distinguish in manpages
viewed on a tty -->
<xsl:template match="literal">
<xsl:value-of select="$git.docbook.backslash"/>
<xsl:text>fB</xsl:text>
<xsl:apply-templates/>
<xsl:value-of select="$git.docbook.backslash"/>
<xsl:text>fR</xsl:text>
</xsl:template>
</xsl:stylesheet>