summaryrefslogtreecommitdiffstats
path: root/docbook/asciidoctor-macros/wsbuglink-inline-macro
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docbook/asciidoctor-macros/wsbuglink-inline-macro.rb8
-rw-r--r--docbook/asciidoctor-macros/wsbuglink-inline-macro/extension.rb26
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