metanorma-iso 1.5.11 → 1.6.1

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +83 -0
  3. data/README.adoc +5 -6
  4. data/lib/asciidoctor/iso/base.rb +5 -5
  5. data/lib/asciidoctor/iso/basicdoc.rng +50 -3
  6. data/lib/asciidoctor/iso/boilerplate-fr.xml +2 -2
  7. data/lib/asciidoctor/iso/cleanup.rb +33 -6
  8. data/lib/asciidoctor/iso/front.rb +5 -0
  9. data/lib/asciidoctor/iso/isodoc.rng +61 -3
  10. data/lib/asciidoctor/iso/isostandard-amd.rng +8 -4
  11. data/lib/asciidoctor/iso/isostandard.rng +27 -10
  12. data/lib/asciidoctor/iso/validate.rb +13 -1
  13. data/lib/asciidoctor/iso/validate_section.rb +21 -9
  14. data/lib/isodoc/iso/base_convert.rb +2 -1
  15. data/lib/isodoc/iso/html/header.html +4 -8
  16. data/lib/isodoc/iso/html/htmlstyle.css +1 -1
  17. data/lib/isodoc/iso/html/htmlstyle.scss +1 -1
  18. data/lib/isodoc/iso/html/isodoc.css +42 -42
  19. data/lib/isodoc/iso/html/isodoc.scss +42 -42
  20. data/lib/isodoc/iso/html/style-human.css +9 -9
  21. data/lib/isodoc/iso/html/style-human.scss +7 -7
  22. data/lib/isodoc/iso/html/style-iso.css +7 -7
  23. data/lib/isodoc/iso/html/style-iso.scss +5 -5
  24. data/lib/isodoc/iso/html/wordstyle.css +67 -67
  25. data/lib/isodoc/iso/html/wordstyle.scss +67 -67
  26. data/lib/isodoc/iso/html_convert.rb +4 -0
  27. data/lib/isodoc/iso/i18n-en.yaml +1 -0
  28. data/lib/isodoc/iso/i18n-fr.yaml +2 -0
  29. data/lib/isodoc/iso/i18n-zh-Hans.yaml +1 -0
  30. data/lib/isodoc/iso/i18n.rb +10 -11
  31. data/lib/isodoc/iso/iso.amendment.xsl +381 -86
  32. data/lib/isodoc/iso/iso.international-standard.xsl +381 -86
  33. data/lib/isodoc/iso/metadata.rb +1 -0
  34. data/lib/isodoc/iso/sections.rb +1 -1
  35. data/lib/isodoc/iso/word_convert.rb +4 -0
  36. data/lib/isodoc/iso/xref.rb +34 -8
  37. data/lib/metanorma/iso/processor.rb +11 -9
  38. data/lib/metanorma/iso/version.rb +1 -1
  39. data/metanorma-iso.gemspec +2 -2
  40. data/spec/asciidoctor-iso/amd_spec.rb +14 -14
  41. data/spec/asciidoctor-iso/base_spec.rb +20 -18
  42. data/spec/asciidoctor-iso/blocks_spec.rb +22 -22
  43. data/spec/asciidoctor-iso/cleanup_spec.rb +36 -30
  44. data/spec/asciidoctor-iso/inline_spec.rb +7 -7
  45. data/spec/asciidoctor-iso/lists_spec.rb +9 -9
  46. data/spec/asciidoctor-iso/refs_spec.rb +177 -146
  47. data/spec/asciidoctor-iso/section_spec.rb +12 -7
  48. data/spec/asciidoctor-iso/table_spec.rb +4 -4
  49. data/spec/asciidoctor-iso/validate_spec.rb +401 -85
  50. data/spec/isodoc/amd_spec.rb +13 -13
  51. data/spec/isodoc/blocks_spec.rb +1 -0
  52. data/spec/isodoc/metadata_spec.rb +2 -0
  53. data/spec/isodoc/ref_spec.rb +2 -2
  54. data/spec/isodoc/section_spec.rb +20 -0
  55. data/spec/isodoc/xref_spec.rb +12 -0
  56. metadata +7 -12
  57. data/.github/workflows/macos.yml +0 -49
  58. data/.github/workflows/ubuntu.yml +0 -53
  59. data/.github/workflows/windows.yml +0 -50
  60. data/lib/asciidoctor/iso/macros.rb +0 -21
  61. data/lib/asciidoctor/iso/term_lookup_cleanup.rb +0 -86
  62. data/spec/asciidoctor-iso/macros_spec.rb +0 -310
