mirror of
https://github.com/git/git.git
synced 2024-12-01 14:03:34 +08:00
226daba280
Rather than hardcoding "Git Manual" and "Git" as the manual and source in asciidoc.conf, provide them as attributes `manmanual` and `mansource`. Rename the `git_version` attribute to `manversion`. These new attribute names are not arbitrary, see, e.g., [1]. For AsciiDoc (8.6.10) and Asciidoctor <1.5.7, this is a no-op. Starting with Asciidoctor 1.5.7, `manmanual` and `mansource` actually end up in the xml-files and eventually in the rendered manpages. In particular, the manpage headers now render just as with AsciiDoc. No versions of Asciidoctor pick up the `manversion` [2], and older versions don't pick up any of these attributes. -- We'll fix that with a bit of a hack in the next commit. [1] https://asciidoctor.org/docs/user-manual/#man-pages [2] Note how [1] says "Not used by Asciidoctor". Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
98 lines
2.3 KiB
Plaintext
98 lines
2.3 KiB
Plaintext
## linkgit: macro
|
|
#
|
|
# Usage: linkgit:command[manpage-section]
|
|
#
|
|
# Note, {0} is the manpage section, while {target} is the command.
|
|
#
|
|
# Show Git link as: <command>(<section>); if section is defined, else just show
|
|
# the command.
|
|
|
|
[macros]
|
|
(?su)[\\]?(?P<name>linkgit):(?P<target>\S*?)\[(?P<attrlist>.*?)\]=
|
|
|
|
[attributes]
|
|
asterisk=*
|
|
plus=+
|
|
caret=^
|
|
startsb=[
|
|
endsb=]
|
|
backslash=\
|
|
tilde=~
|
|
apostrophe='
|
|
backtick=`
|
|
litdd=--
|
|
|
|
ifdef::backend-docbook[]
|
|
[linkgit-inlinemacro]
|
|
{0%{target}}
|
|
{0#<citerefentry>}
|
|
{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>}
|
|
{0#</citerefentry>}
|
|
endif::backend-docbook[]
|
|
|
|
ifdef::backend-docbook[]
|
|
ifndef::git-asciidoc-no-roff[]
|
|
# "unbreak" docbook-xsl v1.68 for manpages. v1.69 works with or without this.
|
|
# v1.72 breaks with this because it replaces dots not in roff requests.
|
|
[listingblock]
|
|
<example><title>{title}</title>
|
|
<literallayout class="monospaced">
|
|
ifdef::doctype-manpage[]
|
|
.ft C
|
|
endif::doctype-manpage[]
|
|
|
|
|
ifdef::doctype-manpage[]
|
|
.ft
|
|
endif::doctype-manpage[]
|
|
</literallayout>
|
|
{title#}</example>
|
|
endif::git-asciidoc-no-roff[]
|
|
|
|
ifdef::git-asciidoc-no-roff[]
|
|
ifdef::doctype-manpage[]
|
|
# The following two small workarounds insert a simple paragraph after screen
|
|
[listingblock]
|
|
<example><title>{title}</title>
|
|
<literallayout class="monospaced">
|
|
|
|
|
</literallayout><simpara></simpara>
|
|
{title#}</example>
|
|
|
|
[verseblock]
|
|
<formalpara{id? id="{id}"}><title>{title}</title><para>
|
|
{title%}<literallayout{id? id="{id}"}>
|
|
{title#}<literallayout>
|
|
|
|
|
</literallayout>
|
|
{title#}</para></formalpara>
|
|
{title%}<simpara></simpara>
|
|
endif::doctype-manpage[]
|
|
endif::git-asciidoc-no-roff[]
|
|
endif::backend-docbook[]
|
|
|
|
ifdef::doctype-manpage[]
|
|
ifdef::backend-docbook[]
|
|
[header]
|
|
template::[header-declarations]
|
|
<refentry>
|
|
<refmeta>
|
|
<refentrytitle>{mantitle}</refentrytitle>
|
|
<manvolnum>{manvolnum}</manvolnum>
|
|
<refmiscinfo class="source">{mansource}</refmiscinfo>
|
|
<refmiscinfo class="version">{manversion}</refmiscinfo>
|
|
<refmiscinfo class="manual">{manmanual}</refmiscinfo>
|
|
</refmeta>
|
|
<refnamediv>
|
|
<refname>{manname}</refname>
|
|
<refpurpose>{manpurpose}</refpurpose>
|
|
</refnamediv>
|
|
endif::backend-docbook[]
|
|
endif::doctype-manpage[]
|
|
|
|
ifdef::backend-xhtml11[]
|
|
[attributes]
|
|
git-relative-html-prefix=
|
|
[linkgit-inlinemacro]
|
|
<a href="{git-relative-html-prefix}{target}.html">{target}{0?({0})}</a>
|
|
endif::backend-xhtml11[]
|