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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +8 -7
  3. data/.github/workflows/ubuntu.yml +12 -9
  4. data/.github/workflows/windows.yml +8 -8
  5. data/lib/asciidoctor/iec/biblio.rng +142 -37
  6. data/lib/asciidoctor/iec/converter.rb +22 -130
  7. data/lib/asciidoctor/iec/front.rb +220 -0
  8. data/lib/asciidoctor/iec/isodoc.rng +48 -2
  9. data/lib/asciidoctor/iec/isostandard.rng +17 -1
  10. data/lib/isodoc/iec/base_convert.rb +157 -0
  11. data/lib/isodoc/iec/html/htmlstyle.scss +11 -8
  12. data/lib/isodoc/iec/html/isodoc.scss +15 -9
  13. data/lib/isodoc/iec/html/scripts.html +23 -21
  14. data/lib/isodoc/iec/html/wordstyle.scss +0 -3
  15. data/lib/isodoc/iec/html_convert.rb +8 -0
  16. data/lib/isodoc/iec/i18n-en.yaml +2 -0
  17. data/lib/isodoc/iec/i18n-fr.yaml +2 -0
  18. data/lib/isodoc/iec/iec.international-standard.xsl +4133 -0
  19. data/lib/isodoc/iec/metadata.rb +3 -52
  20. data/lib/isodoc/iec/pdf_convert.rb +31 -0
  21. data/lib/isodoc/iec/word_convert.rb +17 -6
  22. data/lib/metanorma-iec.rb +1 -0
  23. data/lib/metanorma/iec/processor.rb +12 -1
  24. data/lib/metanorma/iec/version.rb +1 -1
  25. data/spec/asciidoctor-iec/base_spec.rb +20 -29
  26. data/spec/asciidoctor-iec/blocks_spec.rb +15 -7
  27. data/spec/asciidoctor-iec/cleanup_spec.rb +13 -7
  28. data/spec/asciidoctor-iec/iev_spec.rb +161 -0
  29. data/spec/asciidoctor-iec/inline_spec.rb +2 -1
  30. data/spec/asciidoctor-iec/section_spec.rb +8 -8
  31. data/spec/assets/iso.xml +65 -2
  32. data/spec/examples/rice.html +5 -5
  33. data/spec/examples/rice_img/rice_image1.png +0 -0
  34. data/spec/examples/rice_img/rice_image2.png +0 -0
  35. data/spec/examples/rice_img/rice_image3_1.png +0 -0
  36. data/spec/examples/rice_img/rice_image3_2.png +0 -0
  37. data/spec/examples/rice_img/rice_image3_3.png +0 -0
  38. data/spec/isodoc/blocks_spec.rb +160 -0
  39. data/spec/isodoc/i18n_spec.rb +15 -22
  40. data/spec/isodoc/iev_spec.rb +360 -0
  41. data/spec/isodoc/inline_spec.rb +2 -2
  42. data/spec/isodoc/iso_spec.rb +2 -19
  43. data/spec/isodoc/metadata_spec.rb +92 -9
  44. data/spec/isodoc/postproc_spec.rb +8 -2
  45. data/spec/isodoc/ref_spec.rb +249 -0
  46. data/spec/isodoc/section_spec.rb +49 -14
  47. data/spec/isodoc/terms_spec.rb +2 -2
  48. data/spec/metanorma/processor_spec.rb +3 -3
  49. data/spec/spec_helper.rb +3 -2
  50. metadata +14 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08369dfaab9066548f5aad7c5011c358f56f6c1f1f704173de19afc0df4a6a51'
4
- data.tar.gz: 8995d08b8a4a9c6569af60204a6964cc5e6ebcd0e57dfde55c26d2f030040661
3
+ metadata.gz: 1fbe3d530ca404960dbb29bf3e17cf9edd87f3aaf490c611237d0bdb24c0b9f4
4
+ data.tar.gz: 24d862f45615ae61c6763c8a3ed1a0ce7ef111daf7d7298182be2fd85d6689e7
5
5
  SHA512:
