summaryrefslogtreecommitdiffstats
path: root/docbook/asciidoctor-macros/wsbuglink-inline-macro/extension.rb
blob: 6cdb665b52fc110c0e7a58b5026982890a09b91d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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