metanorma-iec 1.0.3 → 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/.github/workflows/macos.yml +8 -7
- data/.github/workflows/ubuntu.yml +12 -9
- data/.github/workflows/windows.yml +8 -8
- data/lib/asciidoctor/iec/biblio.rng +142 -37
- data/lib/asciidoctor/iec/converter.rb +22 -130
- data/lib/asciidoctor/iec/front.rb +220 -0
- data/lib/asciidoctor/iec/isodoc.rng +48 -2
- data/lib/asciidoctor/iec/isostandard.rng +17 -1
- data/lib/isodoc/iec/base_convert.rb +157 -0
- data/lib/isodoc/iec/html/htmlstyle.scss +11 -8
- data/lib/isodoc/iec/html/isodoc.scss +15 -9
- data/lib/isodoc/iec/html/scripts.html +23 -21
- data/lib/isodoc/iec/html/wordstyle.scss +0 -3
- data/lib/isodoc/iec/html_convert.rb +8 -0
- data/lib/isodoc/iec/i18n-en.yaml +2 -0
- data/lib/isodoc/iec/i18n-fr.yaml +2 -0
- data/lib/isodoc/iec/iec.international-standard.xsl +4133 -0
- data/lib/isodoc/iec/metadata.rb +3 -52
- data/lib/isodoc/iec/pdf_convert.rb +31 -0
- data/lib/isodoc/iec/word_convert.rb +17 -6
- data/lib/metanorma-iec.rb +1 -0
- data/lib/metanorma/iec/processor.rb +12 -1
- data/lib/metanorma/iec/version.rb +1 -1
- data/spec/asciidoctor-iec/base_spec.rb +20 -29
- data/spec/asciidoctor-iec/blocks_spec.rb +15 -7
- data/spec/asciidoctor-iec/cleanup_spec.rb +13 -7
- data/spec/asciidoctor-iec/iev_spec.rb +161 -0
- data/spec/asciidoctor-iec/inline_spec.rb +2 -1
- data/spec/asciidoctor-iec/section_spec.rb +8 -8
- data/spec/assets/iso.xml +65 -2
- data/spec/examples/rice.html +5 -5
- data/spec/examples/rice_img/rice_image1.png +0 -0
- data/spec/examples/rice_img/rice_image2.png +0 -0
- data/spec/examples/rice_img/rice_image3_1.png +0 -0
- data/spec/examples/rice_img/rice_image3_2.png +0 -0
- data/spec/examples/rice_img/rice_image3_3.png +0 -0
- data/spec/isodoc/blocks_spec.rb +160 -0
- data/spec/isodoc/i18n_spec.rb +15 -22
- data/spec/isodoc/iev_spec.rb +360 -0
- data/spec/isodoc/inline_spec.rb +2 -2
- data/spec/isodoc/iso_spec.rb +2 -19
- data/spec/isodoc/metadata_spec.rb +92 -9
- data/spec/isodoc/postproc_spec.rb +8 -2
- data/spec/isodoc/ref_spec.rb +249 -0
- data/spec/isodoc/section_spec.rb +49 -14
- data/spec/isodoc/terms_spec.rb +2 -2
- data/spec/metanorma/processor_spec.rb +3 -3
- data/spec/spec_helper.rb +3 -2
- metadata +14 -2
data/spec/isodoc/section_spec.rb
CHANGED
@@ -12,16 +12,14 @@ RSpec.describe IsoDoc do
|
|
12
12
|
<introduction id="B" obligation="informative"><title>Introduction</title><clause id="C" inline-header="false" obligation="informative">
|
13
13
|
<title>Introduction Subsection</title>
|
14
14
|
</clause>
|
15
|
-
<patent-notice>
|
16
15
|
<p>This is patent boilerplate</p>
|
17
|
-
</patent-notice>
|
18
16
|
</introduction></preface><sections>
|
19
17
|
<clause id="D" obligation="normative">
|
20
18
|
<title>Scope</title>
|
21
19
|
<p id="E">Text</p>
|
22
20
|
</clause>
|
23
21
|
|
24
|
-
<clause id="H" obligation="normative"><title>Terms,
|
22
|
+
<clause id="H" obligation="normative"><title>Terms, definitions, symbols and abbreviated terms</title><terms id="I" obligation="normative">
|
25
23
|
<title>Normal Terms</title>
|
26
24
|
<term id="J">
|
27
25
|
<preferred>Term2</preferred>
|
@@ -58,11 +56,11 @@ RSpec.describe IsoDoc do
|
|
58
56
|
<appendix id="Q2" inline-header="false" obligation="normative">
|
59
57
|
<title>An Appendix</title>
|
60
58
|
</appendix>
|
61
|
-
</annex><bibliography><references id="R" obligation="informative">
|
59
|
+
</annex><bibliography><references id="R" obligation="informative" normative="true">
|
62
60
|
<title>Normative References</title>
|
63
61
|
</references><clause id="S" obligation="informative">
|
64
62
|
<title>Bibliography</title>
|
65
|
-
<references id="T" obligation="informative">
|
63
|
+
<references id="T" obligation="informative" normative="false">
|
66
64
|
<title>Bibliography Subsection</title>
|
67
65
|
</references>
|
68
66
|
</clause>
|
@@ -169,16 +167,14 @@ OUTPUT
|
|
169
167
|
<introduction id="B" obligation="informative"><title>Introduction</title><clause id="C" inline-header="false" obligation="informative">
|
170
168
|
<title>Introduction Subsection</title>
|
171
169
|
</clause>
|
172
|
-
<patent-notice>
|
173
170
|
<p>This is patent boilerplate</p>
|
174
|
-
</patent-notice>
|
175
171
|
</introduction></preface><sections>
|
176
172
|
<clause id="D" obligation="normative">
|
177
173
|
<title>Scope</title>
|
178
174
|
<p id="E">Text</p>
|
179
175
|
</clause>
|
180
176
|
|
181
|
-
<clause id="H" obligation="normative"><title>Terms,
|
177
|
+
<clause id="H" obligation="normative"><title>Terms, definitions, symbols and abbreviated terms</title><terms id="I" obligation="normative">
|
182
178
|
<title>Normal Terms</title>
|
183
179
|
<term id="J">
|
184
180
|
<preferred>Term2</preferred>
|
@@ -215,11 +211,11 @@ OUTPUT
|
|
215
211
|
<appendix id="Q2" inline-header="false" obligation="normative">
|
216
212
|
<title>An Appendix</title>
|
217
213
|
</appendix>
|
218
|
-
</annex><bibliography><references id="R" obligation="informative">
|
214
|
+
</annex><bibliography><references id="R" obligation="informative" normative="true">
|
219
215
|
<title>Normative References</title>
|
220
216
|
</references><clause id="S" obligation="informative">
|
221
217
|
<title>Bibliography</title>
|
222
|
-
<references id="T" obligation="informative">
|
218
|
+
<references id="T" obligation="informative" normative="false">
|
223
219
|
<title>Bibliography Subsection</title>
|
224
220
|
</references>
|
225
221
|
</clause>
|
@@ -311,6 +307,43 @@ OUTPUT
|
|
311
307
|
OUTPUT
|
312
308
|
end
|
313
309
|
|
310
|
+
it "processes subclauses with and without titles" do
|
311
|
+
expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
312
|
+
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
313
|
+
<sections>
|
314
|
+
<clause id="D" obligation="normative">
|
315
|
+
<title>Scope</title>
|
316
|
+
<clause id="D1" obligation="normative">
|
317
|
+
<title>Scope 1</title>
|
318
|
+
</clause>
|
319
|
+
<clause id="D2" obligation="normative">
|
320
|
+
</clause>
|
321
|
+
</clause>
|
322
|
+
</sections>
|
323
|
+
</iso-standard>
|
324
|
+
INPUT
|
325
|
+
#{HTML_HDR}
|
326
|
+
<div id=''>
|
327
|
+
<h1 class='ForewordTitle'>FOREWORD</h1>
|
328
|
+
<div class='boilerplate_legal'/>
|
329
|
+
</div>
|
330
|
+
#{IEC_TITLE}
|
331
|
+
<div id='D'>
|
332
|
+
<h1>1  Scope</h1>
|
333
|
+
<div id='D1'>
|
334
|
+
<h2>1.1  Scope 1</h2>
|
335
|
+
</div>
|
336
|
+
<div id='D2'>
|
337
|
+
<h2>1.2  </h2>
|
338
|
+
</div>
|
339
|
+
</div>
|
340
|
+
</div>
|
341
|
+
</body>
|
342
|
+
</html>
|
343
|
+
OUTPUT
|
344
|
+
end
|
345
|
+
|
346
|
+
|
314
347
|
it "processes simple terms & definitions" do
|
315
348
|
expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
316
349
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
@@ -329,7 +362,7 @@ OUTPUT
|
|
329
362
|
<div class="boilerplate_legal"/>
|
330
363
|
</div>
|
331
364
|
#{IEC_TITLE}
|
332
|
-
<div id="H"><h1>1  Terms and
|
365
|
+
<div id="H"><h1>1  Terms, Definitions, Symbols and Abbreviated Terms</h1>
|
333
366
|
<p class="TermNum" id="J">1.1</p>
|
334
367
|
<p class="Terms" style="text-align:left;">Term2</p>
|
335
368
|
</div>
|
@@ -365,7 +398,7 @@ OUTPUT
|
|
365
398
|
<h2>1.1  Introduction</h2>
|
366
399
|
</div>
|
367
400
|
<div id="O">
|
368
|
-
<span class="zzMoveToFollowing"><b>1.2  Clause 4.2 </b></span>
|
401
|
+
<span class="zzMoveToFollowing"><b>1.2  Clause 4.2  </b></span>
|
369
402
|
</div>
|
370
403
|
</div>
|
371
404
|
</div>
|
@@ -379,7 +412,8 @@ OUTPUT
|
|
379
412
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
380
413
|
<bibdata>
|
381
414
|
<status>
|
382
|
-
<stage>60</stage>
|
415
|
+
<stage abbreviation="PPUB">60</stage>
|
416
|
+
<substage abbreviation="PPUB">60</substage>
|
383
417
|
</status>
|
384
418
|
</bibdata>
|
385
419
|
<sections>
|
@@ -413,7 +447,8 @@ OUTPUT
|
|
413
447
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
414
448
|
<bibdata>
|
415
449
|
<status>
|
416
|
-
<stage>30</stage>
|
450
|
+
<stage abbreviation="CD">30</stage>
|
451
|
+
<substage abbreviation="CD">00</substage>
|
417
452
|
</status>
|
418
453
|
</bibdata>
|
419
454
|
<sections>
|
data/spec/isodoc/terms_spec.rb
CHANGED
@@ -5,7 +5,7 @@ RSpec.describe IsoDoc do
|
|
5
5
|
expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
6
6
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
7
7
|
<sections>
|
8
|
-
<terms id="_terms_and_definitions" obligation="normative"><title>Terms and
|
8
|
+
<terms id="_terms_and_definitions" obligation="normative"><title>Terms and definitions</title>
|
9
9
|
|
10
10
|
<term id="paddy1"><preferred>paddy</preferred>
|
11
11
|
<domain>rice</domain>
|
@@ -98,7 +98,7 @@ OUTPUT
|
|
98
98
|
expect((IsoDoc::Iec::WordConvert.new({}).convert("test", <<~"INPUT", true).sub(%r{^.*<div id="_terms_and_definitions">}m, '<div id="_terms_and_definitions">').sub(%r{<br[^>]*>\s*<div class="colophon"/>.*$}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
99
99
|
<iso-standard xmlns="http://riboseinc.com/isoxml">
|
100
100
|
<sections>
|
101
|
-
<terms id="_terms_and_definitions" obligation="normative"><title>Terms and
|
101
|
+
<terms id="_terms_and_definitions" obligation="normative"><title>Terms and definitions</title>
|
102
102
|
|
103
103
|
<term id="paddy1"><preferred>paddy</preferred>
|
104
104
|
<domain>rice</domain>
|
@@ -15,7 +15,7 @@ RSpec.describe Metanorma::Iec::Processor do
|
|
15
15
|
|
16
16
|
it "registers output formats against metanorma" do
|
17
17
|
expect(processor.output_formats.sort.to_s).to be_equivalent_to <<~"OUTPUT"
|
18
|
-
[[:doc, "doc"], [:html, "html"], [:rxl, "rxl"], [:xml, "xml"]]
|
18
|
+
[[:doc, "doc"], [:html, "html"], [:pdf, "pdf"], [:rxl, "rxl"], [:xml, "xml"]]
|
19
19
|
OUTPUT
|
20
20
|
end
|
21
21
|
|
@@ -57,7 +57,7 @@ RSpec.describe Metanorma::Iec::Processor do
|
|
57
57
|
</p>
|
58
58
|
<p class="zzSTDTitle1"> </p>
|
59
59
|
<div id="">
|
60
|
-
<h1 class="ForewordTitle">FOREWORD</h1>
|
60
|
+
<h1 class="ForewordTitle" id="toc0">FOREWORD</h1>
|
61
61
|
<div class="boilerplate_legal"></div>
|
62
62
|
</div>
|
63
63
|
<p class="zzSTDTitle1">INTERNATIONAL ELECTROTECHNICAL COMMISSION</p>
|
@@ -67,7 +67,7 @@ RSpec.describe Metanorma::Iec::Processor do
|
|
67
67
|
<b></b>
|
68
68
|
</p>
|
69
69
|
<p class="zzSTDTitle1"> </p>
|
70
|
-
<div id="H"><h1>1  Terms and
|
70
|
+
<div id="H"><h1 id="toc1">1  Terms, Definitions, Symbols and Abbreviated Terms</h1>
|
71
71
|
<h2 class="TermNum" id="J">1.1</h2>
|
72
72
|
<p class="Terms" style="text-align:left;">Term2</p>
|
73
73
|
</div>
|
data/spec/spec_helper.rb
CHANGED
@@ -160,8 +160,8 @@ BLANK_HDR = <<~"HDR"
|
|
160
160
|
<language>en</language>
|
161
161
|
<script>Latn</script>
|
162
162
|
<status>
|
163
|
-
<stage>60</stage>
|
164
|
-
<substage>60</substage>
|
163
|
+
<stage abbreviation="PPUB">60</stage>
|
164
|
+
<substage abbreviation="PPUB">60</substage>
|
165
165
|
</status>
|
166
166
|
<copyright>
|
167
167
|
<from>#{Time.new.year}</from>
|
@@ -179,6 +179,7 @@ BLANK_HDR = <<~"HDR"
|
|
179
179
|
<subcommittee/>
|
180
180
|
<workgroup/>
|
181
181
|
</editorialgroup>
|
182
|
+
<stagename>International standard</stagename>
|
182
183
|
</ext>
|
183
184
|
</bibdata>
|
184
185
|
#{BOILERPLATE}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-iec
|
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
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-jing
|
@@ -217,6 +217,7 @@ files:
|
|
217
217
|
- lib/asciidoctor/iec/basicdoc.rng
|
218
218
|
- lib/asciidoctor/iec/biblio.rng
|
219
219
|
- lib/asciidoctor/iec/converter.rb
|
220
|
+
- lib/asciidoctor/iec/front.rb
|
220
221
|
- lib/asciidoctor/iec/i18n-en.yaml
|
221
222
|
- lib/asciidoctor/iec/i18n-fr.yaml
|
222
223
|
- lib/asciidoctor/iec/i18n-zh-Hans.yaml
|
@@ -240,7 +241,9 @@ files:
|
|
240
241
|
- lib/isodoc/iec/i18n-en.yaml
|
241
242
|
- lib/isodoc/iec/i18n-fr.yaml
|
242
243
|
- lib/isodoc/iec/i18n-zh-Hans.yaml
|
244
|
+
- lib/isodoc/iec/iec.international-standard.xsl
|
243
245
|
- lib/isodoc/iec/metadata.rb
|
246
|
+
- lib/isodoc/iec/pdf_convert.rb
|
244
247
|
- lib/isodoc/iec/word_convert.rb
|
245
248
|
- lib/metanorma-iec.rb
|
246
249
|
- lib/metanorma/iec.rb
|
@@ -250,6 +253,7 @@ files:
|
|
250
253
|
- spec/asciidoctor-iec/base_spec.rb
|
251
254
|
- spec/asciidoctor-iec/blocks_spec.rb
|
252
255
|
- spec/asciidoctor-iec/cleanup_spec.rb
|
256
|
+
- spec/asciidoctor-iec/iev_spec.rb
|
253
257
|
- spec/asciidoctor-iec/inline_spec.rb
|
254
258
|
- spec/asciidoctor-iec/lists_spec.rb
|
255
259
|
- spec/asciidoctor-iec/section_spec.rb
|
@@ -264,11 +268,19 @@ files:
|
|
264
268
|
- spec/examples/rice.doc
|
265
269
|
- spec/examples/rice.html
|
266
270
|
- spec/examples/rice.xml
|
271
|
+
- spec/examples/rice_img/rice_image1.png
|
272
|
+
- spec/examples/rice_img/rice_image2.png
|
273
|
+
- spec/examples/rice_img/rice_image3_1.png
|
274
|
+
- spec/examples/rice_img/rice_image3_2.png
|
275
|
+
- spec/examples/rice_img/rice_image3_3.png
|
276
|
+
- spec/isodoc/blocks_spec.rb
|
267
277
|
- spec/isodoc/i18n_spec.rb
|
278
|
+
- spec/isodoc/iev_spec.rb
|
268
279
|
- spec/isodoc/inline_spec.rb
|
269
280
|
- spec/isodoc/iso_spec.rb
|
270
281
|
- spec/isodoc/metadata_spec.rb
|
271
282
|
- spec/isodoc/postproc_spec.rb
|
283
|
+
- spec/isodoc/ref_spec.rb
|
272
284
|
- spec/isodoc/section_spec.rb
|
273
285
|
- spec/isodoc/terms_spec.rb
|
274
286
|
- spec/metanorma/processor_spec.rb
|