6
- metadata.gz: 7038a4915d5f370122494500b39fefdb530310eb7c57a420f61eab9ae6c1bdd8ba5aa9a1ece06e4e4d63f41f76aefdf78943768c28061ea3db896e819180318d
7
- data.tar.gz: e6906b0c4ee3debfd9ffa0fde700c4df213b7451c6ee3a60db8eb3a67b6da67656c9de1e43d5d3d8475dd0109753e714014962a1ec8063b5985cc2efe1ba213f
6
+ metadata.gz: 9caee1648d816b662e0a28802746b6a22c3d17d3ca1c6cb0ed5adc8b179b54f7d2a7172a64bc8a1658849b2f17080df009118d15be601d91f3bc23310933d3a1
7
+ data.tar.gz: c253b48e4750170511dfcfcc5496570fe6f85a4eb32372e1f95e161425b29ffb5ad21131ebb8083bae5188c6e0f0dfca9dfed79250b1d68278a3418b3a79f3a2
@@ -6,15 +6,23 @@ on:
6
6
  push:
7
7
  branches: [ master ]
8
8
  pull_request:
9
+ paths-ignore:
10
+ - .github/workflows/ubuntu.yml
11
+ - .github/workflows/windows.yml
9
12
 
10
13
  jobs:
11
14
  test-macos:
12
15
  name: Test on Ruby ${{ matrix.ruby }} macOS
13
16
  runs-on: macos-latest
17
+ continue-on-error: ${{ matrix.experimental }}
14
18
  strategy:
15
19
  fail-fast: false
16
20
  matrix:
17
21
  ruby: [ '2.6', '2.5', '2.4' ]
22
+ experimental: [false]
23
+ include:
24
+ - ruby: '2.7'
25
+ experimental: true
18
26
  steps:
19
27
  - uses: actions/checkout@master
20
28
  - name: Use Ruby
@@ -26,13 +34,6 @@ jobs:
26
34
  run: |
27
35
  sudo gem install bundler --force
28
36
  bundle install --jobs 4 --retry 3
29
- - name: Use Node
30
- uses: actions/setup-node@v1
31
- with:
32
- node-version: '8'
33
- - name: Install Puppeteer
34
- run: |
35
- npm install -g puppeteer
36
37
  - name: Run specs
37
38
  run: |
38
39
  bundle exec rake
@@ -5,16 +5,26 @@ name: ubuntu
5
5
  on:
6
6
  push:
7
7
  branches: [ master ]
8
+ tags:
9
+ - '*'
8
10
  pull_request:
11
+ paths-ignore:
12
+ - .github/workflows/macos.yml
13
+ - .github/workflows/windows.yml
9
14
 
10
15
  jobs:
11
16
  test-linux:
12
17
  name: Test on Ruby ${{ matrix.ruby }} Ubuntu
13
18
  runs-on: ubuntu-latest
19
+ continue-on-error: ${{ matrix.experimental }}
14
20
  strategy:
15
21
  fail-fast: false
16
22
  matrix:
17
23
  ruby: [ '2.6', '2.5', '2.4' ]
24
+ experimental: [false]
25
+ include:
26
+ - ruby: '2.7'
27
+ experimental: true
18
28
  steps:
19
29
  - uses: actions/checkout@master
20
30
  - name: Use Ruby
@@ -26,18 +36,11 @@ jobs:
26
36
  run: |
27
37
  gem install bundler
28
38
  bundle install --jobs 4 --retry 3
29
- - name: Use Node
30
- uses: actions/setup-node@v1
31
- with:
32
- node-version: '8'
33
- - name: Install Puppeteer
34
- run: |
35
- npm install -g puppeteer
36
39
  - name: Run specs
37
40
  run: |
38
41
  bundle exec rake
39
42
  - name: Trigger dependent repositories
40
- if: github.ref == 'refs/heads/master'
43
+ if: github.ref == 'refs/heads/master' && matrix.ruby == '2.6'
41
44
  env:
42
45
  GH_USERNAME: ${{ secrets.PAT_USERNAME }}
43
46
  GH_ACCESS_TOKEN: ${{ secrets.PAT_TOKEN }}
@@ -46,5 +49,5 @@ jobs:
46
49
  [[ -f ".github/workflows/dependent_repos.env" ]] && source .github/workflows/dependent_repos.env
47
50
  for repo in $DEPENDENT_REPOS
48
51
  do
49
- sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY
52
+ sh trigger-gh-actions.sh $ORGANISATION $repo $GH_USERNAME $GH_ACCESS_TOKEN $GITHUB_REPOSITORY "{ \"ref\": \"${GITHUB_REF}\" }"
50
53
  done
@@ -6,15 +6,23 @@ on:
6
6
  push:
7
7
  branches: [ master ]
8
8
  pull_request:
9
+ paths-ignore:
10
+ - .github/workflows/macos.yml
11
+ - .github/workflows/ubuntu.yml
9
12
 
