metanorma-standoc 1.8.2 → 1.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/asciidoctor/standoc/blocks.rb +16 -7
- data/lib/asciidoctor/standoc/cleanup.rb +1 -0
- data/lib/asciidoctor/standoc/cleanup_block.rb +34 -20
- data/lib/asciidoctor/standoc/cleanup_inline.rb +4 -3
- data/lib/asciidoctor/standoc/isodoc.rng +63 -0
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +1 -1
- data/spec/{asciidoctor-standoc → asciidoctor}/base_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/blocks_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/cleanup_sections_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/cleanup_spec.rb +99 -2
- data/spec/{asciidoctor-standoc → asciidoctor}/datamodel/attributes_table_preprocessor_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/datamodel/diagram_preprocessor_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/inline_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/isobib_cache_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/lists_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/macros_json2text_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/macros_lutaml_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/macros_plantuml_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/macros_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/macros_yaml2text_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/refs_dl_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/refs_spec.rb +144 -122
- data/spec/{asciidoctor-standoc → asciidoctor}/section_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/table_spec.rb +0 -0
- data/spec/{asciidoctor-standoc → asciidoctor}/validate_spec.rb +0 -0
- data/spec/fixtures/action_schemaexpg1.svg +122 -0
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +94 -30
- metadata +25 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a5a0e8bdc48a2fa268df4c2d2342787a3c1312eb349c0a8a37306c2674c4440e
|
4
|
+
data.tar.gz: e063188d68034654d5edf0d45b51b22b7018371dfeef1b252576b6d3d8fe57b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd3fe9734d21153f7955dbd3b3eeade50bee97403a6bc53c18ef97cb72345970c7951f9d96b51916f4ce7a89ff56d6c8e6d9cf5b6d67482ed598c2c6ae8090e8
|
7
|
+
data.tar.gz: dbc628d7b0df786191086a908b0f849bb9f75dc23881030748313ed78350d9722675371483232bc52ebd38404ec1da79ee1e985484ae648212479a0b66ac346d
|
@@ -74,11 +74,20 @@ module Asciidoctor
|
|
74
74
|
%w(recommendation requirement permission).include?(role) and
|
75
75
|
return requirement(node, role)
|
76
76
|
return pseudocode_example(node) if role == "pseudocode"
|
77
|
+
return svgmap_example(node) if role == "svgmap"
|
77
78
|
example_proper(node)
|
78
79
|
end
|
79
80
|
|
81
|
+
def svgmap_example(node)
|
82
|
+
noko do |xml|
|
83
|
+
xml.svgmap **attr_code(example_attrs(node).merge(src: node.attr("src"), alt: node.attr("alt"))) do |ex|
|
84
|
+
ex << node.content
|
85
|
+
end
|
86
|
+
end.join("\n")
|
87
|
+
end
|
88
|
+
|
89
|
+
# prevent A's and other subs inappropriate for pseudocode
|
80
90
|
def pseudocode_example(node)
|
81
|
-
# prevent A's and other subs inappropriate for pseudocode
|
82
91
|
node.blocks.each { |b| b.remove_sub(:replacements) }
|
83
92
|
noko do |xml|
|
84
93
|
xml.figure **example_attrs(node).merge(class: "pseudocode") do |ex|
|
@@ -121,7 +130,7 @@ module Asciidoctor
|
|
121
130
|
|
122
131
|
def para_attrs(node)
|
123
132
|
attr_code(keep_attrs(node).merge(align: node.attr("align"),
|
124
|
-
|
133
|
+
id: Metanorma::Utils::anchor_or_uuid(node)))
|
125
134
|
end
|
126
135
|
|
127
136
|
def paragraph(node)
|
@@ -135,7 +144,7 @@ module Asciidoctor
|
|
135
144
|
|
136
145
|
def quote_attrs(node)
|
137
146
|
attr_code(keep_attrs(node).merge(align: node.attr("align"),
|
138
|
-
|
147
|
+
id: Metanorma::Utils::anchor_or_uuid(node)))
|
139
148
|
end
|
140
149
|
|
141
150
|
def quote_attribution(node, out)
|
@@ -160,10 +169,10 @@ module Asciidoctor
|
|
160
169
|
|
161
170
|
def listing_attrs(node)
|
162
171
|
attr_code(keep_attrs(node).merge(lang: node.attr("language"),
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
172
|
+
id: Metanorma::Utils::anchor_or_uuid(node),
|
173
|
+
unnumbered: node.option?("unnumbered") ? "true" : nil,
|
174
|
+
number: node.attr("number"),
|
175
|
+
filename: node.attr("filename")))
|
167
176
|
end
|
168
177
|
|
169
178
|
# NOTE: html escaping is performed by Nokogiri
|
@@ -1,6 +1,5 @@
|
|
1
1
|
require "date"
|
2
2
|
require "htmlentities"
|
3
|
-
require "json"
|
4
3
|
require "open-uri"
|
5
4
|
|
6
5
|
module Asciidoctor
|
@@ -22,9 +21,7 @@ module Asciidoctor
|
|
22
21
|
def dl1_table_cleanup(xmldoc)
|
23
22
|
q = "//table/following-sibling::*[1][self::dl]"
|
24
23
|
xmldoc.xpath(q).each do |s|
|
25
|
-
|
26
|
-
s.previous_element << s.remove
|
27
|
-
end
|
24
|
+
s["key"] == "true" and s.previous_element << s.remove
|
28
25
|
end
|
29
26
|
end
|
30
27
|
|
@@ -91,9 +88,7 @@ module Asciidoctor
|
|
91
88
|
def formula_cleanup_where1(x)
|
92
89
|
q = "//formula/following-sibling::*[1][self::dl]"
|
93
90
|
x.xpath(q).each do |s|
|
94
|
-
|
95
|
-
s.previous_element << s.remove
|
96
|
-
end
|
91
|
+
s["key"] == "true" and s.previous_element << s.remove
|
97
92
|
end
|
98
93
|
end
|
99
94
|
|
@@ -111,9 +106,7 @@ module Asciidoctor
|
|
111
106
|
def figure_dl_cleanup1(xmldoc)
|
112
107
|
q = "//figure/following-sibling::*[self::dl]"
|
113
108
|
xmldoc.xpath(q).each do |s|
|
114
|
-
|
115
|
-
s.previous_element << s.remove
|
116
|
-
end
|
109
|
+
s["key"] == "true" and s.previous_element << s.remove
|
117
110
|
end
|
118
111
|
end
|
119
112
|
|
@@ -121,8 +114,7 @@ module Asciidoctor
|
|
121
114
|
def figure_dl_cleanup2(xmldoc)
|
122
115
|
q = "//figure/following-sibling::*[self::p]"
|
123
116
|
xmldoc.xpath(q).each do |s|
|
124
|
-
if s.text =~ /^\s*key[^a-z]*$/i && !s.next_element.nil? &&
|
125
|
-
s.next_element.name == "dl"
|
117
|
+
if s.text =~ /^\s*key[^a-z]*$/i && !s.next_element.nil? && s.next_element.name == "dl"
|
126
118
|
s.next_element["key"] = "true"
|
127
119
|
s.previous_element << s.next_element.remove
|
128
120
|
s.remove
|
@@ -133,8 +125,7 @@ module Asciidoctor
|
|
133
125
|
# examples containing only figures become subfigures of figures
|
134
126
|
def subfigure_cleanup(xmldoc)
|
135
127
|
xmldoc.xpath("//example[figure]").each do |e|
|
136
|
-
next unless e.elements.map { |m| m.name }.
|
137
|
-
reject { |m| %w(name figure).include? m }.empty?
|
128
|
+
next unless e.elements.map { |m| m.name }.reject { |m| %w(name figure).include? m }.empty?
|
138
129
|
e.name = "figure"
|
139
130
|
end
|
140
131
|
end
|
@@ -146,12 +137,10 @@ module Asciidoctor
|
|
146
137
|
subfigure_cleanup(xmldoc)
|
147
138
|
end
|
148
139
|
|
149
|
-
ELEMS_ALLOW_NOTES =
|
150
|
-
%w[p formula ul ol dl figure].freeze
|
140
|
+
ELEMS_ALLOW_NOTES = %w[p formula ul ol dl figure].freeze
|
151
141
|
|
152
142
|
# if a note is at the end of a section, it is left alone
|
153
|
-
# if a note is followed by a non-note block,
|
154
|
-
# it is moved inside its preceding block if it is not delimited
|
143
|
+
# if a note is followed by a non-note block, it is moved inside its preceding block if it is not delimited
|
155
144
|
# (so there was no way of making that block include the note)
|
156
145
|
def note_cleanup(xmldoc)
|
157
146
|
q = "//note[following-sibling::*[not(local-name() = 'note')]]"
|
@@ -199,9 +188,34 @@ module Asciidoctor
|
|
199
188
|
n = d.next.remove
|
200
189
|
d << n.children
|
201
190
|
end
|
202
|
-
r.xpath("./description[normalize-space(.)='']").each
|
203
|
-
|
191
|
+
r.xpath("./description[normalize-space(.)='']").each { |d| d.replace("\n") }
|
192
|
+
end
|
193
|
+
|
194
|
+
def svgmap_cleanup(xmldoc)
|
195
|
+
svgmap_populate(xmldoc)
|
196
|
+
Metanorma::Utils::svgmap_rewrite(xmldoc, @localdir)
|
197
|
+
end
|
198
|
+
|
199
|
+
def svgmap_populate(xmldoc)
|
200
|
+
xmldoc.xpath("//svgmap").each do |s|
|
201
|
+
s1 = s.dup
|
202
|
+
s.children.remove
|
203
|
+
f = s1.at(".//figure") and s << f
|
204
|
+
s1.xpath(".//li").each do |li|
|
205
|
+
t = li&.at(".//eref | .//link | .//xref") or next
|
206
|
+
href = t.xpath("./following-sibling::node()")
|
207
|
+
next if href.empty?
|
208
|
+
s << %[<target href="#{svgmap_target(href)}">#{t.to_xml}</target>]
|
209
|
+
end
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
213
|
+
def svgmap_target(nodeset)
|
214
|
+
nodeset.each do |n|
|
215
|
+
next unless n.name == "link"
|
216
|
+
n.children = n["target"]
|
204
217
|
end
|
218
|
+
nodeset.text.sub(/^[,;]/, "").strip
|
205
219
|
end
|
206
220
|
end
|
207
221
|
end
|
@@ -74,10 +74,11 @@ module Asciidoctor
|
|
74
74
|
|
75
75
|
def xref_to_eref(x)
|
76
76
|
x["bibitemid"] = x["target"]
|
77
|
-
x["citeas"] = @anchors&.dig(x["target"], :xref)
|
77
|
+
unless x["citeas"] = @anchors&.dig(x["target"], :xref)
|
78
|
+
@internal_eref_namespaces.include?(x["type"]) or
|
78
79
|
@log.add("Crossreferences", x,
|
79
|
-
"#{x['target']} does not have a corresponding anchor ID "
|
80
|
-
|
80
|
+
"#{x['target']} does not have a corresponding anchor ID in the bibliography!")
|
81
|
+
end
|
81
82
|
x.delete("target")
|
82
83
|
extract_localities(x) unless x.children.empty?
|
83
84
|
end
|
@@ -812,6 +812,8 @@
|
|
812
812
|
<ref name="requirement"/>
|
813
813
|
<ref name="recommendation"/>
|
814
814
|
<ref name="permission"/>
|
815
|
+
<ref name="imagemap"/>
|
816
|
+
<ref name="svgmap"/>
|
815
817
|
</choice>
|
816
818
|
</define>
|
817
819
|
<define name="bibliography">
|
@@ -1635,4 +1637,65 @@
|
|
1635
1637
|
<text/>
|
1636
1638
|
</element>
|
1637
1639
|
</define>
|
1640
|
+
<define name="imagemap">
|
1641
|
+
<element name="imagemap">
|
1642
|
+
<ref name="figure"/>
|
1643
|
+
<zeroOrMore>
|
1644
|
+
<element name="area">
|
1645
|
+
<attribute name="type">
|
1646
|
+
<choice>
|
1647
|
+
<value>rect</value>
|
1648
|
+
<value>circle</value>
|
1649
|
+
<value>ellipse</value>
|
1650
|
+
<value>poly</value>
|
1651
|
+
</choice>
|
1652
|
+
</attribute>
|
1653
|
+
<choice>
|
1654
|
+
<ref name="xref"/>
|
1655
|
+
<ref name="hyperlink"/>
|
1656
|
+
<ref name="eref"/>
|
1657
|
+
</choice>
|
1658
|
+
<oneOrMore>
|
1659
|
+
<element name="coords">
|
1660
|
+
<attribute name="x">
|
1661
|
+
<data type="float"/>
|
1662
|
+
</attribute>
|
1663
|
+
<attribute name="y">
|
1664
|
+
<data type="float"/>
|
1665
|
+
</attribute>
|
1666
|
+
</element>
|
1667
|
+
</oneOrMore>
|
1668
|
+
<optional>
|
1669
|
+
<element name="radius">
|
1670
|
+
<attribute name="x">
|
1671
|
+
<data type="float"/>
|
1672
|
+
</attribute>
|
1673
|
+
<optional>
|
1674
|
+
<attribute name="y">
|
1675
|
+
<data type="float"/>
|
1676
|
+
</attribute>
|
1677
|
+
</optional>
|
1678
|
+
</element>
|
1679
|
+
</optional>
|
1680
|
+
</element>
|
1681
|
+
</zeroOrMore>
|
1682
|
+
</element>
|
1683
|
+
</define>
|
1684
|
+
<define name="svgmap">
|
1685
|
+
<element name="svgmap">
|
1686
|
+
<ref name="figure"/>
|
1687
|
+
<zeroOrMore>
|
1688
|
+
<element name="target">
|
1689
|
+
<attribute name="href">
|
1690
|
+
<data type="anyURI"/>
|
1691
|
+
</attribute>
|
1692
|
+
<choice>
|
1693
|
+
<ref name="xref"/>
|
1694
|
+
<ref name="hyperlink"/>
|
1695
|
+
<ref name="eref"/>
|
1696
|
+
</choice>
|
1697
|
+
</element>
|
1698
|
+
</zeroOrMore>
|
1699
|
+
</element>
|
1700
|
+
</define>
|
1638
1701
|
</grammar>
|
data/metanorma-standoc.gemspec
CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.add_dependency "relaton-iev", "~> 1.1.0"
|
38
38
|
spec.add_dependency "concurrent-ruby"
|
39
39
|
spec.add_dependency "unicode2latex", "~> 0.0.1"
|
40
|
-
spec.add_dependency "metanorma-utils", "~> 1"
|
40
|
+
spec.add_dependency "metanorma-utils", "~> 1.0.2"
|
41
41
|
spec.add_dependency "mimemagic"
|
42
42
|
spec.add_dependency "mathml2asciimath"
|
43
43
|
spec.add_dependency "latexmath"
|
File without changes
|
File without changes
|
File without changes
|
@@ -3,6 +3,105 @@ require "relaton_iec"
|
|
3
3
|
require "fileutils"
|
4
4
|
|
5
5
|
RSpec.describe Asciidoctor::Standoc do
|
6
|
+
it "processes svgmap" do
|
7
|
+
FileUtils.cp "spec/fixtures/action_schemaexpg1.svg", "action_schemaexpg1.svg"
|
8
|
+
FileUtils.cp "spec/fixtures/action_schemaexpg1.svg", "action_schemaexpg2.svg"
|
9
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
10
|
+
#{ASCIIDOC_BLANK_HDR}
|
11
|
+
|
12
|
+
[svgmap]
|
13
|
+
====
|
14
|
+
* <<ref1,Computer>>; http://www.example.com
|
15
|
+
====
|
16
|
+
|
17
|
+
[[ref1]]
|
18
|
+
[.svgmap]
|
19
|
+
====
|
20
|
+
image::action_schemaexpg1.svg[]
|
21
|
+
|
22
|
+
* <<ref1,Computer>>; mn://action_schema
|
23
|
+
* http://www.example.com[Phone]; http://www.example.com
|
24
|
+
====
|
25
|
+
|
26
|
+
[svgmap]
|
27
|
+
====
|
28
|
+
[alt=Workmap]
|
29
|
+
image::action_schemaexpg2.svg[]
|
30
|
+
|
31
|
+
* <<ref1,Computer>>; href1.htm
|
32
|
+
* http://www.example.com[Phone]; mn://basic_attribute_schema
|
33
|
+
* <<express:action_schema:action_schema.basic,Coffee>>; mn://support_resource_schema
|
34
|
+
====
|
35
|
+
INPUT
|
36
|
+
#{BLANK_HDR}
|
37
|
+
<sections>
|
38
|
+
<svgmap id='_'>
|
39
|
+
<target href='http://www.example.com'>
|
40
|
+
<xref target='ref1'>Computer</xref>
|
41
|
+
</target>
|
42
|
+
</svgmap>
|
43
|
+
<figure id='_'>
|
44
|
+
<image src='action_schemaexpg1.svg' id='_' mimetype='image/svg+xml' height='auto' width='auto'/>
|
45
|
+
</figure>
|
46
|
+
<svgmap id='_'>
|
47
|
+
<figure id='_'>
|
48
|
+
<image src='action_schemaexpg2.svg' id='_' mimetype='image/svg+xml' height='auto' width='auto' alt='Workmap'/>
|
49
|
+
</figure>
|
50
|
+
<target href='mn://support_resource_schema'>
|
51
|
+
<eref bibitemid='express_action_schema' citeas=''>
|
52
|
+
<localityStack>
|
53
|
+
<locality type='anchor'>
|
54
|
+
<referenceFrom>action_schema.basic</referenceFrom>
|
55
|
+
</locality>
|
56
|
+
</localityStack>
|
57
|
+
Coffee
|
58
|
+
</eref>
|
59
|
+
</target>
|
60
|
+
</svgmap>
|
61
|
+
</sections>
|
62
|
+
<bibliography>
|
63
|
+
<references hidden='true' normative='false'>
|
64
|
+
<bibitem id='express_action_schema' type='internal'>
|
65
|
+
<docidentifier type='repository'>express/action_schema</docidentifier>
|
66
|
+
</bibitem>
|
67
|
+
</references>
|
68
|
+
</bibliography>
|
69
|
+
</standard-document>
|
70
|
+
OUTPUT
|
71
|
+
expect(xmlpp(File.read("action_schemaexpg1.svg", encoding: "utf-8").sub(%r{<image .*</image>}m, ""))).to be_equivalent_to <<~OUTPUT
|
72
|
+
<?xml version='1.0' encoding='UTF-8'?>
|
73
|
+
<!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
74
|
+
<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='Layer_1' x='0px' y='0px' viewBox='0 0 595.28 841.89' style='enable-background:new 0 0 595.28 841.89;' xml:space='preserve'>
|
75
|
+
<style type='text/css'> .st0{fill:none;stroke:#000000;stroke-miterlimit:10;} </style>
|
76
|
+
<a xlink:href='#ref1'>
|
77
|
+
<rect x='123.28' y='273.93' class='st0' width='88.05' height='41.84'/>
|
78
|
+
</a>
|
79
|
+
<a xlink:href='mn://basic_attribute_schema'>
|
80
|
+
<rect x='324.69' y='450.52' class='st0' width='132.62' height='40.75'/>
|
81
|
+
</a>
|
82
|
+
<a xlink:href='mn://support_resource_schema'>
|
83
|
+
<rect x='324.69' y='528.36' class='st0' width='148.16' height='40.75'/>
|
84
|
+
</a>
|
85
|
+
</svg>
|
86
|
+
OUTPUT
|
87
|
+
expect(xmlpp(File.read("action_schemaexpg2.svg", encoding: "utf-8").sub(%r{<image .*</image>}m, ""))).to be_equivalent_to <<~OUTPUT
|
88
|
+
<?xml version='1.0' encoding='UTF-8'?>
|
89
|
+
<!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
90
|
+
<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='Layer_1' x='0px' y='0px' viewBox='0 0 595.28 841.89' style='enable-background:new 0 0 595.28 841.89;' xml:space='preserve'>
|
91
|
+
<style type='text/css'> .st0{fill:none;stroke:#000000;stroke-miterlimit:10;} </style>
|
92
|
+
<a xlink:href='mn://action_schema'>
|
93
|
+
<rect x='123.28' y='273.93' class='st0' width='88.05' height='41.84'/>
|
94
|
+
</a>
|
95
|
+
<a xlink:href='http://www.example.com'>
|
96
|
+
<rect x='324.69' y='450.52' class='st0' width='132.62' height='40.75'/>
|
97
|
+
</a>
|
98
|
+
<a xlink:href='mn://support_resource_schema'>
|
99
|
+
<rect x='324.69' y='528.36' class='st0' width='148.16' height='40.75'/>
|
100
|
+
</a>
|
101
|
+
</svg>
|
102
|
+
OUTPUT
|
103
|
+
end
|
104
|
+
|
6
105
|
it "processes markup in sourcecode" do
|
7
106
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
8
107
|
#{ASCIIDOC_BLANK_HDR}
|
@@ -2404,6 +2503,4 @@ OUTPUT
|
|
2404
2503
|
end.at_least :once
|
2405
2504
|
end
|
2406
2505
|
|
2407
|
-
|
2408
|
-
|
2409
2506
|
end
|
data/spec/{asciidoctor-standoc → asciidoctor}/datamodel/attributes_table_preprocessor_spec.rb
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1214,128 +1214,150 @@ OUTPUT
|
|
1214
1214
|
</sections><bibliography><references id="_" obligation="informative" normative="true">
|
1215
1215
|
<title>Normative references</title>
|
1216
1216
|
#{NORM_REF_BOILERPLATE}
|
1217
|
-
|
1218
|
-
|
1219
|
-
|
1220
|
-
|
1221
|
-
|
1222
|
-
|
1223
|
-
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1231
|
-
|
1232
|
-
|
1233
|
-
|
1234
|
-
|
1235
|
-
|
1236
|
-
|
1237
|
-
|
1238
|
-
|
1239
|
-
|
1240
|
-
|
1241
|
-
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
|
1246
|
-
|
1247
|
-
|
1248
|
-
|
1249
|
-
|
1250
|
-
|
1251
|
-
|
1252
|
-
|
1253
|
-
|
1254
|
-
|
1255
|
-
|
1256
|
-
|
1257
|
-
|
1258
|
-
|
1259
|
-
|
1260
|
-
|
1261
|
-
|
1262
|
-
|
1263
|
-
|
1264
|
-
|
1265
|
-
|
1266
|
-
|
1267
|
-
|
1268
|
-
|
1269
|
-
|
1270
|
-
|
1271
|
-
|
1272
|
-
|
1273
|
-
|
1274
|
-
|
1275
|
-
|
1276
|
-
|
1277
|
-
|
1278
|
-
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1284
|
-
|
1285
|
-
|
1286
|
-
|
1287
|
-
|
1288
|
-
|
1289
|
-
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1293
|
-
|
1294
|
-
|
1295
|
-
|
1296
|
-
|
1297
|
-
|
1298
|
-
|
1299
|
-
|
1300
|
-
|
1301
|
-
|
1302
|
-
|
1303
|
-
|
1304
|
-
|
1305
|
-
|
1306
|
-
|
1307
|
-
|
1308
|
-
|
1309
|
-
|
1310
|
-
|
1311
|
-
|
1312
|
-
|
1313
|
-
|
1314
|
-
|
1315
|
-
|
1316
|
-
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1330
|
-
|
1331
|
-
|
1332
|
-
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1337
|
-
|
1338
|
-
|
1217
|
+
<bibitem id='iso123' type='standard'>
|
1218
|
+
<fetched>#{Date.today}</fetched>
|
1219
|
+
<title format='text/plain' language='en' script='Latn'>Network Configuration Access Control Model</title>
|
1220
|
+
<uri type='xml'>
|
1221
|
+
https://raw.githubusercontent.com/relaton/relaton-data-ietf/master/data/reference.RFC.8341.xml
|
1222
|
+
</uri>
|
1223
|
+
<uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
|
1224
|
+
<docidentifier type='IETF'>RFC 8341</docidentifier>
|
1225
|
+
<docidentifier type='rfc-anchor'>RFC8341</docidentifier>
|
1226
|
+
<docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
|
1227
|
+
<date type='published'>
|
1228
|
+
<on>2018-03</on>
|
1229
|
+
</date>
|
1230
|
+
<contributor>
|
1231
|
+
<role type='author'/>
|
1232
|
+
<person>
|
1233
|
+
<name>
|
1234
|
+
<completename language='en'>A. Bierman</completename>
|
1235
|
+
</name>
|
1236
|
+
<affiliation>
|
1237
|
+
<organization>
|
1238
|
+
<name>Internet Engineering Task Force</name>
|
1239
|
+
<abbreviation>IETF</abbreviation>
|
1240
|
+
</organization>
|
1241
|
+
</affiliation>
|
1242
|
+
</person>
|
1243
|
+
</contributor>
|
1244
|
+
<contributor>
|
1245
|
+
<role type='author'/>
|
1246
|
+
<person>
|
1247
|
+
<name>
|
1248
|
+
<completename language='en'>M. Bjorklund</completename>
|
1249
|
+
</name>
|
1250
|
+
<affiliation>
|
1251
|
+
<organization>
|
1252
|
+
<name>Internet Engineering Task Force</name>
|
1253
|
+
<abbreviation>IETF</abbreviation>
|
1254
|
+
</organization>
|
1255
|
+
</affiliation>
|
1256
|
+
</person>
|
1257
|
+
</contributor>
|
1258
|
+
<contributor>
|
1259
|
+
<role type='publisher'/>
|
1260
|
+
<organization>
|
1261
|
+
<name>Internet Engineering Task Force</name>
|
1262
|
+
<abbreviation>IETF</abbreviation>
|
1263
|
+
</organization>
|
1264
|
+
</contributor>
|
1265
|
+
<language>en</language>
|
1266
|
+
<script>Latn</script>
|
1267
|
+
<abstract format='text/plain' language='en' script='Latn'>
|
1268
|
+
The standardization of network configuration interfaces for use with
|
1269
|
+
the Network Configuration Protocol (NETCONF) or the RESTCONF protocol
|
1270
|
+
requires a structured and secure operating environment that promotes
|
1271
|
+
human usability and multi-vendor interoperability. There is a need for
|
1272
|
+
standard mechanisms to restrict NETCONF or RESTCONF protocol access
|
1273
|
+
for particular users to a preconfigured subset of all available
|
1274
|
+
NETCONF or RESTCONF protocol operations and content. This document
|
1275
|
+
defines such an access control model.This document obsoletes RFC 6536.
|
1276
|
+
</abstract>
|
1277
|
+
<series type='main'>
|
1278
|
+
<title format='text/plain' language='en' script='Latn'>STD</title>
|
1279
|
+
<number>91</number>
|
1280
|
+
</series>
|
1281
|
+
<series type='main'>
|
1282
|
+
<title format='text/plain' language='en' script='Latn'>RFC</title>
|
1283
|
+
<number>8341</number>
|
1284
|
+
</series>
|
1285
|
+
<place>Fremont, CA</place>
|
1286
|
+
</bibitem>
|
1287
|
+
<bibitem id='iso124' type='standard'>
|
1288
|
+
<fetched>#{Date.today}</fetched>
|
1289
|
+
<title format='text/plain' language='en' script='Latn'>Network Configuration Access Control Model</title>
|
1290
|
+
<uri type='xml'>
|
1291
|
+
https://raw.githubusercontent.com/relaton/relaton-data-ietf/master/data/reference.RFC.8341.xml
|
1292
|
+
</uri>
|
1293
|
+
<uri type='src'>https://www.rfc-editor.org/info/rfc8341</uri>
|
1294
|
+
<docidentifier type='IETF'>RFC 8341</docidentifier>
|
1295
|
+
<docidentifier type='metanorma'>[2]</docidentifier>
|
1296
|
+
<docidentifier type='rfc-anchor'>RFC8341</docidentifier>
|
1297
|
+
<docidentifier type='DOI'>10.17487/RFC8341</docidentifier>
|
1298
|
+
<date type='published'>
|
1299
|
+
<on>2018-03</on>
|
1300
|
+
</date>
|
1301
|
+
<contributor>
|
1302
|
+
<role type='author'/>
|
1303
|
+
<person>
|
1304
|
+
<name>
|
1305
|
+
<completename language='en'>A. Bierman</completename>
|
1306
|
+
</name>
|
1307
|
+
<affiliation>
|
1308
|
+
<organization>
|
1309
|
+
<name>Internet Engineering Task Force</name>
|
1310
|
+
<abbreviation>IETF</abbreviation>
|
1311
|
+
</organization>
|
1312
|
+
</affiliation>
|
1313
|
+
</person>
|
1314
|
+
</contributor>
|
1315
|
+
<contributor>
|
1316
|
+
<role type='author'/>
|
1317
|
+
<person>
|
1318
|
+
<name>
|
1319
|
+
<completename language='en'>M. Bjorklund</completename>
|
1320
|
+
</name>
|
1321
|
+
<affiliation>
|
1322
|
+
<organization>
|
1323
|
+
<name>Internet Engineering Task Force</name>
|
1324
|
+
<abbreviation>IETF</abbreviation>
|
1325
|
+
</organization>
|
1326
|
+
</affiliation>
|
1327
|
+
</person>
|
1328
|
+
</contributor>
|
1329
|
+
<contributor>
|
1330
|
+
<role type='publisher'/>
|
1331
|
+
<organization>
|
1332
|
+
<name>Internet Engineering Task Force</name>
|
1333
|
+
<abbreviation>IETF</abbreviation>
|
1334
|
+
</organization>
|
1335
|
+
</contributor>
|
1336
|
+
<language>en</language>
|
1337
|
+
<script>Latn</script>
|
1338
|
+
<abstract format='text/plain' language='en' script='Latn'>
|
1339
|
+
The standardization of network configuration interfaces for use with
|
1340
|
+
the Network Configuration Protocol (NETCONF) or the RESTCONF protocol
|
1341
|
+
requires a structured and secure operating environment that promotes
|
1342
|
+
human usability and multi-vendor interoperability. There is a need for
|
1343
|
+
standard mechanisms to restrict NETCONF or RESTCONF protocol access
|
1344
|
+
for particular users to a preconfigured subset of all available
|
1345
|
+
NETCONF or RESTCONF protocol operations and content. This document
|
1346
|
+
defines such an access control model.This document obsoletes RFC 6536.
|
1347
|
+
</abstract>
|
1348
|
+
<series type='main'>
|
1349
|
+
<title format='text/plain' language='en' script='Latn'>STD</title>
|
1350
|
+
<number>91</number>
|
1351
|
+
</series>
|
1352
|
+
<series type='main'>
|
1353
|
+
<title format='text/plain' language='en' script='Latn'>RFC</title>
|
1354
|
+
<number>8341</number>
|
1355
|
+
</series>
|
1356
|
+
<place>Fremont, CA</place>
|
1357
|
+
</bibitem>
|
1358
|
+
</references>
|
1359
|
+
</bibliography>
|
1360
|
+
</standard-document>
|
1339
1361
|
OUTPUT
|
1340
1362
|
end
|
1341
1363
|
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,122 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- Generator: Adobe Illustrator 25.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
3
|
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
4
|
+
viewBox="0 0 595.28 841.89" style="enable-background:new 0 0 595.28 841.89;" xml:space="preserve">
|
5
|
+
<style type="text/css">
|
6
|
+
.st0{fill:none;stroke:#000000;stroke-miterlimit:10;}
|
7
|
+
</style>
|
8
|
+
<image style="overflow:visible;" width="368" height="315" xlink:href="data:image/gif;base64,R0lGODlhcAE7Aff/AAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBmAABmMwBm
|
9
|
+
ZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/MwD/ZgD/
|
10
|
+
mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNmZjNmmTNm
|
11
|
+
zDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/mTP/zDP/
|
12
|
+
/2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZmzGZm/2aZ
|
13
|
+
AGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkA
|
14
|
+
M5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZAJmZM5mZ
|
15
|
+
ZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswA
|
16
|
+
mcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZZsyZmcyZ
|
17
|
+
zMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A
|
18
|
+
//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+ZzP+Z///M
|
19
|
+
AP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP////j4+PLy8uvr6+Xl5d/f39jY2NLS0szM
|
20
|
+
zMXFxb+/v7i4uLKysqysrKWlpZ+fn5mZmZKSkoyMjIWFhX9/f3l5eXJycmxsbGZmZl9fX1lZWVJS
|
21
|
+
UkxMTEZGRj8/Pzk5OTMzMywsLCYmJh8fHxkZGRMTEwwMDAYGBgAAACwAAAAAcAE7AQAI/gCvCRxI
|
22
|
+
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN
|
23
|
+
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" transform="matrix(1 0 0 1 114 263.8898)">
|
112
|
+
</image>
|
113
|
+
<a xlink:href="mn://action_schema" >
|
114
|
+
<rect x="123.28" y="273.93" class="st0" width="88.05" height="41.84"/>
|
115
|
+
</a>
|
116
|
+
<a xlink:href="mn://basic_attribute_schema" >
|
117
|
+
<rect x="324.69" y="450.52" class="st0" width="132.62" height="40.75"/>
|
118
|
+
</a>
|
119
|
+
<a xlink:href="mn://support_resource_schema" >
|
120
|
+
<rect x="324.69" y="528.36" class="st0" width="148.16" height="40.75"/>
|
121
|
+
</a>
|
122
|
+
</svg>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://
|
5
|
+
uri: https://raw.githubusercontent.com/relaton/relaton-data-ietf/master/data/reference.RFC.8341.xml
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -14,28 +14,60 @@ http_interactions:
|
|
14
14
|
User-Agent:
|
15
15
|
- Ruby
|
16
16
|
Host:
|
17
|
-
-
|
17
|
+
- raw.githubusercontent.com
|
18
18
|
response:
|
19
19
|
status:
|
20
20
|
code: 200
|
21
21
|
message: OK
|
22
22
|
headers:
|
23
|
-
|
24
|
-
-
|
25
|
-
|
26
|
-
-
|
27
|
-
|
28
|
-
-
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
Content-Length:
|
26
|
+
- '618'
|
27
|
+
Content-Type:
|
28
|
+
- text/plain; charset=utf-8
|
29
|
+
Cache-Control:
|
30
|
+
- max-age=300
|
31
|
+
Content-Security-Policy:
|
32
|
+
- default-src 'none'; style-src 'unsafe-inline'; sandbox
|
29
33
|
Etag:
|
30
|
-
-
|
34
|
+
- W/"917849434ef8ee04a3bcadf9ae049ece388743c0c3d6cc3be9719aa90d0c2aa3"
|
35
|
+
Strict-Transport-Security:
|
36
|
+
- max-age=31536000
|
37
|
+
X-Content-Type-Options:
|
38
|
+
- nosniff
|
39
|
+
X-Frame-Options:
|
40
|
+
- deny
|
41
|
+
X-Xss-Protection:
|
42
|
+
- 1; mode=block
|
43
|
+
X-Github-Request-Id:
|
44
|
+
- B5BC:0DDF:19AA11:1D7122:602088BC
|
31
45
|
Accept-Ranges:
|
32
46
|
- bytes
|
33
|
-
|
34
|
-
-
|
35
|
-
|
36
|
-
-
|
47
|
+
Date:
|
48
|
+
- Mon, 08 Feb 2021 00:41:41 GMT
|
49
|
+
Via:
|
50
|
+
- 1.1 varnish
|
51
|
+
X-Served-By:
|
52
|
+
- cache-mel11240-MEL
|
53
|
+
X-Cache:
|
54
|
+
- MISS
|
55
|
+
X-Cache-Hits:
|
56
|
+
- '0'
|
57
|
+
X-Timer:
|
58
|
+
- S1612744901.364584,VS0,VE392
|
59
|
+
Vary:
|
60
|
+
- Authorization,Accept-Encoding, Accept-Encoding
|
61
|
+
Access-Control-Allow-Origin:
|
62
|
+
- "*"
|
63
|
+
X-Fastly-Request-Id:
|
64
|
+
- 3eb9cc91bfd01ce6f01a711732c525441e210a07
|
65
|
+
Expires:
|
66
|
+
- Mon, 08 Feb 2021 00:46:41 GMT
|
67
|
+
Source-Age:
|
68
|
+
- '0'
|
37
69
|
body:
|
38
|
-
encoding:
|
70
|
+
encoding: ASCII-8BIT
|
39
71
|
string: |
|
40
72
|
<?xml version='1.0' encoding='UTF-8'?>
|
41
73
|
|
@@ -52,10 +84,10 @@ http_interactions:
|
|
52
84
|
<seriesInfo name='DOI' value='10.17487/RFC8341'/>
|
53
85
|
</reference>
|
54
86
|
http_version:
|
55
|
-
recorded_at:
|
87
|
+
recorded_at: Mon, 08 Feb 2021 00:41:41 GMT
|
56
88
|
- request:
|
57
89
|
method: get
|
58
|
-
uri: https://
|
90
|
+
uri: https://raw.githubusercontent.com/relaton/relaton-data-ietf/master/data/reference.RFC.8341.xml
|
59
91
|
body:
|
60
92
|
encoding: US-ASCII
|
61
93
|
string: ''
|
@@ -67,28 +99,60 @@ http_interactions:
|
|
67
99
|
User-Agent:
|
68
100
|
- Ruby
|
69
101
|
Host:
|
70
|
-
-
|
102
|
+
- raw.githubusercontent.com
|
71
103
|
response:
|
72
104
|
status:
|
73
105
|
code: 200
|
74
106
|
message: OK
|
75
107
|
headers:
|
76
|
-
|
77
|
-
-
|
78
|
-
|
79
|
-
-
|
80
|
-
|
81
|
-
-
|
108
|
+
Connection:
|
109
|
+
- keep-alive
|
110
|
+
Content-Length:
|
111
|
+
- '618'
|
112
|
+
Content-Type:
|
113
|
+
- text/plain; charset=utf-8
|
114
|
+
Cache-Control:
|
115
|
+
- max-age=300
|
116
|
+
Content-Security-Policy:
|
117
|
+
- default-src 'none'; style-src 'unsafe-inline'; sandbox
|
82
118
|
Etag:
|
83
|
-
-
|
119
|
+
- W/"917849434ef8ee04a3bcadf9ae049ece388743c0c3d6cc3be9719aa90d0c2aa3"
|
120
|
+
Strict-Transport-Security:
|
121
|
+
- max-age=31536000
|
122
|
+
X-Content-Type-Options:
|
123
|
+
- nosniff
|
124
|
+
X-Frame-Options:
|
125
|
+
- deny
|
126
|
+
X-Xss-Protection:
|
127
|
+
- 1; mode=block
|
128
|
+
X-Github-Request-Id:
|
129
|
+
- B5BC:0DDF:19AA11:1D7122:602088BC
|
84
130
|
Accept-Ranges:
|
85
131
|
- bytes
|
86
|
-
|
87
|
-
-
|
88
|
-
|
89
|
-
-
|
132
|
+
Date:
|
133
|
+
- Mon, 08 Feb 2021 00:41:41 GMT
|
134
|
+
Via:
|
135
|
+
- 1.1 varnish
|
136
|
+
X-Served-By:
|
137
|
+
- cache-mel11257-MEL
|
138
|
+
X-Cache:
|
139
|
+
- HIT
|
140
|
+
X-Cache-Hits:
|
141
|
+
- '1'
|
142
|
+
X-Timer:
|
143
|
+
- S1612744902.820850,VS0,VE0
|
144
|
+
Vary:
|
145
|
+
- Authorization,Accept-Encoding, Accept-Encoding
|
146
|
+
Access-Control-Allow-Origin:
|
147
|
+
- "*"
|
148
|
+
X-Fastly-Request-Id:
|
149
|
+
- c7ec6c3ddfd52d0d407a26b2e03bf80e8f3a44f7
|
150
|
+
Expires:
|
151
|
+
- Mon, 08 Feb 2021 00:46:41 GMT
|
152
|
+
Source-Age:
|
153
|
+
- '0'
|
90
154
|
body:
|
91
|
-
encoding:
|
155
|
+
encoding: ASCII-8BIT
|
92
156
|
string: |
|
93
157
|
<?xml version='1.0' encoding='UTF-8'?>
|
94
158
|
|
@@ -105,5 +169,5 @@ http_interactions:
|
|
105
169
|
<seriesInfo name='DOI' value='10.17487/RFC8341'/>
|
106
170
|
</reference>
|
107
171
|
http_version:
|
108
|
-
recorded_at:
|
172
|
+
recorded_at: Mon, 08 Feb 2021 00:41:41 GMT
|
109
173
|
recorded_with: VCR 5.0.0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-standoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -156,14 +156,14 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 1.0.2
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
166
|
+
version: 1.0.2
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: mimemagic
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -451,25 +451,25 @@ files:
|
|
451
451
|
- lib/metanorma/standoc/processor.rb
|
452
452
|
- lib/metanorma/standoc/version.rb
|
453
453
|
- metanorma-standoc.gemspec
|
454
|
-
- spec/asciidoctor
|
455
|
-
- spec/asciidoctor
|
456
|
-
- spec/asciidoctor
|
457
|
-
- spec/asciidoctor
|
458
|
-
- spec/asciidoctor
|
459
|
-
- spec/asciidoctor
|
460
|
-
- spec/asciidoctor
|
461
|
-
- spec/asciidoctor
|
462
|
-
- spec/asciidoctor
|
463
|
-
- spec/asciidoctor
|
464
|
-
- spec/asciidoctor
|
465
|
-
- spec/asciidoctor
|
466
|
-
- spec/asciidoctor
|
467
|
-
- spec/asciidoctor
|
468
|
-
- spec/asciidoctor
|
469
|
-
- spec/asciidoctor
|
470
|
-
- spec/asciidoctor
|
471
|
-
- spec/asciidoctor
|
472
|
-
- spec/asciidoctor
|
454
|
+
- spec/asciidoctor/base_spec.rb
|
455
|
+
- spec/asciidoctor/blocks_spec.rb
|
456
|
+
- spec/asciidoctor/cleanup_sections_spec.rb
|
457
|
+
- spec/asciidoctor/cleanup_spec.rb
|
458
|
+
- spec/asciidoctor/datamodel/attributes_table_preprocessor_spec.rb
|
459
|
+
- spec/asciidoctor/datamodel/diagram_preprocessor_spec.rb
|
460
|
+
- spec/asciidoctor/inline_spec.rb
|
461
|
+
- spec/asciidoctor/isobib_cache_spec.rb
|
462
|
+
- spec/asciidoctor/lists_spec.rb
|
463
|
+
- spec/asciidoctor/macros_json2text_spec.rb
|
464
|
+
- spec/asciidoctor/macros_lutaml_spec.rb
|
465
|
+
- spec/asciidoctor/macros_plantuml_spec.rb
|
466
|
+
- spec/asciidoctor/macros_spec.rb
|
467
|
+
- spec/asciidoctor/macros_yaml2text_spec.rb
|
468
|
+
- spec/asciidoctor/refs_dl_spec.rb
|
469
|
+
- spec/asciidoctor/refs_spec.rb
|
470
|
+
- spec/asciidoctor/section_spec.rb
|
471
|
+
- spec/asciidoctor/table_spec.rb
|
472
|
+
- spec/asciidoctor/validate_spec.rb
|
473
473
|
- spec/assets/boilerplate.xml
|
474
474
|
- spec/assets/codes.yml
|
475
475
|
- spec/assets/header.html
|
@@ -529,6 +529,7 @@ files:
|
|
529
529
|
- spec/examples/rice_images/rice_image3_1.png
|
530
530
|
- spec/examples/rice_images/rice_image3_2.png
|
531
531
|
- spec/examples/rice_images/rice_image3_3.png
|
532
|
+
- spec/fixtures/action_schemaexpg1.svg
|
532
533
|
- spec/fixtures/diagram_definitions.lutaml
|
533
534
|
- spec/fixtures/macros_datamodel/address_class_profile.xml
|
534
535
|
- spec/fixtures/macros_datamodel/address_component_profile.xml
|
@@ -566,7 +567,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
566
567
|
- !ruby/object:Gem::Version
|
567
568
|
version: '0'
|
568
569
|
requirements: []
|
569
|
-
rubygems_version: 3.
|
570
|
+
rubygems_version: 3.1.4
|
570
571
|
signing_key:
|
571
572
|
specification_version: 4
|
572
573
|
summary: metanorma-standoc realises standards following the Metanorma standoc model
|