metanorma-itu 1.0.17 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,19 +21,6 @@ module IsoDoc
21
21
  "itu.recommendation.xsl"
22
22
  end
23
23
  end
24
-
25
- def convert(filename, file = nil, debug = false)
26
- file = File.read(filename, encoding: "utf-8") if file.nil?
27
- docxml, outname_html, dir = convert_init(file, filename, debug)
28
- /\.xml$/.match(filename) or
29
- filename = Tempfile.open([outname_html, ".xml"], encoding: "utf-8") do |f|
30
- f.write file
31
- f.path
32
- end
33
- FileUtils.rm_rf dir
34
- ::Metanorma::Output::XslfoPdf.new.convert(
35
- filename, outname_html + ".pdf", File.join(@libdir, pdf_stylesheet(docxml)))
36
- end
37
24
  end
38
25
  end
39
26
  end
@@ -0,0 +1,10 @@
1
+ require_relative "base_convert"
2
+ require "isodoc"
3
+
4
+ module IsoDoc
5
+ module ITU
6
+ class PresentationXMLConvert < IsoDoc::PresentationXMLConvert
7
+ end
8
+ end
9
+ end
10
+
@@ -5,6 +5,7 @@ require "fileutils"
5
5
  module IsoDoc
6
6
  module ITU
7
7
  module BaseConvert
8
+ =begin
8
9
  def norm_ref(isoxml, out, num)
9
10
  q = "//bibliography/references[@normative = 'true']"
10
11
  f = isoxml.at(ns(q)) or return num
@@ -15,6 +16,7 @@ module IsoDoc
15
16
  end
16
17
  num
17
18
  end
19
+ =end
18
20
 
19
21
  def nonstd_bibitem(list, b, ordinal, biblio)
20
22
  list.tr **attr_code(iso_bibitem_entry_attrs(b, biblio)) do |ref|
@@ -122,11 +124,6 @@ module IsoDoc
122
124
  /\.$/.match(title&.text) or r << "."
123
125
  end
124
126
  end
125
-
126
- def reference_names(ref)
127
- super
128
- @anchors[ref["id"]] = { xref: @anchors[ref["id"]][:xref].sub(/^\[/, '').sub(/\]$/, '') }
129
- end
130
127
  end
131
128
  end
132
129
  end
@@ -1,8 +1,8 @@
1
1
  module IsoDoc
2
2
  module ITU
3
3
  module BaseConvert
4
- def term_def_title(node)
5
- node
4
+ def term_def_title(node)
5
+ node
6
6
  end
7
7
 
8
8
  def terms_defs(node, out, num)
@@ -35,7 +35,7 @@ module IsoDoc
35
35
  def termdef_parse1(node, div, term, defn, source)
36
36
  div.p **{ class: "TermNum", id: node["id"] } do |p|
37
37
  p.b do |b|
38
- b << anchor(node["id"], :label)
38
+ b << @xrefs.anchor(node["id"], :label)
39
39
  insert_tab(b, 1)
40
40
  term.children.each { |n| parse(n, b) }
41
41
  end
@@ -60,24 +60,11 @@ module IsoDoc
60
60
  end
61
61
 
62
62
  def termnote_parse(node, out)
63
- out.div **{ class: "Note" } do |div|
64
- first = node.first_element_child
65
- div.p do |p|
66
- p << note_label(node) # "#{anchor(node['id'], :label) || '???'}: "
67
- para_then_remainder(first, node, p, div)
68
- end
69
- end
70
- end
71
-
72
- def termnote_anchor_names(docxml)
73
- docxml.xpath(ns("//term[descendant::termnote]")).each do |t|
74
- c = IsoDoc::Function::XrefGen::Counter.new
75
- notes = t.xpath(ns(".//termnote"))
76
- notes.each do |n|
77
- return if n["id"].nil? || n["id"].empty?
78
- idx = notes.size == 1 ? "" : " #{c.increment(n).print}"
79
- @anchors[n["id"]] = anchor_struct(idx, n, @note_xref_lbl,
80
- "termnote", false)
63
+ out.div **note_attrs(node) do |div|
64
+ first = node.first_element_child
65
+ div.p do |p|
66
+ p << note_label(node) # "#{@xrefs.anchor(node['id'], :label) || '???'}: "
67
+ para_then_remainder(first, node, p, div)
81
68
  end