10
13
  jobs:
11
14
  test-windows:
12
15
  name: Test on Ruby ${{ matrix.ruby }} Windows
13
16
  runs-on: windows-latest
17
+ continue-on-error: ${{ matrix.experimental }}
14
18
  strategy:
15
19
  fail-fast: false
16
20
  matrix:
17
21
  ruby: [ '2.6', '2.5', '2.4' ]
22
+ experimental: [false]
23
+ include:
24
+ - ruby: '2.7'
25
+ experimental: true
18
26
  steps:
19
27
  - uses: actions/checkout@master
20
28
  - name: Use Ruby
@@ -27,15 +35,7 @@ jobs:
27
35
  run: |
28
36
  gem install bundler
29
37
  bundle config --local path vendor/bundle
30
- bundle update
31
38
  bundle install --jobs 4 --retry 3
32
- - name: Use Node
33
- uses: actions/setup-node@v1
34
- with:
35
- node-version: '8'
36
- - name: Install Puppeteer
37
- run: |
38
- npm install -g puppeteer
39
39
  - name: Run specs
40
40
  run: |
41
41
  bundle exec rake
@@ -49,11 +49,17 @@
49
49
  </define>
50
50
  <define name="stage">
51
51
  <element name="stage">
52
+ <optional>
53
+ <attribute name="abbreviation"/>
54
+ </optional>
52
55
  <text/>
53
56
  </element>
54
57
  </define>
55
58
  <define name="substage">
56
59
  <element name="substage">
60
+ <optional>
61
+ <attribute name="abbreviation"/>
62
+ </optional>
57
63
  <text/>
58
64
  </element>
59
65
  </define>
@@ -82,7 +88,7 @@
82
88
  <text/>
83
89
  </element>
84
90
  </define>
85
- <define name="LocalizedString">
91
+ <define name="LocalizedString1">
86
92
  <optional>
87
93
  <!-- multiple languages and scripts possible: comma delimit them if so -->
88
94
  <attribute name="language"/>
@@ -92,6 +98,16 @@
92
98
  </optional>
93
99
  <text/>
94
100
  </define>
101
+ <define name="LocalizedString">
102
+ <choice>
103
+ <ref name="LocalizedString1"/>
104
+ <oneOrMore>
105
+ <element name="variant">
106
+ <ref name="LocalizedString1"/>
107
+ </element>
108
+ </oneOrMore>
109
+ </choice>
110
+ </define>
95
111
  <!--
96
112
  Unlike UML, change type to format: type is overloaded
97
113
  Would be need if plain were default value and could omit the attribute
@@ -115,7 +131,7 @@
115
131
  </optional>
116
132
  <ref name="LocalizedStringOrXsAny"/>
117
133
  </define>
118
- <define name="LocalizedStringOrXsAny">
134
+ <define name="LocalizedStringOrXsAny1">
119
135
  <optional>
120
136
  <!-- multiple languages and scripts possible: comma delimit them if so -->
121
137
  <attribute name="language"/>
@@ -130,6 +146,16 @@
130
146
  </choice>
131
147
  </oneOrMore>
132
148
  </define>
149
+ <define name="LocalizedStringOrXsAny">
150
+ <choice>
151
+ <ref name="LocalizedStringOrXsAny1"/>
152
+ <oneOrMore>
153
+ <element name="variant">
154
+ <ref name="LocalizedStringOrXsAny1"/>
155
+ </element>
156
+ </oneOrMore>
157
+ </choice>
158
+ </define>
133
159
  <define name="contributor">
134
160
  <element name="contributor">
135
161
  <zeroOrMore>
@@ -452,9 +478,14 @@
452
478
  <attribute name="bibitemid">
453
479
  <data type="IDREF"/>
454
480
  </attribute>
455
- <zeroOrMore>
456
- <ref name="locality"/>
457
- </zeroOrMore>
481
+ <choice>
482
+ <zeroOrMore>
483
+ <ref name="locality"/>
484
+ </zeroOrMore>
485
+ <zeroOrMore>
486
+ <ref name="localityStack"/>
487
+ </zeroOrMore>
488
+ </choice>
458
489
  <optional>
459
490
  <ref name="date"/>
460
491
  </optional>
@@ -469,6 +500,25 @@
469
500
  <ref name="BibItemLocality"/>
470
501
  </element>
471
502
  </define>