@@ -66,9 +66,9 @@ RSpec.describe IsoDoc do
66
66
  <preface>
67
67
  <foreword>
68
68
  <p>
69
- <xref target='N'>[scope], Note</xref>
70
- <xref target='note1'>[widgets1], Note 1</xref>
71
- <xref target='note2'>[widgets1], Note 2</xref>
69
+ <xref target='N'>Scope, Note</xref>
70
+ <xref target='note1'>Widgets, 1, Note 1</xref>
71
+ <xref target='note2'>Widgets, 1, Note 2</xref>
72
72
  <xref target='AN'>A.1, Note</xref>
73
73
  <xref target='Anote1'>A.2, Note 1</xref>
74
74
  <xref target='Anote2'>A.2, Note 2</xref>
@@ -231,15 +231,15 @@ RSpec.describe IsoDoc do
231
231
  This is a preamble
232
232
  <xref target='C'>0.1</xref>
233
233
  <xref target='C1'>0.2</xref>
234
- <xref target='D'>[D]</xref>
234
+ <xref target='D'>Scope</xref>
235
235
  <xref target='H'>[H]</xref>
236
236
  <xref target='I'>[I]</xref>
237
237
  <xref target='J'>[J]</xref>
238
238
  <xref target='K'>[K]</xref>
239
239
  <xref target='L'>[L]</xref>
240
- <xref target='M'>[M]</xref>
241
- <xref target='N'>[N]</xref>
242
- <xref target='O'>[O]</xref>
240
+ <xref target='M'>Clause 4</xref>
241
+ <xref target='N'>Introduction</xref>
242
+ <xref target='O'>Clause 4.2</xref>
243
243
  <xref target='P'>Annex A</xref>
244
244
  <xref target='Q'>A.1</xref>
245
245
  <xref target='Q1'>A.1.1</xref>
@@ -263,10 +263,10 @@ RSpec.describe IsoDoc do
263
263
  <clause id='M' inline-header='false' obligation='normative'>
264
264
  <title depth="1">Clause 4</title>
265
265
  <clause id='N' inline-header='false' obligation='normative'>
266
- <title depth="1">Introduction</title>
266
+ <title depth="2">Introduction</title>
267
267
  </clause>
268
268
  <clause id='O' inline-header='false' obligation='normative'>
269
- <title depth="1">Clause 4.2</title>
269
+ <title depth="2">Clause 4.2</title>
270
270
  </clause>
271
271
  </clause>
272
272
  </sections>
@@ -452,10 +452,10 @@ RSpec.describe IsoDoc do
452
452
  <clause id='M' inline-header='false' obligation='normative'>
453
453
  <title depth='1'>Clause 4</title>
454
454
  <clause id='N' inline-header='false' obligation='normative'>
455
- <title depth='1'>Introduction</title>
455
+ <title depth='2'>Introduction</title>
456
456
  </clause>
457
457
  <clause id='O' inline-header='false' obligation='normative'>
458
- <title depth='1'>Clause 4.2</title>
458
+ <title depth='2'>Clause 4.2</title>
459
459
  </clause>
460
460
  <clause id='O1' inline-header='true' obligation='normative'> </clause>
461
461
  </clause>
@@ -570,10 +570,10 @@ RSpec.describe IsoDoc do
570
570
  <div id='M'>
571
571
  <h1>Clause 4</h1>
572
572
  <div id='N'>
573
- <h1>Introduction</h1>
573
+ <h2>Introduction</h2>
574
574
  </div>
575
575
  <div id='O'>
576
- <h1>Clause 4.2</h1>
576
+ <h2>Clause 4.2</h2>
577
577
  </div>
578
578
  <div id='O1'>
579
579
  </div>
@@ -436,6 +436,7 @@ OUTPUT
436
436
  <div id='_be9158af-7e93-4ee2-90c5-26d31c181934'><div class='formula'>
437
437
  <p>