82
69
  end
83
70
  end
@@ -118,11 +118,11 @@ module IsoDoc
118
118
  end
119
119
 
120
120
  def formula_parse1(node, out)
121
- out.div **attr_code(id: node["id"], class: "formula") do |div|
121
+ out.div **attr_code(class: "formula") do |div|
122
122
  div.p **attr_code(class: "formula") do |p|
123
123
  insert_tab(div, 1)
124
124
  parse(node.at(ns("./stem")), div)
125
- lbl = anchor(node['id'], :label, false)
125
+ lbl = @xrefs.anchor(node['id'], :label, false)
126
126
  unless lbl.nil?
127
127
  insert_tab(div, 1)
128
128
  div << "(#{lbl})"
@@ -153,10 +153,8 @@ module IsoDoc
153
153
  super.merge(valign: "top")
154
154
  end
155
155
 
156
- def ol_parse(node, out)
157
- out.ol **attr_code(class: node["class"], id: node["id"] ) do |ol|
158
- node.children.each { |n| parse(n, ol) }
159
- end
156
+ def ol_attrs(node)
157
+ { class: node["class"], id: node["id"], style: keep_style(node) }
160
158
  end
161
159
 
162
160
  def toWord(result, filename, dir, header)
@@ -4,14 +4,19 @@ require "fileutils"
4
4
 
5
5
  module IsoDoc
6
6
  module ITU
7
- module BaseConvert
7
+ class Xref < IsoDoc::Xref
8
+ def initialize(lang, script, klass, labels, options)
9
+ super
10
+ @hierarchical_assets = options[:hierarchical_assets]
11
+ end
12
+
8
13
  def annex_name_lbl(clause, num)
9
- lbl = clause["obligation"] == "informative" ? @appendix_lbl : @annex_lbl
14
+ lbl = clause["obligation"] == "informative" ? @labels["appendix"] : @labels["annex"]
10
15
  l10n("<b>#{lbl} #{num}</b>")
11
16
  end
12
17
 
13
18
  def annex_names(clause, num)
14
- lbl = clause["obligation"] == "informative" ? @appendix_lbl : @annex_lbl
19
+ lbl = clause["obligation"] == "informative" ? @labels["appendix"] : @labels["annex"]
15
20
  @anchors[clause["id"]] =
16
21
  { label: annex_name_lbl(clause, num), type: "clause",
17
22
  xref: "#{lbl} #{num}", level: 1 }
@@ -81,7 +86,7 @@ module IsoDoc
81
86
  end
82
87
 
83
88
  def sequential_figure_names(clause)
84
- c = IsoDoc::Function::XrefGen::Counter.new
89
+ c = IsoDoc::XrefGen::Counter.new
85
90
  j = 0
86
91
  clause.xpath(ns(".//figure | .//sourcecode[not(ancestor::example)]")).each do |t|
87
92
  if t.parent.name == "figure" then j += 1
@@ -92,12 +97,12 @@ module IsoDoc
92
97
  label = c.print + (j.zero? ? "" : "-#{(96 + j).chr.to_s}")
93
98
  next if t["id"].nil? || t["id"].empty?
94
99
  @anchors[t["id"]] =
95
- anchor_struct(label, nil, @figure_lbl, "figure", t["unnumbered"])
100
+ anchor_struct(label, nil, @labels["figure"], "figure", t["unnumbered"])
96
101
  end
97
102
  end
98
103
 
99
104
  def hierarchical_figure_names(clause, num)
100
- c = IsoDoc::Function::XrefGen::Counter.new
105
+ c = IsoDoc::XrefGen::Counter.new
101
106
  j = 0
102
107
  clause.xpath(ns(".//figure | .//sourcecode[not(ancestor::example)]")).each do |t|
103
108
  if t.parent.name == "figure" then j += 1
@@ -108,7 +113,7 @@ module IsoDoc
108
113
  label = "#{num}#{hiersep}#{c.print}" +