503
+ <define name="localityStack">
504
+ <element name="localityStack">
505
+ <zeroOrMore>
506
+ <ref name="locality"/>
507
+ </zeroOrMore>
508
+ </element>
509
+ </define>
510
+ <define name="sourceLocality">
511
+ <element name="sourceLocality">
512
+ <ref name="BibItemLocality"/>
513
+ </element>
514
+ </define>
515
+ <define name="sourceLocalityStack">
516
+ <element name="sourceLocalityStack">
517
+ <zeroOrMore>
518
+ <ref name="sourceLocality"/>
519
+ </zeroOrMore>
520
+ </element>
521
+ </define>
472
522
  <define name="BibItemLocality">
473
523
  <attribute name="type">
474
524
  <ref name="LocalityType"/>
@@ -611,9 +661,9 @@
611
661
  <optional>
612
662
  <ref name="status"/>
613
663
  </optional>
614
- <optional>
664
+ <zeroOrMore>
615
665
  <ref name="copyright"/>
616
- </optional>
666
+ </zeroOrMore>
617
667
  <zeroOrMore>
618
668
  <ref name="docrelation"/>
619
669
  </zeroOrMore>
@@ -737,6 +787,8 @@
737
787
  <value>unchanged</value>
738
788
  <value>circulated</value>
739
789
  <value>adapted</value>
790
+ <value>vote-started</value>
791
+ <value>vote-ended</value>
740
792
  </choice>
741
793
  </define>
742
794
  <define name="bdate">
@@ -969,7 +1021,17 @@
969
1021
  <optional>
970
1022
  <ref name="to"/>
971
1023
  </optional>
972
- <ref name="owner"/>
1024
+ <oneOrMore>
1025
+ <ref name="owner"/>
1026
+ </oneOrMore>
1027
+ <optional>
1028
+ <ref name="copyright_scope"/>
1029
+ </optional>
1030
+ </element>
1031
+ </define>
1032
+ <define name="copyright_scope">
1033
+ <element name="scope">
1034
+ <text/>
973
1035
  </element>
974
1036
  </define>
975
1037
  <define name="from">
@@ -989,38 +1051,63 @@
989
1051
  </define>
990
1052
  <define name="DocRelationType">
991
1053
  <choice>
992
- <value>obsoletes</value>
993
- <value>obsoletedBy</value>
994
- <value>supersedes</value>
995
- <value>supersededBy</value>
996
- <value>updates</value>
997
- <value>updatedBy</value>
998
- <value>complements</value>
999
- <value>derivedFrom</value>
1000
- <value>translatedFrom</value>
1001
- <value>hasTranslation</value>
1002
- <value>adoptedFrom</value>
1003
- <value>equivalent</value>
1004
- <value>identical</value>
1005
- <value>nonequivalent</value>
1006
- <value>includedIn</value>
1007
1054
  <value>includes</value>
1008
- <value>instance</value>
1009
- <value>instanceOf</value>
1010
- <value>partOf</value>
1055
+ <value>includedIn</value>
1011
1056
  <value>hasPart</value>
1012
- <value>hasDraft</value>
1013
- <value>draftOf</value>
1057
+ <value>partOf</value>
1014
1058
  <value>merges</value>
1059
+ <value>mergedInto</value>
1015
1060
  <value>splits</value>
1016
- <value>amends</value>
1017
- <value>amendedBy</value>
1018
- <value>corrects</value>
1019
- <value>correctedBy</value>
1020
- <value>revises</value>
1021
- <value>revisedBy</value>
1061
+ <value>splitInto</value>
1062
+ <value>instance</value>
1063
+ <value>hasInstance</value>
1064
+ <value>exemplarOf</value>
1065
+ <value>hasExemplar</value>
1066
+ <value>manifestationOf</value>
1067
+ <value>hasManifestation</value>
1068
+ <value>reproductionOf</value>
1069
+ <value>hasReproduction</value>
1070
+ <value>reprintOf</value>
1071
+ <value>hasReprint</value>
1072
+ <value>expressionOf</value>
1073
+ <value>hasExpression</value>
1074
+ <value>translatedFrom</value>
1075
+ <value>hasTranslation</value>
1076
+ <value>arrangementOf</value>
1077
+ <value>hasArrangement</value>
1078
+ <value>abridgementOf</value>
1079
+ <value>hasAbridgement</value>
1080
+ <value>annotationOf</value>
1081
+ <value>hasAnnotation</value>
1082
+ <value>draftOf</value>
1083
+ <value>hasDraft</value>
1084
+ <value>editionOf</value>
1085
+ <value>hasEdition</value>
1086
+ <value>updates</value>
1087
+ <value>updatedBy</value>
1088
+ <value>derivedFrom</value>
1089
+ <value>derives</value>
1022
1090
  <value>describes</value>
