metanorma-standoc 1.1.7 → 1.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +6 -6
- data/lib/asciidoctor/standoc/biblio.rng +3 -0
- data/lib/asciidoctor/standoc/cleanup_block.rb +7 -6
- data/lib/asciidoctor/standoc/front.rb +34 -7
- data/lib/asciidoctor/standoc/isodoc.rng +38 -8
- data/lib/metanorma/standoc/version.rb +1 -1
- data/spec/asciidoctor-standoc/base_spec.rb +12 -11
- data/spec/asciidoctor-standoc/refs_spec.rb +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 824b1e03a0d0ad3473df22d417991f5e7a1dbf551143d0a810c3b0d66a126f4e
|
4
|
+
data.tar.gz: 67a0fe247f7c6bf8339bcd8e0188a2b301b44fd865d8c171bd39508ca42f6246
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1a583f8f45b49cc1645bda7eea76e45750eadec72abc248db93e980fde9d96525e6c2fa80de2092ca0db4b58b5e58159621059ceab9a4a383ecc4a67a4a8202
|
7
|
+
data.tar.gz: 7dfff1109a7d3fb6905840170fe738c94301c3521c65786702a5f6055756885acb20f0cf013ead5d1004bfe6e9b558bb9e679f4d45ee73e9d1cef8cbfb8d9219
|
data/Gemfile.lock
CHANGED
@@ -8,7 +8,7 @@ GIT
|
|
8
8
|
PATH
|
9
9
|
remote: .
|
10
10
|
specs:
|
11
|
-
metanorma-standoc (1.1.
|
11
|
+
metanorma-standoc (1.1.8)
|
12
12
|
asciidoctor (~> 1.5.7)
|
13
13
|
concurrent-ruby
|
14
14
|
html2doc (~> 0.8.0)
|
@@ -61,7 +61,7 @@ GEM
|
|
61
61
|
guard (~> 2.1)
|
62
62
|
guard-compat (~> 1.1)
|
63
63
|
rspec (>= 2.99.0, < 4.0)
|
64
|
-
hashdiff (0.3.
|
64
|
+
hashdiff (0.3.9)
|
65
65
|
html2doc (0.8.10)
|
66
66
|
asciimath (~> 1.0.7)
|
67
67
|
htmlentities (~> 4.3.4)
|
@@ -75,7 +75,7 @@ GEM
|
|
75
75
|
iecbib (0.2.2)
|
76
76
|
addressable
|
77
77
|
iso-bib-item (~> 0.4.2)
|
78
|
-
ietfbib (0.4.
|
78
|
+
ietfbib (0.4.6)
|
79
79
|
iso-bib-item (~> 0.4.2)
|
80
80
|
iev (0.2.2)
|
81
81
|
nokogiri
|
@@ -88,7 +88,7 @@ GEM
|
|
88
88
|
algoliasearch
|
89
89
|
iecbib (~> 0.2.1)
|
90
90
|
iso-bib-item (~> 0.4.2)
|
91
|
-
isodoc (0.9.
|
91
|
+
isodoc (0.9.22)
|
92
92
|
asciimath
|
93
93
|
html2doc (~> 0.8.6)
|
94
94
|
htmlentities (~> 4.3.4)
|
@@ -117,7 +117,7 @@ GEM
|
|
117
117
|
mime-types-data (3.2019.0331)
|
118
118
|
mini_portile2 (2.3.0)
|
119
119
|
nenv (0.3.0)
|
120
|
-
nistbib (0.1.
|
120
|
+
nistbib (0.1.2)
|
121
121
|
iso-bib-item (~> 0.4.2)
|
122
122
|
nokogiri (1.8.5)
|
123
123
|
mini_portile2 (~> 2.3.0)
|
@@ -153,7 +153,7 @@ GEM
|
|
153
153
|
rspec-mocks (~> 3.8.0)
|
154
154
|
rspec-core (3.8.0)
|
155
155
|
rspec-support (~> 3.8.0)
|
156
|
-
rspec-expectations (3.8.
|
156
|
+
rspec-expectations (3.8.3)
|
157
157
|
diff-lcs (>= 1.2.0, < 2.0)
|
158
158
|
rspec-support (~> 3.8.0)
|
159
159
|
rspec-mocks (3.8.0)
|
@@ -10,12 +10,13 @@ module Asciidoctor
|
|
10
10
|
module Standoc
|
11
11
|
module Cleanup
|
12
12
|
def para_cleanup(xmldoc)
|
13
|
-
xmldoc
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
inject_id(xmldoc, "//p | //ol | //ul")
|
14
|
+
inject_id(xmldoc, "//note[not(ancestor::bibitem)][not(ancestor::table)]")
|
15
|
+
end
|
16
|
+
|
17
|
+
def inject_id(xmldoc, path)
|
18
|
+
xmldoc.xpath(path).each do |x|
|
19
|
+
x["id"] ||= Utils::anchor_or_uuid
|
19
20
|
end
|
20
21
|
end
|
21
22
|
|
@@ -81,16 +81,12 @@ module Asciidoctor
|
|
81
81
|
node.attr("affiliation#{suffix}") and p.affiliation do |a|
|
82
82
|
a.organization do |o|
|
83
83
|
o.name node.attr("affiliation#{suffix}")
|
84
|
-
node.attr("address#{suffix}") and o.
|
85
|
-
|
86
|
-
ad.formattedAddress node.attr("address#{suffix}")
|
87
|
-
end
|
84
|
+
node.attr("address#{suffix}") and o.address do |ad|
|
85
|
+
ad.formattedAddress node.attr("address#{suffix}")
|
88
86
|
end
|
89
87
|
end
|
90
88
|
end
|
91
|
-
node.attr("email#{suffix}") and p.
|
92
|
-
c.email node.attr("email#{suffix}")
|
93
|
-
end
|
89
|
+
node.attr("email#{suffix}") and p.email node.attr("email#{suffix}")
|
94
90
|
node.attr("contributor-uri#{suffix}") and p.uri node.attr("contributor-uri#{suffix}")
|
95
91
|
end
|
96
92
|
end
|
@@ -180,6 +176,32 @@ module Asciidoctor
|
|
180
176
|
xml.script (node.attr("script") || "Latn")
|
181
177
|
end
|
182
178
|
|
179
|
+
def relaton_relations
|
180
|
+
%w(part-of)
|
181
|
+
end
|
182
|
+
|
183
|
+
def metadata_relations(node, xml)
|
184
|
+
relaton_relations.each do |t|
|
185
|
+
metadata_getrelation(node, xml, t)
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
def relation_normalise(type)
|
190
|
+
type.sub(/-by$/, "By").sub(/-of$/, "Of")
|
191
|
+
end
|
192
|
+
|
193
|
+
def metadata_getrelation(node, xml, type)
|
194
|
+
docs = node.attr(type) || return
|
195
|
+
docs.split(/,/).each do |d|
|
196
|
+
xml.relation **{ type: relation_normalise(type) } do |r|
|
197
|
+
fetch_ref(r, d, nil, {}) or r.bibitem do |b|
|
198
|
+
b.title "--"
|
199
|
+
b.docidentifier d
|
200
|
+
end
|
201
|
+
end
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
183
205
|
def metadata(node, xml)
|
184
206
|
title node, xml
|
185
207
|
metadata_source(node, xml)
|
@@ -188,14 +210,19 @@ module Asciidoctor
|
|
188
210
|
metadata_author(node, xml)
|
189
211
|
metadata_publisher(node, xml)
|
190
212
|
metadata_version(node, xml)
|
213
|
+
metadata_note(node, xml)
|
191
214
|
metadata_language(node, xml)
|
192
215
|
metadata_script(node, xml)
|
193
216
|
metadata_status(node, xml)
|
194
217
|
metadata_copyright(node, xml)
|
218
|
+
metadata_relations(node, xml)
|
195
219
|
metadata_committee(node, xml)
|
196
220
|
metadata_ics(node, xml)
|
197
221
|
end
|
198
222
|
|
223
|
+
def metadata_note(node, xml)
|
224
|
+
end
|
225
|
+
|
199
226
|
def asciidoc_sub(x)
|
200
227
|
return nil if x.nil?
|
201
228
|
return "" if x.empty?
|
@@ -735,6 +735,20 @@
|
|
735
735
|
<ref name="bookmark"/>
|
736
736
|
</choice>
|
737
737
|
</define>
|
738
|
+
<define name="PureTextElement">
|
739
|
+
<choice>
|
740
|
+
<text/>
|
741
|
+
<ref name="em"/>
|
742
|
+
<ref name="strong"/>
|
743
|
+
<ref name="sub"/>
|
744
|
+
<ref name="sup"/>
|
745
|
+
<ref name="tt"/>
|
746
|
+
<ref name="keyword"/>
|
747
|
+
<ref name="strike"/>
|
748
|
+
<ref name="smallcap"/>
|
749
|
+
<ref name="br"/>
|
750
|
+
</choice>
|
751
|
+
</define>
|
738
752
|
<define name="source">
|
739
753
|
<element name="source">
|
740
754
|
<ref name="TypedUri"/>
|
@@ -742,42 +756,58 @@
|
|
742
756
|
</define>
|
743
757
|
<define name="em">
|
744
758
|
<element name="em">
|
745
|
-
<
|
759
|
+
<zeroOrMore>
|
760
|
+
<ref name="PureTextElement"/>
|
761
|
+
</zeroOrMore>
|
746
762
|
</element>
|
747
763
|
</define>
|
748
764
|
<define name="strong">
|
749
765
|
<element name="strong">
|
750
|
-
<
|
766
|
+
<zeroOrMore>
|
767
|
+
<ref name="PureTextElement"/>
|
768
|
+
</zeroOrMore>
|
751
769
|
</element>
|
752
770
|
</define>
|
753
771
|
<define name="tt">
|
754
772
|
<element name="tt">
|
755
|
-
<
|
773
|
+
<zeroOrMore>
|
774
|
+
<ref name="PureTextElement"/>
|
775
|
+
</zeroOrMore>
|
756
776
|
</element>
|
757
777
|
</define>
|
758
778
|
<define name="keyword">
|
759
779
|
<element name="keyword">
|
760
|
-
<
|
780
|
+
<zeroOrMore>
|
781
|
+
<ref name="PureTextElement"/>
|
782
|
+
</zeroOrMore>
|
761
783
|
</element>
|
762
784
|
</define>
|
763
785
|
<define name="sub">
|
764
786
|
<element name="sub">
|
765
|
-
<
|
787
|
+
<zeroOrMore>
|
788
|
+
<ref name="PureTextElement"/>
|
789
|
+
</zeroOrMore>
|
766
790
|
</element>
|
767
791
|
</define>
|
768
792
|
<define name="sup">
|
769
793
|
<element name="sup">
|
770
|
-
<
|
794
|
+
<zeroOrMore>
|
795
|
+
<ref name="PureTextElement"/>
|
796
|
+
</zeroOrMore>
|
771
797
|
</element>
|
772
798
|
</define>
|
773
799
|
<define name="strike">
|
774
800
|
<element name="strike">
|
775
|
-
<
|
801
|
+
<zeroOrMore>
|
802
|
+
<ref name="PureTextElement"/>
|
803
|
+
</zeroOrMore>
|
776
804
|
</element>
|
777
805
|
</define>
|
778
806
|
<define name="smallcap">
|
779
807
|
<element name="smallcap">
|
780
|
-
<
|
808
|
+
<zeroOrMore>
|
809
|
+
<ref name="PureTextElement"/>
|
810
|
+
</zeroOrMore>
|
781
811
|
</element>
|
782
812
|
</define>
|
783
813
|
<define name="br">
|
@@ -95,6 +95,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
95
95
|
:address_2: 6A Rubble Way, Bedrock
|
96
96
|
:email_2: barney@rockhead.example.com
|
97
97
|
:publisher: Hanna Barbera, Cartoon Network
|
98
|
+
:part-of: ABC
|
98
99
|
INPUT
|
99
100
|
<?xml version="1.0" encoding="UTF-8"?>
|
100
101
|
<standard-document xmlns="http://riboseinc.com/isoxml">
|
@@ -138,11 +139,6 @@ RSpec.describe Asciidoctor::Standoc do
|
|
138
139
|
<date type="Jack">
|
139
140
|
<on>1010-01-01</on>
|
140
141
|
</date>
|
141
|
-
<edition>2</edition>
|
142
|
-
<version>
|
143
|
-
<revision-date>2000-01-01</revision-date>
|
144
|
-
<draft>3.4</draft>
|
145
|
-
</version>
|
146
142
|
<contributor>
|
147
143
|
<role type="author"/>
|
148
144
|
<organization>
|
@@ -164,11 +160,9 @@ RSpec.describe Asciidoctor::Standoc do
|
|
164
160
|
<affiliation>
|
165
161
|
<organization>
|
166
162
|
<name>Slate Rock and Gravel Company</name>
|
167
|
-
<contact>
|
168
163
|
<address>
|
169
164
|
<formattedAddress>6 Rubble Way, Bedrock</formattedAddress>
|
170
165
|
</address>
|
171
|
-
</contact>
|
172
166
|
</organization>
|
173
167
|
</affiliation>
|
174
168
|
<uri>http://slate.example.com</uri>
|
@@ -185,16 +179,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
185
179
|
<affiliation>
|
186
180
|
<organization>
|
187
181
|
<name>Rockhead and Quarry Cave Construction Company</name>
|
188
|
-
<contact>
|
189
182
|
<address>
|
190
183
|
<formattedAddress>6A Rubble Way, Bedrock</formattedAddress>
|
191
184
|
</address>
|
192
|
-
</contact>
|
193
185
|
</organization>
|
194
186
|
</affiliation>
|
195
|
-
<contact>
|
196
187
|
<email>barney@rockhead.example.com</email>
|
197
|
-
</contact>
|
198
188
|
</person>
|
199
189
|
</contributor>
|
200
190
|
<contributor>
|
@@ -209,6 +199,11 @@ RSpec.describe Asciidoctor::Standoc do
|
|
209
199
|
<name>Cartoon Network</name>
|
210
200
|
</organization>
|
211
201
|
</contributor>
|
202
|
+
<edition>2</edition>
|
203
|
+
<version>
|
204
|
+
<revision-date>2000-01-01</revision-date>
|
205
|
+
<draft>3.4</draft>
|
206
|
+
</version>
|
212
207
|
<language>en</language>
|
213
208
|
<script>Latn</script>
|
214
209
|
<status format="plain">published</status>
|
@@ -228,6 +223,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
228
223
|
</organization>
|
229
224
|
</owner>
|
230
225
|
</copyright>
|
226
|
+
<relation type="partOf">
|
227
|
+
<bibitem>
|
228
|
+
<title>--</title>
|
229
|
+
<docidentifier>ABC</docidentifier>
|
230
|
+
</bibitem>
|
231
|
+
</relation>
|
231
232
|
<editorialgroup>
|
232
233
|
<technical-committee number="1" type="A">TC</technical-committee>
|
233
234
|
<technical-committee number="11" type="A1">TC1</technical-committee>
|
@@ -401,7 +401,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
401
401
|
<docidentifier type="IETF">RFC 8341</docidentifier>
|
402
402
|
<docidentifier type="DOI">10.17487/RFC8341</docidentifier>
|
403
403
|
<date type="published">
|
404
|
-
<on>2018</on>
|
404
|
+
<on>2018-03</on>
|
405
405
|
</date>
|
406
406
|
<contributor>
|
407
407
|
<role type="author"/>
|
@@ -432,6 +432,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
432
432
|
</person>
|
433
433
|
</contributor>
|
434
434
|
<language>en</language>
|
435
|
+
<script>Latn</script>
|
435
436
|
<series type="main">
|
436
437
|
<title format="plain" language="en" script="Latn">STD</title>
|
437
438
|
<number>91</number>
|
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.1.
|
4
|
+
version: 1.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|