fe77b416c7
Most of our documentation is in a single directory, so using linkgit:git-config[1] just generates a relative link in the same directory. However, this is not the case with the API documentation in technical/*, which need to refer to git-config from the parent directory. We can fix this by passing a special prefix attribute when building in a subdirectory, and respecting that prefix in our linkgit definitions. We only have to modify the html linkgit definition. For manpages, we can ignore this for two reasons: 1. we do not generate actual links to the file in manpages, but instead just give the name and section of the linked manpage 2. we do not currently build manpages for subdirectories, only html Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
96 lines
2.3 KiB
Plaintext
96 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>
|
|
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>
|
|
|
|
|
</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">Git</refmiscinfo>
|
|
<refmiscinfo class="version">{git_version}</refmiscinfo>
|
|
<refmiscinfo class="manual">Git Manual</refmiscinfo>
|
|
</refmeta>
|
|
<refnamediv>
|
|
<refname>{manname}</refname>
|
|
<refpurpose>{manpurpose}</refpurpose>
|
|
</refnamediv>
|
|
endif::backend-docbook[]
|
|
endif::doctype-manpage[]
|
|
|
|
ifdef::backend-xhtml11[]
|
|
[linkgit-inlinemacro]
|
|
<a href="{git-relative-html-prefix}{target}.html">{target}{0?({0})}</a>
|
|
endif::backend-xhtml11[]
|