1023
1091
  <value>describedBy</value>
1092
+ <value>catalogues</value>
1093
+ <value>cataloguedBy</value>
1094
+ <value>hasSuccessor</value>
1095
+ <value>successorOf</value>
1096
+ <value>adaptedFrom</value>
1097
+ <value>hasAdaptation</value>
1098
+ <value>adoptedFrom</value>
1099
+ <value>adoptedAs</value>
1100
+ <value>reviewOf</value>
1101
+ <value>hasReview</value>
1102
+ <value>commentaryOf</value>
1103
+ <value>hasCommentary</value>
1104
+ <value>related</value>
1105
+ <value>complements</value>
1106
+ <value>complementOf</value>
1107
+ <value>obsoletes</value>
1108
+ <value>obsoletedBy</value>
1109
+ <value>cited</value>
1110
+ <value>isCitedIn</value>
1024
1111
  </choice>
1025
1112
  </define>
1026
1113
  <define name="docrelation">
@@ -1028,12 +1115,30 @@
1028
1115
  <attribute name="type">
1029
1116
  <ref name="DocRelationType"/>
1030
1117
  </attribute>
1118
+ <optional>
1119
+ <element name="description">
1120
+ <ref name="FormattedString"/>
1121
+ </element>
1122
+ </optional>
1031
1123
  <element name="bibitem">
1032
1124
  <ref name="BibliographicItem"/>
1033
1125
  </element>
1034
- <zeroOrMore>
1035
- <ref name="locality"/>
1036
- </zeroOrMore>
1126
+ <choice>
1127
+ <zeroOrMore>
1128
+ <ref name="locality"/>
1129
+ </zeroOrMore>
1130
+ <zeroOrMore>
1131
+ <ref name="localityStack"/>
1132
+ </zeroOrMore>
1133
+ </choice>
1134
+ <choice>
1135
+ <zeroOrMore>
1136
+ <ref name="sourceLocality"/>
1137
+ </zeroOrMore>
1138
+ <zeroOrMore>
1139
+ <ref name="sourceLocalityStack"/>
1140
+ </zeroOrMore>
1141
+ </choice>
1037
1142
  </element>
1038
1143
  </define>
1039
1144
  <define name="version">
@@ -1,5 +1,6 @@
1
1
  require "asciidoctor"
2
2
  require "metanorma-iso"
3
+ require_relative "./front.rb"
3
4
 
4
5
  module Asciidoctor
5
6
  module Iec
@@ -9,51 +10,9 @@ module Asciidoctor
9
10
 
10
11
  register_for "iec"
11
12
 
12
- def metadata_author(node, xml)
13
- publishers = node.attr("publisher") || "IEC"
14
- publishers.split(/,[ ]?/).each do |p|
15
- xml.contributor do |c|
16
- c.role **{ type: "author" }
17
- c.organization { |a| organization(a, p) }
18
- end
19
- end
20
- end
21
-
22
- def metadata_publisher(node, xml)
23
- publishers = node.attr("publisher") || "IEC"
24
- publishers.split(/,[ ]?/).each do |p|
25
- xml.contributor do |c|
26
- c.role **{ type: "publisher" }
27
- c.organization { |a| organization(a, p) }
28
- end
29
- end
30
- end
31
-
32
- def metadata_copyright(node, xml)
33
- publishers = node.attr("publisher") || "IEC"
34
- publishers.split(/,[ ]?/).each do |p|
35
- xml.copyright do |c|
36
- c.from (node.attr("copyright-year") || Date.today.year)
37
- c.owner do |owner|
38
- owner.organization { |o| organization(o, p) }
39
- end
40
- end
41
- end
42
- end
43
-
44
- def iso_id(node, xml)
45
- return unless node.attr("docnumber")
46
- part, subpart = node&.attr("partnumber")&.split(/-/)
47
- dn = add_id_parts(node.attr("docnumber"), part, subpart)
48
- dn = id_stage_prefix(dn, node)
49
- dn = id_edition_suffix(dn, node)
50
- xml.docidentifier dn, **attr_code(type: "iso")
51
- end
52
-
53
- def id_edition_suffix(dn, node)
54
- ed = node.attr("edition") || 1
55
- dn += " ED #{ed}"
56
- dn
13
+ def init(node)
14
+ super
15
+ @is_iev = node.attr("docnumber") == "60050"
57
16
  end
