metanorma-iec 1.2.7 → 1.2.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +29 -8
  3. data/README.adoc +3 -4
  4. data/lib/asciidoctor/iec/basicdoc.rng +50 -3
  5. data/lib/asciidoctor/iec/converter.rb +22 -1
  6. data/lib/asciidoctor/iec/front.rb +18 -7
  7. data/lib/asciidoctor/iec/iec.rng +81 -1
  8. data/lib/asciidoctor/iec/iec_intro_en.xml +110 -56
  9. data/lib/asciidoctor/iec/iec_intro_fr.xml +78 -22
  10. data/lib/asciidoctor/iec/isodoc.rng +61 -3
  11. data/lib/asciidoctor/iec/isostandard.rng +27 -10
  12. data/lib/isodoc/iec/base_convert.rb +2 -2
  13. data/lib/isodoc/iec/html/htmlstyle.css +5 -5
  14. data/lib/isodoc/iec/html/htmlstyle.scss +4 -4
  15. data/lib/isodoc/iec/html/isodoc.css +79 -79
  16. data/lib/isodoc/iec/html/isodoc.scss +79 -79
  17. data/lib/isodoc/iec/html/wordstyle.css +120 -120
  18. data/lib/isodoc/iec/html/wordstyle.scss +120 -120
  19. data/lib/isodoc/iec/html_convert.rb +8 -0
  20. data/lib/isodoc/iec/i18n-en.yaml +17 -0
  21. data/lib/isodoc/iec/i18n-fr.yaml +18 -0
  22. data/lib/isodoc/iec/iec.international-standard.xsl +817 -382
  23. data/lib/isodoc/iec/metadata.rb +33 -0
  24. data/lib/isodoc/iec/presentation_xml_convert.rb +12 -0
  25. data/lib/isodoc/iec/word_convert.rb +10 -0
  26. data/lib/metanorma/iec/processor.rb +11 -8
  27. data/lib/metanorma/iec/version.rb +1 -1
  28. data/metanorma-iec.gemspec +1 -2
  29. data/spec/asciidoctor-iec/base_spec.rb +429 -8
  30. data/spec/asciidoctor-iec/blocks_spec.rb +25 -21
  31. data/spec/asciidoctor-iec/cleanup_spec.rb +99 -98
  32. data/spec/asciidoctor-iec/iev_spec.rb +15 -6
  33. data/spec/asciidoctor-iec/inline_spec.rb +11 -7
  34. data/spec/asciidoctor-iec/lists_spec.rb +13 -9
  35. data/spec/asciidoctor-iec/section_spec.rb +9 -5
  36. data/spec/asciidoctor-iec/validate_spec.rb +15 -0
  37. data/spec/isodoc/i18n_spec.rb +30 -0
  38. data/spec/isodoc/iso_spec.rb +2 -2
  39. data/spec/isodoc/metadata_spec.rb +23 -1
  40. data/spec/isodoc/ref_spec.rb +2 -2
  41. data/spec/metanorma/processor_spec.rb +1 -1
  42. data/spec/spec_helper.rb +20 -31
  43. metadata +4 -18
@@ -27,7 +27,7 @@ RSpec.describe Metanorma::Iec::Processor do
27
27
  expect(xmlpp(strip_guid(processor.input_to_isodoc(<<~"INPUT", nil)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
28
28
  #{ASCIIDOC_BLANK_HDR}
29
29
  INPUT
30
- #{BLANK_HDR}
30
+ #{blank_hdr_gen}
31
31
  <sections/>
32
32
  </iec-standard>
33
33
  OUTPUT
@@ -112,36 +112,17 @@ TERMS_BOILERPLATE = <<~"BOILERPLATE"
112
112
  </ul>
113
113
  BOILERPLATE
114
114
 
115
- BOILERPLATE =
116
- HTMLEntities.new.decode(
117
- File.read(File.join(File.dirname(__FILE__), "..", "lib", "asciidoctor", "iec", "iec_intro_en.xml"), encoding: "utf-8").
118
- gsub(/\{\{ agency \}\}/, "IEC").gsub(/\{\{ docyear \}\}/, Date.today.year.to_s).
119
- gsub(/\{% if unpublished %\}.*\{% endif %\}/m, "").
120
- gsub(/(?<=\p{Alnum})'(?=\p{Alpha})/, "’").
121
- gsub(/<p>/, "<p id='_'>").
122
- gsub(/<ol>/, "<ol id='_'>")
123
- )
124
-
125
- BOILERPLATE_LICENSE = <<~END
126
- <license-statement>
127
- <clause>
128
- <title>Warning for CDs, CDVs and FDISs</title>
129
- <p id='_'>
130
- This document is not an IEC International Standard. It is distributed
131
- for review and comment. It is subject to change without notice and may
132
- not be referred to as an International Standard.
133
- </p>
134
- <p id='_'>
135
- Recipients of this draft are invited to submit, with their comments,
136
- notification of any relevant patent rights of which they are aware and
137
- to provide supporting documentation.
138
- </p>
139
- </clause>
140
- </license-statement>
141
- END
142
-
143
- UNPUBLISHED_BOILERPLATE = BOILERPLATE.sub(/<\/boilerplate>/, "#{BOILERPLATE_LICENSE}</boilerplate>")
144
-
115
+ def boilerplate(xmldoc)
116
+ file = File.read(File.join(File.dirname(__FILE__), "..", "lib", "asciidoctor", "iec", "iec_intro_en.xml"), encoding: "utf-8")
117
+ conv = Asciidoctor::Iec::Converter.new(nil, backend: :iec, header_footer: true)
118
+ conv.init(Asciidoctor::Document.new [])
119
+ ret = Nokogiri::XML(
120
+ conv.boilerplate_isodoc(xmldoc).populate_template(file, nil).
121
+ gsub(/<p>/, "<p id='_'>").
122
+ gsub(/<ol>/, "<ol id='_'>"))
123
+ conv.smartquotes_cleanup(ret)
124
+ HTMLEntities.new.decode(ret.to_xml)
125
+ end
145
126
 
146
127
  BLANK_HDR = <<~"HDR"
147
128
  <?xml version="1.0" encoding="UTF-8"?>
@@ -178,6 +159,7 @@ BLANK_HDR = <<~"HDR"
178
159
  </copyright>
179
160
  <ext>
180
161
  <doctype>article</doctype>
162
+ <horizontal>false</horizontal>
181
163
  <editorialgroup>
182
164
  <technical-committee/>
183
165
  <subcommittee/>
@@ -186,9 +168,16 @@ BLANK_HDR = <<~"HDR"
186
168
  <stagename>International standard</stagename>
187
169
  </ext>
188
170
  </bibdata>
189
- #{BOILERPLATE}
190
171
  HDR
191
172
 
173
+ def blank_hdr_gen
174
+ <<~"HDR"
175
+ #{BLANK_HDR}
176
+ #{boilerplate(Nokogiri::XML(BLANK_HDR + "</iec-standard>"))}
177
+ HDR
178
+ end
179
+
180
+
192
181
  IEC_TITLE = <<~END
193
182
  <p class="zzSTDTitle1">INTERNATIONAL ELECTROTECHNICAL COMMISSION</p>
194
183
  <p class="zzSTDTitle1">____________</p>
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.2.7
4
+ version: 1.2.12
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
@@ -24,34 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: isodoc
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 1.2.0
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 1.2.0
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: metanorma-iso
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: 1.5.10
33
+ version: 1.6.1
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: 1.5.10
40
+ version: 1.6.1
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: byebug
57
43
  requirement: !ruby/object:Gem::Requirement