Skip to content

Commit 55d2d81

Browse files
bk2204gitster
authored andcommitted
Documentation: implement linkgit macro for Asciidoctor
AsciiDoc uses a configuration file to implement macros like linkgit, while Asciidoctor uses Ruby extensions. Implement a Ruby extension that implements the linkgit macro for Asciidoctor in the same way that asciidoc.conf does for AsciiDoc. Adjust the Makefile to use it by default. Signed-off-by: brian m. carlson <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent ec3366e commit 55d2d81

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

Documentation/Makefile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,7 @@ ASCIIDOC = asciidoctor
179179
ASCIIDOC_CONF =
180180
ASCIIDOC_HTML = xhtml5
181181
ASCIIDOC_DOCBOOK = docbook45
182-
ifdef ASCIIDOCTOR_EXTENSIONS_LAB
183-
ASCIIDOC_EXTRA = -I$(ASCIIDOCTOR_EXTENSIONS_LAB) -rasciidoctor/extensions -rman-inline-macro
184-
endif
182+
ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions
185183
ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;'
186184
DBLATEX_COMMON =
187185
endif
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
require 'asciidoctor'
2+
require 'asciidoctor/extensions'
3+
4+
module Git
5+
module Documentation
6+
class LinkGitProcessor < Asciidoctor::Extensions::InlineMacroProcessor
7+
use_dsl
8+
9+
named :chrome
10+
11+
def process(parent, target, attrs)
12+
if parent.document.basebackend? 'html'
13+
prefix = parent.document.attr('git-relative-html-prefix')
14+
%(<a href="#{prefix}#{target}.html">#{target}(#{attrs[1]})</a>\n)
15+
elsif parent.document.basebackend? 'docbook'
16+
"<citerefentry>\n" \
17+
"<refentrytitle>#{target}</refentrytitle>" \
18+
"<manvolnum>#{attrs[1]}</manvolnum>\n" \
19+
"</citerefentry>\n"
20+
end
21+
end
22+
end
23+
end
24+
end
25+
26+
Asciidoctor::Extensions.register do
27+
inline_macro Git::Documentation::LinkGitProcessor, :linkgit
28+
end

0 commit comments

Comments
 (0)