diff options
Diffstat (limited to '')
-rw-r--r-- | docbook/asciidoctor-macros/wsbuglink-inline-macro.rb | 8 | ||||
-rw-r--r-- | docbook/asciidoctor-macros/wsbuglink-inline-macro/extension.rb | 26 |
2 files changed, 34 insertions, 0 deletions
diff --git a/docbook/asciidoctor-macros/wsbuglink-inline-macro.rb b/docbook/asciidoctor-macros/wsbuglink-inline-macro.rb new file mode 100644 index 0000000..3f192aa --- /dev/null +++ b/docbook/asciidoctor-macros/wsbuglink-inline-macro.rb @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +# Copied from https://github.com/asciidoctor/asciidoctor-extensions-lab/blob/master/lib/man-inline-macro.rb + +RUBY_ENGINE == 'opal' ? (require 'wsbuglink-inline-macro/extension') : (require_relative 'wsbuglink-inline-macro/extension') + +Extensions.register do + inline_macro WSBugLinkInlineMacro +end diff --git a/docbook/asciidoctor-macros/wsbuglink-inline-macro/extension.rb b/docbook/asciidoctor-macros/wsbuglink-inline-macro/extension.rb new file mode 100644 index 0000000..6cdb665 --- /dev/null +++ b/docbook/asciidoctor-macros/wsbuglink-inline-macro/extension.rb @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: MIT +require 'asciidoctor/extensions' unless RUBY_ENGINE == 'opal' + +include ::Asciidoctor + +# An inline macro that generates a link to a Wireshark bug report. +# +# Usage +# +# wsbuglink:<number>[<issue text>] +# Default bug text is "Issue <number>". +# +class WSBugLinkInlineMacro < Extensions::InlineMacroProcessor + include WsUtils + use_dsl + + named :wsbuglink + parse_content_as :text + name_positional_attributes 'bugtext' + + def process(parent, issueid, attrs) + bugtext = attrs['bugtext'] || %(Issue #{issueid}) + target = %(https://gitlab.com/wireshark/wireshark/-/issues/#{issueid}) + create_doc_links(parent, target, bugtext) + end +end |