asciidoctor-dita-topic 1.0.6 → 1.0.8
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/dita-topic.rb +31 -47
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 073b164893413640198b0938df78f0b180a4a25366a34bee47cf85585efddd51
|
4
|
+
data.tar.gz: 75b381d82f68f838a237b666fe8a38929dbc99101f0024086888d83a4c59471a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1b4cf1080f6ab776de1d62c122f89c190f68d03836bd3a41e2612c4b673ab97e2947abab161f9f4c1f976acddc9a41acf9ffcbdbfd7308a4c0e1bc64da87e17
|
7
|
+
data.tar.gz: 9acb585946816133087779410d66279ec4567118a3ed14a9ec318c353a647e50dcb5ee46adf835bfa9a94a511b0a8ec772e49fe224bac042946021ad902c5902
|
data/lib/dita-topic.rb
CHANGED
@@ -47,28 +47,19 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
47
47
|
# Check if callouts are enabled:
|
48
48
|
@callouts_allowed = false if (node.attr 'dita-topic-callouts') == 'off'
|
49
49
|
|
50
|
-
# Check if a specific topic type is provided:
|
51
|
-
if (value = node.attr 'dita-topic-type') =~ /^(concept|reference|task)$/
|
52
|
-
type = value
|
53
|
-
body = (type == 'task') ? 'taskbody' : %(#{type[0,3]}body)
|
54
|
-
else
|
55
|
-
type = 'topic'
|
56
|
-
body = 'body'
|
57
|
-
end
|
58
|
-
|
59
50
|
# Check if the modular documentation content type is specified:
|
60
51
|
outputclass = (node.attr? '_mod-docs-content-type') ? %( outputclass="#{(node.attr '_mod-docs-content-type').downcase}") : ''
|
61
52
|
|
62
53
|
# Return the XML output:
|
63
54
|
<<~EOF.chomp
|
64
55
|
<?xml version='1.0' encoding='utf-8' ?>
|
65
|
-
<!DOCTYPE
|
66
|
-
|
56
|
+
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
|
57
|
+
<topic#{compose_id (node.id or node.attributes['docname'])}#{outputclass}>
|
67
58
|
<title>#{node.doctitle}</title>
|
68
|
-
|
59
|
+
<body>
|
69
60
|
#{node.content}
|
70
|
-
|
71
|
-
|
61
|
+
</body>
|
62
|
+
</topic>
|
72
63
|
EOF
|
73
64
|
end
|
74
65
|
|
@@ -109,8 +100,8 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
109
100
|
# Open the table:
|
110
101
|
result = ['<table outputclass="callout-list">']
|
111
102
|
result << %(<tgroup cols="2">)
|
112
|
-
result << %(<colspec colwidth="
|
113
|
-
result << %(<colspec colwidth="
|
103
|
+
result << %(<colspec colwidth="15*" />)
|
104
|
+
result << %(<colspec colwidth="85*" />)
|
114
105
|
result << %(<tbody>)
|
115
106
|
|
116
107
|
# Process individual list items:
|
@@ -186,7 +177,7 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
186
177
|
result << '</dl>'
|
187
178
|
|
188
179
|
# Return the XML output:
|
189
|
-
add_block_title (result.join LF), node.title
|
180
|
+
add_block_title (result.join LF), node.title
|
190
181
|
end
|
191
182
|
|
192
183
|
def convert_example node
|
@@ -379,28 +370,18 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
379
370
|
end
|
380
371
|
|
381
372
|
def convert_listing node
|
382
|
-
# Check the
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
</codeblock>
|
392
|
-
EOF
|
393
|
-
else
|
394
|
-
# Compose the XML output:
|
395
|
-
result = <<~EOF.chomp
|
396
|
-
<screen>
|
397
|
-
#{node.content}
|
398
|
-
</screen>
|
399
|
-
EOF
|
400
|
-
end
|
373
|
+
# Check whether the source language is defined:
|
374
|
+
language = (node.attributes.key? 'language') ? %( outputclass="language-#{node.attributes['language']}") : ''
|
375
|
+
|
376
|
+
# Compose the XML output:
|
377
|
+
result = <<~EOF.chomp
|
378
|
+
<codeblock#{language}>
|
379
|
+
#{node.content}
|
380
|
+
</codeblock>
|
381
|
+
EOF
|
401
382
|
|
402
383
|
# Return the XML output:
|
403
|
-
add_block_title result, node.title
|
384
|
+
add_block_title result, node.title
|
404
385
|
end
|
405
386
|
|
406
387
|
def convert_literal node
|
@@ -412,7 +393,7 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
412
393
|
EOF
|
413
394
|
|
414
395
|
# Return the XML output:
|
415
|
-
add_block_title result, node.title
|
396
|
+
add_block_title result, node.title
|
416
397
|
end
|
417
398
|
|
418
399
|
def convert_olist node
|
@@ -436,7 +417,7 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
436
417
|
result << '</ol>'
|
437
418
|
|
438
419
|
# Return the XML output:
|
439
|
-
add_block_title (result.join LF), node.title
|
420
|
+
add_block_title (result.join LF), node.title
|
440
421
|
end
|
441
422
|
|
442
423
|
# FIXME: This is not the top priority.
|
@@ -455,7 +436,7 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
455
436
|
end
|
456
437
|
|
457
438
|
def convert_paragraph node
|
458
|
-
add_block_title %(<p>#{node.content}</p>), node.title
|
439
|
+
add_block_title %(<p>#{node.content}</p>), node.title
|
459
440
|
end
|
460
441
|
|
461
442
|
def convert_preamble node
|
@@ -652,7 +633,7 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
652
633
|
result << '</ul>'
|
653
634
|
|
654
635
|
# Returned the XML output:
|
655
|
-
add_block_title (result.join LF), node.title
|
636
|
+
add_block_title (result.join LF), node.title
|
656
637
|
end
|
657
638
|
|
658
639
|
def convert_verse node
|
@@ -704,12 +685,17 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
704
685
|
result << '</ol>'
|
705
686
|
|
706
687
|
# Return the XML output:
|
707
|
-
add_block_title (result.join LF), node.title
|
688
|
+
add_block_title (result.join LF), node.title
|
708
689
|
end
|
709
690
|
|
710
691
|
def compose_horizontal_dlist node
|
711
692
|
# Open the table:
|
712
693
|
result = ['<table outputclass="horizontal-dlist">']
|
694
|
+
|
695
|
+
# Check if the title is specified:
|
696
|
+
result << %(<title>#{node.title}</title>) if node.title?
|
697
|
+
|
698
|
+
# Define the table properties and open the tgroup:
|
713
699
|
result << %(<tgroup cols="2">)
|
714
700
|
result << %(<colspec colwidth="#{node.attr 'labelwidth', 15}*" />)
|
715
701
|
result << %(<colspec colwidth="#{node.attr 'itemwidth', 85}*" />)
|
@@ -755,7 +741,7 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
755
741
|
result << %(</table>)
|
756
742
|
|
757
743
|
# Return the XML output:
|
758
|
-
|
744
|
+
result.join LF
|
759
745
|
end
|
760
746
|
|
761
747
|
# Method aliases
|
@@ -766,10 +752,10 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
766
752
|
|
767
753
|
# Helper methods
|
768
754
|
|
769
|
-
def add_block_title content, title
|
755
|
+
def add_block_title content, title
|
770
756
|
# NOTE: Unlike AsciiDoc, DITA does not support titles assigned to
|
771
757
|
# certain block elements. As a workaround, I decided to use a paragraph
|
772
|
-
# with the outputclass attribute
|
758
|
+
# with the outputclass attribute.
|
773
759
|
|
774
760
|
# Check if the title is defined:
|
775
761
|
return content unless title
|
@@ -782,10 +768,8 @@ class DitaTopic < Asciidoctor::Converter::Base
|
|
782
768
|
|
783
769
|
# Return the XML output:
|
784
770
|
<<~EOF.chomp
|
785
|
-
<div outputclass="#{context}">
|
786
771
|
<p outputclass="title"><b>#{title}</b></p>
|
787
772
|
#{content}
|
788
|
-
</div>
|
789
773
|
EOF
|
790
774
|
end
|
791
775
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asciidoctor-dita-topic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jaromir Hradilek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
requirements: []
|
105
|
-
rubygems_version: 3.5.
|
105
|
+
rubygems_version: 3.5.16
|
106
106
|
signing_key:
|
107
107
|
specification_version: 4
|
108
108
|
summary: A custom AsciiDoc converter that generates individual DITA topics
|