| require 'asciidoctor/extensions' |
| class LinkGitProcessor < Asciidoctor::Extensions::InlineMacroProcessor |
| def process(parent, target, attrs) |
| if parent.document.basebackend? 'html' |
| prefix = parent.document.attr('git-relative-html-prefix') |
| %(<a href="#{prefix}#{target}.html">#{target}(#{attrs[1]})</a>\n) |
| elsif parent.document.basebackend? 'docbook' |
| "<refentrytitle>#{target}</refentrytitle>" \ |
| "<manvolnum>#{attrs[1]}</manvolnum>\n" \ |
| Asciidoctor::Extensions.register do |
| inline_macro Git::Documentation::LinkGitProcessor, :linkgit |