Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-doc
Path: blob/main/shared/lib/PackagesMacro/extension.rb
18086 views
1
require 'asciidoctor/extensions' unless RUBY_ENGINE == 'opal'
2
3
include ::Asciidoctor
4
5
class PackagesMacro < Asciidoctor::Extensions::InlineMacroProcessor
6
use_dsl
7
8
named :package
9
name_positional_attributes 'pkgname'
10
11
def process parent, target, attrs
12
pkgorigin = target
13
14
if pkgorigin.include?("@")
15
pkgorigin = pkgorigin[0..pkgorigin.index("@")-1]
16
end
17
18
pkgname = if (pkgname = attrs['pkgname'])
19
"#{pkgname}"
20
else
21
"#{target}"
22
end
23
24
url = %(https://cgit.freebsd.org/ports/tree/#{pkgorigin}/)
25
26
%(<a class="package" href="#{url}">#{pkgname}</a>)
27
end
28
end
29
30