summaryrefslogtreecommitdiffstats
path: root/docbook/asciidoctor-macros/cveidlink-inline-macro/extension.rb
diff options
context:
space:
mode:
Diffstat (limited to 'docbook/asciidoctor-macros/cveidlink-inline-macro/extension.rb')
-rw-r--r--docbook/asciidoctor-macros/cveidlink-inline-macro/extension.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/docbook/asciidoctor-macros/cveidlink-inline-macro/extension.rb b/docbook/asciidoctor-macros/cveidlink-inline-macro/extension.rb
new file mode 100644
index 00000000..2dec88da
--- /dev/null
+++ b/docbook/asciidoctor-macros/cveidlink-inline-macro/extension.rb
@@ -0,0 +1,24 @@
+# SPDX-License-Identifier: MIT
+require 'asciidoctor/extensions' unless RUBY_ENGINE == 'opal'
+
+include ::Asciidoctor
+
+# An inline macro that generates a link to a CVE Record identified by its CVE
+# Number.
+#
+# Usage
+#
+# cveidlink:<cve-number>[]
+#
+class CVEIdLinkInlineMacro < Extensions::InlineMacroProcessor
+ include WsUtils
+ use_dsl
+
+ named :cveidlink
+
+ def process(parent, cvenum, _attrs)
+ cvename = "CVE-#{cvenum}"
+ target = %(https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-#{cvenum})
+ create_doc_links(parent, target, cvename)
+ end
+end