asciidoctor-boost 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/phrase/extension.rb +37 -4
- data/lib/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc36671574d2dbb27181bdfd41fbb3215ae537ae007efc04414df02d8c9249ed
|
4
|
+
data.tar.gz: d391b4741b1c524aebd323dfa6ec29f96a6b59f8cfb17d94ccff46f2cf94c90b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b97dfd29b4dd276d9c86cd018205db330690c2de43ba5d705d1ae01109310c17bf348aea1c850627c963df1b407e7cc1e60ab27ab7ec26326ab282177837cfbc
|
7
|
+
data.tar.gz: defbf6d0e572e52e9c9cf78d713d160457d86d167e4593cc7e37462fb05603a4fb91cfe8fc98cded048ba7d919a206b81e2ed1f1d2721c229537560d2d97104c
|
data/lib/phrase/extension.rb
CHANGED
@@ -12,11 +12,44 @@ require 'asciidoctor/extensions'
|
|
12
12
|
class PhraseInlineMacro < Asciidoctor::Extensions::InlineMacroProcessor
|
13
13
|
use_dsl
|
14
14
|
named :boost_phrase
|
15
|
-
name_positional_attributes 'text'
|
15
|
+
name_positional_attributes 'text', 'link'
|
16
16
|
|
17
17
|
def process(parent, target, attrs)
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
role = target
|
19
|
+
text = attrs['text'] || target
|
20
|
+
link = attrs['link']
|
21
|
+
backend = parent.document.backend
|
22
|
+
|
23
|
+
if link && !link.strip.empty?
|
24
|
+
process_with_link(parent, role, text, link, backend)
|
25
|
+
else
|
26
|
+
process_without_link(parent, role, text)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def process_with_link(parent, role, text, link, backend)
|
33
|
+
if backend == 'html5'
|
34
|
+
generate_html_output(role, link, text)
|
35
|
+
else
|
36
|
+
create_anchor_with_role(parent, role, text, link)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def process_without_link(parent, role, text)
|
41
|
+
span_node = create_inline parent, :quoted, text, type: :unquoted
|
42
|
+
span_node.add_role role
|
43
|
+
span_node
|
44
|
+
end
|
45
|
+
|
46
|
+
def generate_html_output(role, link, text)
|
47
|
+
%(<span class="#{role}"><a href="#{link}">#{text}</a></span>)
|
48
|
+
end
|
49
|
+
|
50
|
+
def create_anchor_with_role(parent, role, text, link)
|
51
|
+
anchor_node = create_inline parent, :anchor, text, type: :link, target: link
|
52
|
+
anchor_node.add_role role
|
53
|
+
anchor_node
|
21
54
|
end
|
22
55
|
end
|
data/lib/version.rb
CHANGED