metanorma-iec 1.0.9 → 1.1.0
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/lib/asciidoctor/iec/converter.rb +5 -0
- data/lib/isodoc/iec/base_convert.rb +5 -35
- data/lib/isodoc/iec/iec.international-standard.xsl +1098 -524
- data/lib/isodoc/iec/pdf_convert.rb +2 -12
- data/lib/isodoc/iec/presentation_xml_convert.rb +10 -0
- data/lib/isodoc/iec/word_convert.rb +1 -1
- data/lib/isodoc/iec/xref.rb +45 -0
- data/lib/metanorma-iec.rb +2 -0
- data/lib/metanorma/iec/processor.rb +6 -4
- data/lib/metanorma/iec/version.rb +1 -1
- data/metanorma-iec.gemspec +2 -2
- data/spec/asciidoctor-iec/cleanup_spec.rb +1 -1
- data/spec/metanorma/processor_spec.rb +2 -2
- metadata +12 -11
@@ -13,18 +13,8 @@ module IsoDoc
|
|
13
13
|
super
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
|
18
|
-
docxml, outname_html, dir = convert_init(file, filename, debug)
|
19
|
-
/\.xml$/.match(filename) or
|
20
|
-
filename = Tempfile.open([outname_html, ".xml"], encoding: "utf-8") do |f|
|
21
|
-
f.write file
|
22
|
-
f.path
|
23
|
-
end
|
24
|
-
FileUtils.rm_rf dir
|
25
|
-
::Metanorma::Output::XslfoPdf.new.convert(
|
26
|
-
filename, outname_html + ".pdf",
|
27
|
-
File.join(@libdir, "iec.international-standard.xsl"))
|
16
|
+
def pdf_stylesheet(docxml)
|
17
|
+
"iec.international-standard.xsl"
|
28
18
|
end
|
29
19
|
end
|
30
20
|
end
|
@@ -171,7 +171,7 @@ module IsoDoc
|
|
171
171
|
div.p **attr_code(class: "formula") do |p|
|
172
172
|
insert_tab(div, 1)
|
173
173
|
parse(node.at(ns("./stem")), div)
|
174
|
-
lbl = anchor(node['id'], :label, false)
|
174
|
+
lbl = @xrefs.anchor(node['id'], :label, false)
|
175
175
|
unless lbl.nil?
|
176
176
|
insert_tab(div, 1)
|
177
177
|
div << "(#{lbl})"
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module IsoDoc
|
2
|
+
module Iec
|
3
|
+
class Xref < IsoDoc::Iso::Xref
|
4
|
+
def parse(docxml)
|
5
|
+
id = docxml&.at(ns("//bibdata/docnumber"))&.text
|
6
|
+
@is_iev = id == "60050"
|
7
|
+
id = docxml&.at(ns("//bibdata/docidentifier[@type = 'ISO']"))&.text
|
8
|
+
m = /60050-(\d+)/.match(id) and @iev_part = m[1]
|
9
|
+
super
|
10
|
+
end
|
11
|
+
|
12
|
+
def introduction_names(clause)
|
13
|
+
return super unless @is_iev
|
14
|
+
end
|
15
|
+
|
16
|
+
def initial_anchor_names(d)
|
17
|
+
super
|
18
|
+
return unless @is_iev
|
19
|
+
terms_iev_names(d)
|
20
|
+
middle_section_asset_names(d)
|
21
|
+
termnote_anchor_names(d)
|
22
|
+
termexample_anchor_names(d)
|
23
|
+
end
|
24
|
+
|
25
|
+
def terms_iev_names(d)
|
26
|
+
d.xpath(ns("//sections/clause/terms")).each_with_index do |t, i|
|
27
|
+
num = "#{@iev_part}-%02d" % [i+1]
|
28
|
+
@anchors[t["id"]] =
|
29
|
+
{ label: num, xref: l10n("#{@labels["section_iev"]}-#{num}"), level: 2,
|
30
|
+
type: "clause" }
|
31
|
+
t.xpath(ns("./term")).each_with_index do |c, i|
|
32
|
+
num2 = "%02d" % [i+1]
|
33
|
+
section_names1(c, "#{num}-#{num2}", 3)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def annex_name_lbl(clause, num)
|
39
|
+
obl = l10n("(#{@labels["inform_annex"]})")
|
40
|
+
obl = l10n("(#{@labels["norm_annex"]})") if clause["obligation"] == "normative"
|
41
|
+
l10n("<b>#{@labels["annex"]} #{num}</b><br/><br/>#{obl}")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/lib/metanorma-iec.rb
CHANGED
@@ -4,7 +4,9 @@ require_relative "metanorma/iec/version"
|
|
4
4
|
require "isodoc/iec/html_convert"
|
5
5
|
require "isodoc/iec/word_convert"
|
6
6
|
require "isodoc/iec/pdf_convert"
|
7
|
+
require "isodoc/iec/presentation_xml_convert"
|
7
8
|
require "isodoc/iec/metadata"
|
9
|
+
require "isodoc/iec/xref"
|
8
10
|
|
9
11
|
if defined? Metanorma
|
10
12
|
require_relative "metanorma/iec"
|
@@ -34,14 +34,16 @@ module Metanorma
|
|
34
34
|
Metanorma::Input::Asciidoc.new.process(file, filename, @asciidoctor_backend)
|
35
35
|
end
|
36
36
|
|
37
|
-
def output(isodoc_node, outname, format, options={})
|
37
|
+
def output(isodoc_node, inname, outname, format, options={})
|
38
38
|
case format
|
39
39
|
when :html
|
40
|
-
IsoDoc::Iec::HtmlConvert.new(options).convert(
|
40
|
+
IsoDoc::Iec::HtmlConvert.new(options).convert(inname, isodoc_node, nil, outname)
|
41
41
|
when :doc
|
42
|
-
IsoDoc::Iec::WordConvert.new(options).convert(
|
42
|
+
IsoDoc::Iec::WordConvert.new(options).convert(inname, isodoc_node, nil, outname)
|
43
43
|
when :pdf
|
44
|
-
IsoDoc::Iec::PdfConvert.new(options).convert(
|
44
|
+
IsoDoc::Iec::PdfConvert.new(options).convert(inname, isodoc_node, nil, outname)
|
45
|
+
when :presentation
|
46
|
+
IsoDoc::Iec::PresentationXMLConvert.new(options).convert(inname, isodoc_node, nil, outname)
|
45
47
|
else
|
46
48
|
super
|
47
49
|
end
|
data/metanorma-iec.gemspec
CHANGED
@@ -28,8 +28,8 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
29
29
|
|
30
30
|
spec.add_dependency "ruby-jing"
|
31
|
-
spec.add_dependency "isodoc", "~> 1.
|
32
|
-
spec.add_dependency "metanorma-iso", "~> 1.
|
31
|
+
spec.add_dependency "isodoc", "~> 1.1.0"
|
32
|
+
spec.add_dependency "metanorma-iso", "~> 1.4.0"
|
33
33
|
|
34
34
|
spec.add_development_dependency "byebug"
|
35
35
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
@@ -288,7 +288,7 @@ RSpec.describe Asciidoctor::Iec do
|
|
288
288
|
INPUT
|
289
289
|
#{BLANK_HDR}
|
290
290
|
<sections><formula id="_">
|
291
|
-
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>F</mi><
|
291
|
+
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>F</mi><mi>or</mi><mi>μ</mi><mi>l</mi><mi>a</mi></math></stem>
|
292
292
|
<dl id="_">
|
293
293
|
<dt>a</dt>
|
294
294
|
<dd>
|
@@ -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"], [:pdf, "pdf"], [:rxl, "rxl"], [:xml, "xml"]]
|
18
|
+
[[:doc, "doc"], [:html, "html"], [:pdf, "pdf"], [:presentation, "presentation.xml"], [:rxl, "rxl"], [:xml, "xml"]]
|
19
19
|
OUTPUT
|
20
20
|
end
|
21
21
|
|
@@ -35,7 +35,7 @@ RSpec.describe Metanorma::Iec::Processor do
|
|
35
35
|
|
36
36
|
it "generates HTML from IsoDoc XML" do
|
37
37
|
FileUtils.rm_f "test.xml"
|
38
|
-
processor.output(<<~"INPUT", "test.html", :html)
|
38
|
+
processor.output(<<~"INPUT", "test.xml", "test.html", :html)
|
39
39
|
<iec-standard xmlns="http://riboseinc.com/isoxml">
|
40
40
|
<sections>
|
41
41
|
<terms id="H" obligation="normative"><title>Terms, Definitions, Symbols and Abbreviated Terms</title>
|
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.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-26 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.
|
33
|
+
version: 1.1.0
|
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.
|
40
|
+
version: 1.1.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: metanorma-iso
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: 1.4.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.
|
54
|
+
version: 1.4.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: byebug
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -244,7 +244,9 @@ files:
|
|
244
244
|
- lib/isodoc/iec/iec.international-standard.xsl
|
245
245
|
- lib/isodoc/iec/metadata.rb
|
246
246
|
- lib/isodoc/iec/pdf_convert.rb
|
247
|
+
- lib/isodoc/iec/presentation_xml_convert.rb
|
247
248
|
- lib/isodoc/iec/word_convert.rb
|
249
|
+
- lib/isodoc/iec/xref.rb
|
248
250
|
- lib/metanorma-iec.rb
|
249
251
|
- lib/metanorma/iec.rb
|
250
252
|
- lib/metanorma/iec/processor.rb
|
@@ -289,7 +291,7 @@ homepage: https://github.com/metanorma/metanorma-iec
|
|
289
291
|
licenses:
|
290
292
|
- BSD-2-Clause
|
291
293
|
metadata: {}
|
292
|
-
post_install_message:
|
294
|
+
post_install_message:
|
293
295
|
rdoc_options: []
|
294
296
|
require_paths:
|
295
297
|
- lib
|
@@ -304,9 +306,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
304
306
|
- !ruby/object:Gem::Version
|
305
307
|
version: '0'
|
306
308
|
requirements: []
|
307
|
-
|
308
|
-
|
309
|
-
signing_key:
|
309
|
+
rubygems_version: 3.0.3
|
310
|
+
signing_key:
|
310
311
|
specification_version: 4
|
311
312
|
summary: metanorma-iec lets you write IEC standards in AsciiDoc.
|
312
313
|
test_files: []
|