require 'asciidoctor/extensions'
Asciidoctor::Extensions.register :git do
doc = document
inline_macro :linkgit do
if doc.doctype == 'book'
format = '%1$s(%2$s)'
elsif doc.basebackend? 'html'
prefix = doc.attr('git-relative-html-prefix')
format = %(%1$s(%2$s))
elsif doc.basebackend? 'manpage'
format = "\e\\fB%s\e\\fP(%s)"
elsif doc.basebackend? 'docbook'
format = <<~EOF.chomp
%s%s
EOF
else
return
end
process do |_, target, attrs|
format % [target, attrs[1]]
end
end
end