58
17
 
59
18
  def boilerplate_file(x_orig)
@@ -79,91 +38,6 @@ module Asciidoctor
79
38
  File.join(File.dirname(__FILE__), "iec.rng"))
80
39
  end
81
40
 
82
- STAGE_CODES = {
83
- "PNW" => "1000",
84
- "ANW" => "2000",
85
- "CAN" => "2098",
86
- "ACD" => "2099",
87
- "CD" => "3020",
88
- "BWG" => "3092",
89
- "A2CD" => "3099",
90
- "2CD" => "3520",
91
- "3CD" => "3520",
92
- "4CD" => "3520",
93
- "5CD" => "3520",
94
- "6CD" => "3520",
95
- "7CD" => "3520",
96
- "8CD" => "3520",
97
- "9CD" => "3520",
98
- "CDM" => "3591",
99
- "A3CD" => "3592",
100
- "A4CD" => "3592",
101
- "A5CD" => "3592",
102
- "A6CD" => "3592",
103
- "A7CD" => "3592",
104
- "A8CD" => "3592",
105
- "A9CD" => "3592",
106
- "ACDV" => "3599",
107
- "CCDV" => "4020",
108
- "CDVM" => "4091",
109
- "NCDV" => "4092",
110
- "NADIS" => "4093",
111
- "ADIS" => "4099",
112
- "ADTR" => "4099",
113
- "ADTS" => "4099",
114
- "RDISH" => "5000",
115
- "RFDIS" => "5000",
116
- "CDISH" => "5020",
117
- "CDPAS" => "5020",
118
- "CDTR" => "5020",
119
- "CDTS" => "5020",
120
- "CFDIS" => "5020",
121
- "DTRM" => "5092",
122
- "DTSM" => "5092",
123
- "NDTR" => "5092",
124
- "NDTS" => "5092",
125
- "NFDIS" => "5092",
126
- "APUB" => "5099",
127
- "BPUB" => "6000",
128
- "PPUB" => "6060",
129
- "RR" => "9092",
130
- "AMW" => "9220",
131
- "WPUB" => "9599",
132
- "DELPUB" => "9960",
133
- }.freeze
134
-
135
- DOC_STAGE = {
136
- "00": "PWI",
137
- "10": "NWIP",
138
- "20": "WD",
139
- "30": "CD",
140
- "40": "CDV",
141
- "50": "FDIS",
142
- }.freeze
143
-
144
- def get_stage(node)
145
- stage = node.attr("status") || node.attr("docstage") || "60"
146
- m = /([0-9])CD$/.match(stage) and
147
- node.set_attr("iteration", m[1])
148
- STAGE_CODES[stage] and stage = STAGE_CODES[stage][0..1]
149
- stage
150
- end
151
-
152
- def get_substage(node)
153
- st = node.attr("status") || node.attr("docstage")
154
- stage = get_stage(node)
155
- node.attr("docsubstage") ||
156
- ( stage == "60" ? "60" :
157
- STAGE_CODES[st] ? STAGE_CODES[st][2..3] :
158
- "00" )
159
- end
160
-
161
- def id_stage_abbr(stage, substage, node)
162
- abbr = DOC_STAGE[stage.to_sym] || ""
163
- abbr = node.attr("iteration") + abbr if node.attr("iteration")
164
- abbr
165
- end
166
-
167
41
  def load_yaml(lang, script)
168
42
  y = if @i18nyaml then YAML.load_file(@i18nyaml)
169
43
  elsif lang == "en"
@@ -187,6 +61,24 @@ module Asciidoctor
187
61
  node.nil? ? IsoDoc::Iec::WordConvert.new({}) :
188
62
  IsoDoc::Iec::WordConvert.new(doc_extract_attributes(node))
189
63
  end
64
+
65
+ def pdf_converter(node)
66
+ node.nil? ? IsoDoc::Iec::PdfConvert.new({}) :
67
+ IsoDoc::Iec::PdfConvert.new(doc_extract_attributes(node))
68
+ end
69
+
70
+ def norm_ref_preface(f)
71
+ return super unless @is_iev
72
+ f.at("./title").next =
73
+ "<p>#{@norm_empty_pref}</p>"
74
+ end
75
+
76
+ def term_defs_boilerplate(div, source, term, preface, isodoc)
77
+ return super unless @is_iev
78
+ end
79
+
80
+ def sts_converter(node)
81
+ end
190
82
  end
191
83
  end
192
84
  end