438
438
  <span class='stem'>(#(r = 1 %)#)</span>
439
+ <span style='mso-tab-count:1'>&#160; </span>
439
440
  </p>
440
441
  </div>
441
442
  <p>where</p>
@@ -64,6 +64,7 @@ RSpec.describe IsoDoc::Iso::Metadata do
64
64
  <keyword>kw1</keyword>
65
65
  <ext>
66
66
  <doctype>international-standard</doctype>
67
+ <horizontal>true</horizontal>
67
68
  <editorialgroup>
68
69
  <technical-committee number="34">Food products</technical-committee>
69
70
  <subcommittee number="4">Cereals and pulses</subcommittee>
@@ -106,6 +107,7 @@ INPUT
106
107
  :draftinfo=>" (draft 0.4, 2016-05-01)",
107
108
  :edition=>"2",
108
109
  :editorialgroup=>["TC 34", "SC 4", "WG 3"],
110
+ :horizontal=>"true",
109
111
  :implementeddate=>"XXX",
110
112
  :issueddate=>"XXX",
111
113
  :keywords=>["kw2", "kw1"],
@@ -42,7 +42,7 @@ RSpec.describe IsoDoc do
42
42
  <abbreviation>ISO</abbreviation>
43
43
  </organization>
44
44
  </contributor>
45
- <note format="text/plain" reference="1" type="ISO DATE">Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
45
+ <note format="text/plain" reference="1" type="Unpublished-Status">Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
46
46
  <extent type="part">
47
47
  <referenceFrom>all</referenceFrom>
48
48
  </extent>
@@ -175,7 +175,7 @@ RSpec.describe IsoDoc do
175
175
  <abbreviation>ISO</abbreviation>
176
176
  </organization>
177
177
  </contributor>
178
- <note format='text/plain' reference='1' type='ISO DATE'>Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
178
+ <note format='text/plain' reference='1' type='Unpublished-Status'>Under preparation. (Stage at the time of publication ISO/DIS 16634)</note>
179
179
  <extent type='part'>
180
180
  <referenceFrom>all</referenceFrom>
181
181
  </extent>
@@ -55,6 +55,9 @@ RSpec.describe IsoDoc do
55
55
  </clause>
56
56
  <appendix id="Q2" inline-header="false" obligation="normative">
57
57
  <title>An Appendix</title>
58
+ <clause id='Q2a' inline-header='false' obligation='normative'>
59
+ <title>Appendix subclause</title>
60
+ </clause>
58
61
  </appendix>
59
62
  <references id="Q3" normative="false"><title>Annex Bibliography</title></references>
60
63
  </annex><bibliography><references id="R" obligation="informative" normative="true">
@@ -140,6 +143,13 @@ RSpec.describe IsoDoc do
140
143
  </clause>
141
144
  <appendix id='Q2' inline-header='false' obligation='normative'>
142
145
  <title depth='2'>Appendix 1<tab/>An Appendix</title>
146
+ <clause id='Q2a' inline-header='false' obligation='normative'>
147
+ <title depth='3'>
148
+ Appendix 1.1
149
+ <tab/>
150
+ Appendix subclause
151
+ </title>
152
+ </clause>
143
153
  </appendix>
144
154
  <references id='Q3' normative='false'>
145
155
  <title depth='2'>A.2<tab/>Annex Bibliography</title>
@@ -222,6 +232,9 @@ RSpec.describe IsoDoc do
222
232
  </div>
223
233
  <div id="Q2">
224
234
  <h2>Appendix 1&#160; An Appendix</h2>
235
+ <div id='Q2a'>
236
+ <h3> Appendix 1.1 &#160; Appendix subclause </h3>
237
+ </div>
225
238
  </div>
226
239
  <div>
227
240
  <h2 class="Section3">A.2&#160; Annex Bibliography</h2>
@@ -318,6 +331,13 @@ OUTPUT
318
331
  </div>
319
332
  <div id="Q2">
320
333
  <h2>Appendix 1<span style="mso-tab-count:1">&#160; </span>An Appendix</h2>
334
+ <div id='Q2a'>
335
+ <h3>
336
+ Appendix 1.1
337
+ <span style='mso-tab-count:1'>&#160; </span>
338
+ Appendix subclause
339
+ </h3>
340
+ </div>
321
341
  </div>
322
342
  <div>
323
343
  <h2 class='Section3'>
@@ -936,6 +936,7 @@ RSpec.describe IsoDoc do
936
936
  <xref target="Q"/>
937
937
  <xref target="Q1"/>
938
938
  <xref target="Q2"/>
939
+ <xref target="Q3"/>
939
940
  <xref target="R"/>
940
941
  </p>
941
942
  </foreword>
@@ -985,6 +986,9 @@ RSpec.describe IsoDoc do
985
986
  </clause>
986
987
  <appendix id="Q2" inline-header="false" obligation="normative">
987
988
  <title>An Appendix</title>
989
+ <clause id='Q3' inline-header='false' obligation='normative'>
990
+ <title>Appendix subclause</title>
991
+ </clause>
988
992
  </appendix>
989
993
  </annex><bibliography><references id="R" obligation="informative" normative="true">
990
994
  <title>Normative References</title>
@@ -1019,6 +1023,7 @@ RSpec.describe IsoDoc do
1019
1023
  <xref target='Q'>A.1</xref>
1020
1024
  <xref target='Q1'>A.1.1</xref>
1021
1025
  <xref target='Q2'>Annex A, Appendix 1</xref>
1026
+ <xref target='Q3'>Annex A, Appendix 1.1</xref>
1022
1027
  <xref target='R'>Clause 2</xref>
1023
1028
  </p>
1024
1029
  </foreword>
@@ -1126,6 +1131,13 @@ RSpec.describe IsoDoc do
1126
1131
  <tab/>
1127
1132
  An Appendix
1128
1133
  </title>
1134
+ <clause id='Q3' inline-header='false' obligation='normative'>
1135
+ <title depth='3'>
1136
+ Appendix 1.1
1137
+ <tab/>
1138
+ Appendix subclause
1139
+ </title>
1140
+ </clause>
1129
1141
  </appendix>
1130
1142
  </annex>
1131
1143
  <bibliography>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.11
4
+ version: 1.6.1
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-10-25 00:00:00.000000000 Z
11
+ date: 2021-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-jing
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2.0
33
+ version: 1.4.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.2.0
40
+ version: 1.4.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: metanorma-standoc
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.6.0
47
+ version: 1.7.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.6.0
54
+ version: 1.7.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: tokenizer
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -261,9 +261,7 @@ extensions: []
261
261
  extra_rdoc_files: []
262
262
  files:
263
263
  - ".gitattributes"
264
- - ".github/workflows/macos.yml"
265
- - ".github/workflows/ubuntu.yml"
266
- - ".github/workflows/windows.yml"
264
+ - ".github/workflows/rake.yml"
267
265
  - ".gitignore"
268
266
  - ".hound.yml"
269
267
  - ".oss-guides.rubocop.yml"
@@ -294,10 +292,8 @@ files:
294
292
  - lib/asciidoctor/iso/isostandard-amd.rng
295
293
  - lib/asciidoctor/iso/isostandard.rnc
296
294
  - lib/asciidoctor/iso/isostandard.rng
297
- - lib/asciidoctor/iso/macros.rb
298
295
  - lib/asciidoctor/iso/reqt.rng
299
296
  - lib/asciidoctor/iso/section.rb
300
- - lib/asciidoctor/iso/term_lookup_cleanup.rb
301
297
  - lib/asciidoctor/iso/validate.rb
302
298
  - lib/asciidoctor/iso/validate_requirements.rb
303
299
  - lib/asciidoctor/iso/validate_section.rb
@@ -347,7 +343,6 @@ files:
347
343
  - spec/asciidoctor-iso/cleanup_spec.rb
348
344
  - spec/asciidoctor-iso/inline_spec.rb
349
345
  - spec/asciidoctor-iso/lists_spec.rb
350
- - spec/asciidoctor-iso/macros_spec.rb
351
346
  - spec/asciidoctor-iso/refs_spec.rb
352
347
  - spec/asciidoctor-iso/section_spec.rb
353
348
  - spec/asciidoctor-iso/table_spec.rb
@@ -1,49 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: macos
4
-
5
- on:
6
- push:
7
- branches: [ master ]
8
- pull_request:
9
- paths-ignore:
10
- - .github/workflows/ubuntu.yml
11
- - .github/workflows/windows.yml
12
-
13
- jobs:
14
- test-macos:
15
- name: Test on Ruby ${{ matrix.ruby }} macOS
16
- runs-on: macos-latest
17
- continue-on-error: ${{ matrix.experimental }}
18
- strategy:
19
- fail-fast: false
20
- matrix:
21
- ruby: [ '2.6', '2.5', '2.4' ]
22
- experimental: [false]
23
- include:
24
- - ruby: '2.7'
25
- experimental: true
26
- steps:
27
- - uses: actions/checkout@master
28
- - name: Use Ruby
29
- uses: actions/setup-ruby@v1
30
- with:
31
- ruby-version: ${{ matrix.ruby }}
32
- - name: Cache gems
33
- uses: actions/cache@preview
34
- with:
35
- path: vendor/bundle
36
- key: ${{ runner.os }}-${{ matrix.ruby }}-gem-${{ hashFiles('Gemfile') }}
37
- restore-keys: |
38
- ${{ runner.os }}-${{ matrix.ruby }}-gem-
39
- - name: Update gems
40
- run: |
41
- gem install bundler
42
- bundle config --local path vendor/bundle
43
- bundle install --jobs 4 --retry 3
44
- - name: Install PlantUML
45
- run: |
46
- brew install plantuml
47
- - name: Run specs
48
- run: |
49
- bundle exec rake
@@ -1,53 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: ubuntu
4
-
5
- on:
6
- push:
7
- branches: [ master ]
8
- pull_request:
9
- paths-ignore:
10
- - .github/workflows/macos.yml
11
- - .github/workflows/windows.yml
12
-
13
- jobs:
14
- test-linux:
15
- name: Test on Ruby ${{ matrix.ruby }} Ubuntu
16
- runs-on: ubuntu-latest
17
- continue-on-error: ${{ matrix.experimental }}
18
- strategy:
19
- fail-fast: false
20
- matrix:
21
- ruby: [ '2.6', '2.5', '2.4' ]
22
- experimental: [false]
23
- include:
24
- - ruby: '2.7'
25
- experimental: true
26
- steps:
27
- - uses: actions/checkout@master
28
- - name: Use Ruby
29
- uses: actions/setup-ruby@v1
30
- with:
31
- ruby-version: ${{ matrix.ruby }}
32
- - name: Cache gems
33
- uses: actions/cache@preview
34
- with:
35
- path: vendor/bundle
36
- key: ${{ runner.os }}-${{ matrix.ruby }}-gem-${{ hashFiles('Gemfile') }}
37
- restore-keys: |
38
- ${{ runner.os }}-${{ matrix.ruby }}-gem-
39
- - name: Update gems
40
- run: |
41
- gem install bundler
42
- bundle config --local path vendor/bundle
43
- bundle install --jobs 4 --retry 3
44
- - name: Install PlantUML
45
- uses: nick-invision/retry@v1
46
- with:
47
- polling_interval_seconds: 5
48
- timeout_minutes: 5
49
- max_attempts: 3
50
- command: sudo apt-get update -y && sudo bash -c "curl -L https://github.com/metanorma/plantuml-install/raw/master/ubuntu.sh | bash"
51
- - name: Run specs
52
- run: |
53
- bundle exec rake
@@ -1,50 +0,0 @@
1
- # Auto-generated by Cimas: Do not edit it manually!
2
- # See https://github.com/metanorma/cimas
3
- name: windows
4
-
5
- on:
6
- push:
7
- branches: [ master ]
8
- pull_request:
9
- paths-ignore:
10
- - .github/workflows/macos.yml
11
- - .github/workflows/ubuntu.yml
12
-
13
- jobs:
14
- test-windows:
15
- name: Test on Ruby ${{ matrix.ruby }} Windows
16
- runs-on: windows-latest
17
- continue-on-error: ${{ matrix.experimental }}
18
- strategy:
19
- fail-fast: false
20
- matrix:
21
- ruby: [ '2.6', '2.5', '2.4' ]
22
- experimental: [false]
23
- include:
24
- - ruby: '2.7'
25
- experimental: true
26
- steps:
27
- - uses: actions/checkout@master
28
- - name: Use Ruby
29
- uses: actions/setup-ruby@v1
30
- with:
31
- ruby-version: ${{ matrix.ruby }}
32
- - name: Cache gems
33
- uses: actions/cache@preview
34
- with:
35
- path: vendor/bundle
36
- key: ${{ runner.os }}-${{ matrix.ruby }}-gem-${{ hashFiles('Gemfile') }}
37
- restore-keys: |
38
- ${{ runner.os }}-${{ matrix.ruby }}-gem-
39
- - name: Update gems
40
- shell: pwsh
41
- run: |
42
- gem install bundler
43
- bundle config --local path vendor/bundle
44
- bundle install --jobs 4 --retry 3
45
- - name: Install PlantUML
46
- run: |
47
- cinst -y plantuml
48
- - name: Run specs
49
- run: |
50
- bundle exec rake
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'asciidoctor/extensions'
4
-
5
- module Asciidoctor
6
- module Iso
7
- # Macro to transform `term[X,Y]` into em, termxref xml
8
- class TermRefInlineMacro < Asciidoctor::Extensions::InlineMacroProcessor
9
- use_dsl
10
-
11
- named :term
12
- name_positional_attributes 'name', 'termxref'
13
- using_format :short
14
-
15
- def process(_parent, _target, attrs)
16
- termref = attrs['termxref'] || attrs['name']
17
- "<em>#{attrs['name']}</em> (<termxref>#{termref}</termxref>)"
18
- end
19
- end
20
- end
21
- end