109
114
  (j.zero? ? "" : "#{hierfigsep}#{(96 + j).chr.to_s}")
110
115
  next if t["id"].nil? || t["id"].empty?
111
- @anchors[t["id"]] = anchor_struct(label, nil, @figure_lbl, "figure",
116
+ @anchors[t["id"]] = anchor_struct(label, nil, @labels["figure"], "figure",
112
117
  t["unnumbered"])
113
118
  end
114
119
  end
@@ -116,7 +121,8 @@ module IsoDoc
116
121
  def sequential_formula_names(clause)
117
122
  clause&.first&.xpath(ns(MIDDLE_SECTIONS))&.each do |c|
118
123
  if c["id"] && @anchors[c["id"]]
119
- hierarchical_formula_names(c, @anchors[c["id"]][:label] || @anchors[c["id"]][:xref] || "???")
124
+ hierarchical_formula_names(c, @anchors[c["id"]][:label] ||
125
+ @anchors[c["id"]][:xref] || "???")
120
126
  else
121
127
  hierarchical_formula_names(c, "???")
122
128
  end
@@ -124,15 +130,33 @@ module IsoDoc
124
130
  end
125
131
 
126
132
  def hierarchical_formula_names(clause, num)
127
- c = IsoDoc::Function::XrefGen::Counter.new
128
- clause.xpath(ns(".//formula")).each do |t|
129
- next if t["id"].nil? || t["id"].empty?
130
- @anchors[t["id"]] =
131
- anchor_struct("#{num}-#{c.increment(t).print}", nil,
132
- t["inequality"] ? @inequality_lbl : @formula_lbl,
133
- "formula", t["unnumbered"])
133
+ c = IsoDoc::XrefGen::Counter.new
134
+ clause.xpath(ns(".//formula")).each do |t|
135
+ next if t["id"].nil? || t["id"].empty?
136
+ @anchors[t["id"]] =
137
+ anchor_struct("#{num}-#{c.increment(t).print}", nil,
138
+ t["inequality"] ? @labels["inequality"] : @labels["formula"],
139
+ "formula", t["unnumbered"])
140
+ end
141
+ end
142
+
143
+ def reference_names(ref)
144
+ super
145
+ @anchors[ref["id"]] = { xref: @anchors[ref["id"]][:xref].sub(/^\[/, '').sub(/\]$/, '') }
146
+ end
147
+
148
+ def termnote_anchor_names(docxml)
149
+ docxml.xpath(ns("//term[descendant::termnote]")).each do |t|
150
+ c = IsoDoc::XrefGen::Counter.new
151
+ notes = t.xpath(ns(".//termnote"))
152
+ notes.each do |n|
153
+ return if n["id"].nil? || n["id"].empty?
154
+ idx = notes.size == 1 ? "" : " #{c.increment(n).print}"
155
+ @anchors[n["id"]] = anchor_struct(idx, n, @labels["note_xref"],
156
+ "termnote", false)
157
+ end
158
+ end
134
159
  end
135
- end
136
160
  end
137
161
  end
138
162
  end
@@ -30,18 +30,16 @@ module Metanorma
30
30
  "Metanorma::ITU #{Metanorma::ITU::VERSION}"
31
31
  end
32
32
 
33
- def input_to_isodoc(file, filename)
34
- Metanorma::Input::Asciidoc.new.process(file, filename, @asciidoctor_backend)
35
- end
36
-
37
- def output(isodoc_node, outname, format, options={})
33
+ def output(isodoc_node, inname, outname, format, options={})
38
34
  case format
39
35
  when :html
40
- IsoDoc::ITU::HtmlConvert.new(options).convert(outname, isodoc_node)
36
+ IsoDoc::ITU::HtmlConvert.new(options).convert(inname, isodoc_node, nil, outname)
41
37
  when :doc
42
- IsoDoc::ITU::WordConvert.new(options).convert(outname, isodoc_node)
38
+ IsoDoc::ITU::WordConvert.new(options).convert(inname, isodoc_node, nil, outname)
43
39
  when :pdf
44
- IsoDoc::ITU::PdfConvert.new(options).convert(outname, isodoc_node)
40
+ IsoDoc::ITU::PdfConvert.new(options).convert(inname, isodoc_node, nil, outname)
41
+ when :presentation
42
+ IsoDoc::ITU::PresentationXMLConvert.new(options).convert(inname, isodoc_node, nil, outname)
45
43
  else
46
44
  super
47
45
  end
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module ITU
3
- VERSION = "1.0.17"
3
+ VERSION = "1.1.3"
4
4
  end
5
5
  end
@@ -27,9 +27,10 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency "htmlentities", "~> 4.3.4"
28
28
  spec.add_dependency "ruby-jing"
29
29
  spec.add_dependency "metanorma-standoc", "~> 1.4.0"
30
- spec.add_dependency "isodoc", "~> 1.0.0"
30
+ spec.add_dependency "isodoc", "~> 1.1.0"
31
31
 
32
32
  spec.add_development_dependency "byebug", "~> 9.1"
33
+ spec.add_development_dependency "sassc", "2.4.0"
33
34
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
34
35
  spec.add_development_dependency "guard", "~> 2.14"
35
36
  spec.add_development_dependency "guard-rspec", "~> 4.7"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-itu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.17
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-08 00:00:00.000000000 Z
11
+ date: 2020-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.0.0
61
+ version: 1.1.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.0.0
68
+ version: 1.1.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: byebug
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '9.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: sassc
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 2.4.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 2.4.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: equivalent-xml
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -260,17 +274,21 @@ files:
260
274
  - lib/isodoc/itu/base_convert.rb
261
275
  - lib/isodoc/itu/html/International_Telecommunication_Union_Logo.svg
262
276
  - lib/isodoc/itu/html/Logo_ITU.jpg
277
+ - lib/isodoc/itu/html/_coverpage.css
263
278
  - lib/isodoc/itu/html/_coverpage.scss
264
279
  - lib/isodoc/itu/html/header.html
265
280
  - lib/isodoc/itu/html/html_itu_intro.html
266
281
  - lib/isodoc/itu/html/html_itu_titlepage.html
282
+ - lib/isodoc/itu/html/htmlstyle.css
267
283
  - lib/isodoc/itu/html/htmlstyle.scss
268
284
  - lib/isodoc/itu/html/itu-document-comb.png
285
+ - lib/isodoc/itu/html/itu.css
269
286
  - lib/isodoc/itu/html/itu.scss
270
287
  - lib/isodoc/itu/html/logo.png
271
288
  - lib/isodoc/itu/html/scripts.html
272
289
  - lib/isodoc/itu/html/word_itu_intro.html
273
290
  - lib/isodoc/itu/html/word_itu_titlepage.html
291
+ - lib/isodoc/itu/html/wordstyle.css
274
292
  - lib/isodoc/itu/html/wordstyle.scss
275
293
  - lib/isodoc/itu/html_convert.rb
276
294
  - lib/isodoc/itu/i18n-en.yaml
@@ -279,6 +297,7 @@ files:
279
297
  - lib/isodoc/itu/itu.resolution.xsl
280
298
  - lib/isodoc/itu/metadata.rb
281
299
  - lib/isodoc/itu/pdf_convert.rb
300
+ - lib/isodoc/itu/presentation_xml_convert.rb
282
301
  - lib/isodoc/itu/ref.rb
283
302
  - lib/isodoc/itu/terms.rb
284
303
  - lib/isodoc/itu/word_convert.rb
@@ -292,7 +311,7 @@ homepage: https://github.com/metanorma/metanorma-itu
292
311
  licenses:
293
312
  - BSD-2-Clause
294
313
  metadata: {}
295
- post_install_message:
314
+ post_install_message:
296
315
  rdoc_options: []
297
316
  require_paths:
298
317
  - lib
@@ -307,9 +326,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
307
326
  - !ruby/object:Gem::Version
308
327
  version: '0'
309
328
  requirements: []
310
- rubyforge_project:
311
- rubygems_version: 2.7.6
312
- signing_key:
329
+ rubygems_version: 3.0.3
330
+ signing_key:
313
331
  specification_version: 4
314
332
  summary: Metanorma for the ITU
315
333
  test_files: []