isodoc 2.3.6 → 2.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fa570f1c978671ee699be488fae2f0fe3835db689bfa7c5c0c1183e0a87f1854
4
- data.tar.gz: 2ae14cde9d26714858c4240012d29e4483b22044d8112256627a709bc2704aee
3
+ metadata.gz: 4a7c100c4751a8d8bfe69eeaf31614c74bfeec4c56d188fd0d4a6a16c09d3257
4
+ data.tar.gz: '0858086207425a9c38bb6f12fba1a219599c4c7e469aea40e4f29255f152333b'
5
5
  SHA512:
6
- metadata.gz: 39d02fd071cd42d4e3771e1d6c6ed938024a2fd0842820d775b35cd5494371c31c09232b39c5526a921b81d660f9e2d9d3222e35c347b899d09c2fab8e35fed1
7
- data.tar.gz: 3da1407baf7cd7a36e414925755436fbf4547f8f64da8c739c2e53edcda4e7a3d72a40efd5bb9be93bc9f9f28c626f59903b802e58b764f68e571e5172455398
6
+ metadata.gz: bc74e409e73b0b63f5a609e44b0a90a88cf4e83253604cbf6634f62b9c6ff12cccdc40fa2399acd4c373c44d3748ff311828890f319fc508c35e4993c88ff800
7
+ data.tar.gz: b6f7d0abe389ee3c0342fbdd862f0671bc94959eb9f7b3755e51c7aac1aad74e65127b8819f5b3f310a8e2c2ede29dd663642f9a16e12b5fdf563dd9e2e9bb4f
data/isodoc.gemspec CHANGED
@@ -39,7 +39,7 @@ Gem::Specification.new do |spec|
39
39
  spec.add_dependency "mathml2asciimath"
40
40
  spec.add_dependency "metanorma-utils", "~> 1.4.5"
41
41
  spec.add_dependency "mn2pdf"
42
- spec.add_dependency "mn-requirements", "~> 0.2.0"
42
+ spec.add_dependency "mn-requirements", "~> 0.3.1"
43
43
  spec.add_dependency "relaton-cli"
44
44
  spec.add_dependency "relaton-render", "~> 0.5.2"
45
45
  spec.add_dependency "roman-numerals"
@@ -47,6 +47,11 @@ module IsoDoc
47
47
  end
48
48
  end
49
49
 
50
+ def to_xml(node)
51
+ node&.to_xml(encoding: "UTF-8", indent: 0,
52
+ save_with: Nokogiri::XML::Node::SaveOptions::AS_XML)
53
+ end
54
+
50
55
  def case_with_markup(linkend, casing, script, firstonly: true)
51
56
  seen = false
52
57
  xml = Nokogiri::XML("<root>#{linkend}</root>")
@@ -57,7 +62,7 @@ module IsoDoc
57
62
  firstonly: firstonly))
58
63
  seen = true if firstonly
59
64
  end
60
- xml.root.children.to_xml
65
+ to_xml(xml.root.children)
61
66
  end
62
67
 
63
68
  def nearest_block_parent(node)
@@ -72,7 +72,8 @@ module IsoDoc
72
72
  end
73
73
 
74
74
  def underline_parse(node, out)
75
- out.u do |e|
75
+ node["style"] and style = "text-decoration: #{node['style']}"
76
+ out.u **attr_code(style: style) do |e|
76
77
  node.children.each { |n| parse(n, e) }
77
78
  end
78
79
  end
@@ -3,6 +3,10 @@ require "metanorma-utils"
3
3
  module IsoDoc
4
4
  module Function
5
5
  module Utils
6
+ def to_xml(node)
7
+ self.class.to_xml(node)
8
+ end
9
+
6
10
  def date_range(date)
7
11
  self.class.date_range(date)
8
12
  end
@@ -78,7 +78,7 @@ module IsoDoc
78
78
  def html_button
79
79
  return "" if @bare
80
80
 
81
- '<button onclick="topFunction()" id="myBtn" '\
81
+ '<button onclick="topFunction()" id="myBtn" ' \
82
82
  'title="Go to top">Top</button>'.freeze
83
83
  end
84
84
 
@@ -121,7 +121,9 @@ module IsoDoc
121
121
  end
122
122
 
123
123
  def underline_parse(node, out)
124
- out.span **{ style: "text-decoration: underline;" } do |e|
124
+ style = node["style"] ? " #{node['style']}" : ""
125
+ attr = { style: "text-decoration: underline#{style}" }
126
+ out.span **attr do |e|
125
127
  node.children.each { |n| parse(n, e) }
126
128
  end
127
129
  end
@@ -10,7 +10,7 @@ module IsoDoc
10
10
  address_precompose(a)
11
11
  bibdata_i18n(a)
12
12
  a.next =
13
- "<localized-strings>#{i8n_name(trim_hash(@i18n.get), '').join}"\
13
+ "<localized-strings>#{i8n_name(trim_hash(@i18n.get), '').join}" \
14
14
  "</localized-strings>"
15
15
  end
16
16
 
@@ -24,7 +24,7 @@ module IsoDoc
24
24
  @toctables and
25
25
  ins << "<toc type='table'><title>#{@i18n.toc_tables}</title></toc>"
26
26
  @tocfigures and
27
- ins << "<toc type='recommendation'><title>#{@i18n.toc_recommendations}"\
27
+ ins << "<toc type='recommendation'><title>#{@i18n.toc_recommendations}" \
28
28
  "</title></toc>"
29
29
  end
30
30
 
@@ -50,17 +50,17 @@ module IsoDoc
50
50
  end
51
51
 
52
52
  def presmeta(name, value)
53
- "<presentation-metadata><name>#{name}</name><value>#{value}</value>"\
53
+ "<presentation-metadata><name>#{name}</name><value>#{value}</value>" \
54
54
  "</presentation-metadata>"
55
55
  end
56
56
 
57
57
  def address_precompose1(addr)
58
58
  ret = []
59
- addr.xpath(ns("./street")).each { |s| ret << s.children.to_xml }
60
- a = addr.at(ns("./city")) and ret << a.children.to_xml
61
- addr.xpath(ns("./state")).each { |s| ret << s.children.to_xml }
62
- a = addr.at(ns("./country")) and ret << a.children.to_xml
63
- a = addr.at(ns("./postcode")) and ret[-1] += " #{a.children.to_xml}"
59
+ addr.xpath(ns("./street")).each { |s| ret << to_xml(s.children) }
60
+ a = addr.at(ns("./city")) and ret << to_xml(a.children)
61
+ addr.xpath(ns("./state")).each { |s| ret << to_xml(s.children) }
62
+ a = addr.at(ns("./country")) and ret << to_xml(a.children)
63
+ a = addr.at(ns("./postcode")) and ret[-1] += " #{to_xml a.children}"
64
64
  ret.join("<br/>")
65
65
  end
66
66
 
@@ -118,7 +118,7 @@ module IsoDoc
118
118
  end
119
119
 
120
120
  def i18n_tag(key, value)
121
- "<localized-string key='#{key}' language='#{@lang}'>#{value}"\
121
+ "<localized-string key='#{key}' language='#{@lang}'>#{value}" \
122
122
  "</localized-string>"
123
123
  end
124
124
 
@@ -9,7 +9,7 @@ module IsoDoc
9
9
 
10
10
  def erefstack1(elem)
11
11
  locs = elem.xpath(ns("./eref")).map do |e|
12
- [e["connective"], e.to_xml]
12
+ [e["connective"], to_xml(e)]
13
13
  end.flatten
14
14
  ret = resolve_eref_connectives(locs)
15
15
  elem.replace(ret[1])
@@ -30,9 +30,9 @@ module IsoDoc
30
30
  ret = resolve_eref_connectives(eref_locality_stacks(refs, target,
31
31
  node))
32
32
  node.delete("droploc") unless droploc
33
- eref_localities1(target,
34
- refs.first.at(ns("./locality/@type")).text,
35
- l10n(ret[1..-1].join), nil, node, @lang)
33
+ eref_localities1({ target: target, number: "pl",
34
+ type: refs.first.at(ns("./locality/@type")).text,
35
+ from: l10n(ret[1..-1].join), node: node, lang: @lang })
36
36
  end
37
37
 
38
38
  def can_conflate_eref_rendering?(refs)
@@ -61,19 +61,24 @@ module IsoDoc
61
61
  locs1 = []
62
62
  add = ""
63
63
  until locs.empty?
64
- if [", ", " "].include?(locs[1])
65
- add += locs[0..2].join
66
- locs.shift(3)
67
- else
68
- locs1 << add unless add.empty?
69
- add = ""
70
- locs1 << locs.shift
71
- end
64
+ locs, locs1, add = resolve_comma_connectives1(locs, locs1, add)
72
65
  end
73
66
  locs1 << add unless add.empty?
74
67
  locs1
75
68
  end
76
69
 
70
+ def resolve_comma_connectives1(locs, locs1, add)
71
+ if [", ", " "].include?(locs[1])
72
+ add += locs[0..2].join
73
+ locs.shift(3)
74
+ else
75
+ locs1 << add unless add.empty?
76
+ add = ""
77
+ locs1 << locs.shift
78
+ end
79
+ [locs, locs1, add]
80
+ end
81
+
77
82
  def resolve_to_connectives(locs)
78
83
  locs1 = []
79
84
  until locs.empty?
@@ -108,12 +113,7 @@ module IsoDoc
108
113
  def eref_locality_stack(ref, idx, target, node)
109
114
  ret = []
110
115
  if ref.name == "localityStack"
111
- ref.elements.each_with_index do |rr, j|
112
- l = eref_localities0(rr, j, target, node) or next
113
-
114
- ret << l
115
- ret << locality_delimiter(rr) unless j == ref.elements.size - 1
116
- end
116
+ ret = eref_locality_stack1(ref, target, node, ret)
117
117
  else
118
118
  l = eref_localities0(ref, idx, target, node) and ret << l
119
119
  end
@@ -121,6 +121,15 @@ module IsoDoc
121
121
  ret
122
122
  end
123
123
 
124
+ def eref_locality_stack1(ref, target, node, ret)
125
+ ref.elements.each_with_index do |rr, j|
126
+ l = eref_localities0(rr, j, target, node) or next
127
+ ret << l
128
+ ret << locality_delimiter(rr) unless j == ref.elements.size - 1
129
+ end
130
+ ret
131
+ end
132
+
124
133
  def locality_delimiter(_loc)
125
134
  ", "
126
135
  end
@@ -128,38 +137,43 @@ module IsoDoc
128
137
  def eref_localities0(ref, _idx, target, node)
129
138
  if ref["type"] == "whole" then @i18n.wholeoftext
130
139
  else
131
- eref_localities1(target, ref["type"],
132
- ref&.at(ns("./referenceFrom"))&.text,
133
- ref&.at(ns("./referenceTo"))&.text, node, @lang)
140
+ eref_localities1({ target: target, type: ref["type"], number: "sg",
141
+ from: ref.at(ns("./referenceFrom"))&.text,
142
+ upto: ref.at(ns("./referenceTo"))&.text, node: node,
143
+ lang: @lang })
134
144
  end
135
145
  end
136
146
 
137
- def eref_localities1_zh(_target, type, from, upto, node)
138
- ret = "第#{from}" if from
139
- ret += "&#x2013;#{upto}" if upto
140
- loc = eref_locality_populate(type, node)
141
- ret += " #{loc}" unless node["droploc"] == "true"
147
+ # def eref_localities1_zh(_target, type, from, upto, node)
148
+ def eref_localities1_zh(opt)
149
+ ret = "第#{opt[:from]}" if opt[:from]
150
+ ret += "&#x2013;#{opt[:upto]}" if opt[:upto]
151
+ loc = eref_locality_populate(opt[:type], opt[:node], "sg")
152
+ ret += " #{loc}" unless opt[:node]["droploc"] == "true"
142
153
  ret
143
154
  end
144
155
 
145
- def eref_localities1(target, type, from, upto, node, lang = "en")
146
- return nil if type == "anchor"
156
+ # def eref_localities1(target, type, from, upto, node, lang = "en")
157
+ def eref_localities1(opt)
158
+ return nil if opt[:type] == "anchor"
147
159
 
148
- lang == "zh" and
149
- return l10n(eref_localities1_zh(target, type, from, upto, node))
150
- ret = eref_locality_populate(type, node)
151
- ret += " #{from}" if from
152
- ret += "&#x2013;#{upto}" if upto
160
+ opt[:lang] == "zh" and
161
+ # return l10n(eref_localities1_zh(target, type, from, upto, node))
162
+ return l10n(eref_localities1_zh(opt))
163
+ ret = eref_locality_populate(opt[:type], opt[:node], opt[:number])
164
+ ret += " #{opt[:from]}" if opt[:from]
165
+ ret += "&#x2013;#{opt[:upto]}" if opt[:upto]
153
166
  l10n(ret)
154
167
  end
155
168
 
156
- def eref_locality_populate(type, node)
169
+ def eref_locality_populate(type, node, number)
157
170
  return "" if node["droploc"] == "true"
158
171
 
159
172
  loc = type.sub(/^locality:/, "")
160
173
  ret = @i18n.locality[loc] || loc
174
+ number == "pl" and ret = @i18n.inflect(ret, number: "pl")
161
175
  ret = case node["case"]
162
- when "lowercase" then loc.downcase
176
+ when "lowercase" then ret.downcase
163
177
  else Metanorma::Utils.strict_capitalize_first(ret)
164
178
  end
165
179
  " #{ret}"
@@ -20,7 +20,7 @@ module IsoDoc
20
20
  d.remove_namespaces!
21
21
  refs = d.xpath("//references/bibitem").each_with_object([]) do |b, m|
22
22
  prep_for_rendering(b)
23
- m << b.to_xml
23
+ m << to_xml(b)
24
24
  end.join
25
25
  bibrenderer.render_all("<references>#{refs}</references>",
26
26
  type: citestyle)
@@ -55,7 +55,7 @@ module IsoDoc
55
55
  def annex1(elem)
56
56
  lbl = @xrefs.anchor(elem["id"], :label)
57
57
  if t = elem.at(ns("./title"))
58
- t.children = "<strong>#{t.children.to_xml}</strong>"
58
+ t.children = "<strong>#{to_xml(t.children)}</strong>"
59
59
  end
60
60
  prefix_name(elem, "<br/><br/>", lbl, "title")
61
61
  end
@@ -24,7 +24,7 @@ module IsoDoc
24
24
  concept1_linkmention(ref, render, opts)
25
25
  concept1_ref(node, ref, opts)
26
26
  concept1_nonital(node, opts)
27
- node.replace(node.children.to_xml.strip)
27
+ node.replace(node.children)
28
28
  end
29
29
 
30
30
  def concept1_nonital(node, opts)
@@ -68,8 +68,8 @@ module IsoDoc
68
68
  !c.text? || /\S/.match(c)
69
69
  end.empty?
70
70
  ref.replace(@i18n.term_defined_in.sub(/%/,
71
- ref.to_xml))
72
- else ref.replace("[#{ref.to_xml}]")
71
+ to_xml(ref)))
72
+ else ref.replace("[#{to_xml(ref)}]")
73
73
  end
74
74
  end
75
75
 
@@ -83,7 +83,7 @@ module IsoDoc
83
83
  label = @i18n.relatedterms[node["type"]].upcase
84
84
  if p && ref
85
85
  node.replace(l10n("<p><strong>#{label}:</strong> " \
86
- "<em>#{p.to_xml}</em> (#{ref.to_xml})</p>"))
86
+ "<em>#{to_xml(p)}</em> (#{Common::to_xml(ref)})</p>"))
87
87
  else
88
88
  node.replace(l10n("<p><strong>#{label}:</strong> " \
89
89
  "<strong>**RELATED TERM NOT FOUND**</strong></p>"))
@@ -110,7 +110,7 @@ module IsoDoc
110
110
  if merge_preferred_eligible?(pref, second)
111
111
  n1 = pref.at(ns("./expression/name"))
112
112
  n2 = second.remove.at(ns("./expression/name"))
113
- n1.children = l10n("#{n1.children.to_xml}; #{n2.children.to_xml}")
113
+ n1.children = l10n("#{to_xml(n1.children)}; #{Common::to_xml(n2.children)}")
114
114
  end
115
115
  end
116
116
 
@@ -150,7 +150,7 @@ module IsoDoc
150
150
 
151
151
  def designation_field(desgn, name)
152
152
  f = desgn.xpath(ns("./field-of-application | ./usage-info"))
153
- &.map { |u| u.children.to_xml }&.join(", ")
153
+ &.map { |u| to_xml(u.children) }&.join(", ")
154
154
  return nil if f&.empty?
155
155
 
156
156
  name << ", &#x3c;#{f}&#x3e;"
@@ -181,7 +181,7 @@ module IsoDoc
181
181
  def designation_pronunciation(desgn, name)
182
182
  f = desgn.at(ns("./expression/pronunciation")) or return
183
183
 
184
- name << ", /#{f.children.to_xml}/"
184
+ name << ", /#{to_xml(f.children)}/"
185
185
  end
186
186
 
187
187
  def termexample(docxml)
@@ -214,9 +214,9 @@ module IsoDoc
214
214
 
215
215
  def multidef(elem)
216
216
  d = elem.at(ns("./definition"))
217
- d = d.replace("<ol><li>#{d.children.to_xml}</li></ol>").first
217
+ d = d.replace("<ol><li>#{to_xml(d.children)}</li></ol>").first
218
218
  elem.xpath(ns("./definition")).each do |f|
219
- f = f.replace("<li>#{f.children.to_xml}</li>").first
219
+ f = f.replace("<li>#{to_xml(f.children)}</li>").first
220
220
  d << f
221
221
  end
222
222
  d.wrap("<definition></definition>")
@@ -242,9 +242,9 @@ module IsoDoc
242
242
 
243
243
  def termsource1(elem)
244
244
  while elem&.next_element&.name == "termsource"
245
- elem << "; #{elem.next_element.remove.children.to_xml}"
245
+ elem << "; #{to_xml(elem.next_element.remove.children)}"
246
246
  end
247
- elem.children = l10n("[#{@i18n.source}: #{elem.children.to_xml.strip}]")
247
+ elem.children = l10n("[#{@i18n.source}: #{to_xml(elem.children).strip}]")
248
248
  end
249
249
 
250
250
  def termsource_modification(mod)
@@ -38,14 +38,20 @@ module IsoDoc
38
38
  def anchor_xref(node, target)
39
39
  x = @xrefs.anchor(target, :xref)
40
40
  t = @xrefs.anchor(target, :title)
41
- if node["style"] == "basic" && t then t
42
- elsif node["style"] == "full" && t
43
- l10n("#{x}, #{t}")
44
- else x
41
+ case node["style"]
42
+ when "basic" then t || x
43
+ when "full" then t ? anchor_xref_full(x, t) : x
44
+ when "short", nil then x
45
+ else @xrefs.anchor(target, node[:style].to_sym)
45
46
  end
46
47
  end
47
48
 
49
+ def anchor_xref_full(num, title)
50
+ l10n("#{num}, #{title}")
51
+ end
52
+
48
53
  def prefix_container?(container, node)
54
+ node["style"] == "modspec" and return false # TODO: move to mn-requirements?
49
55
  type = @xrefs.anchor(node["target"], :type)
50
56
  container &&
51
57
  get_note_container_id(node, type) != container &&
@@ -66,8 +72,8 @@ module IsoDoc
66
72
  def combine_conflated_xref_locations(locs)
67
73
  out = locs.each { |l| l[:label] = anchor_value(l[:target]) }
68
74
  label = @i18n.inflect(locs.first[:elem], number: "pl")
69
- ret = l10n("#{label} #{combine_conn(out)}")
70
- combine_conflated_xref_locations_container(locs, ret)
75
+ out[0][:label] = l10n("#{label} #{out[0][:label]}")
76
+ combine_conflated_xref_locations_container(locs, l10n(combine_conn(out)))
71
77
  end
72
78
 
73
79
  def combine_conflated_xref_locations_container(locs, ret)
@@ -85,11 +85,11 @@ module IsoDoc
85
85
  end
86
86
 
87
87
  def postprocess(result, filename, _dir)
88
- to_xml(result, filename)
88
+ to_xml_file(result, filename)
89
89
  @files_to_delete.each { |f| FileUtils.rm_rf f }
90
90
  end
91
91
 
92
- def to_xml(result, filename)
92
+ def to_xml_file(result, filename)
93
93
  File.open(filename, "w:UTF-8") { |f| f.write(result) }
94
94
  end
95
95
  end
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "2.3.6".freeze
2
+ VERSION = "2.4.0".freeze
3
3
  end
@@ -62,7 +62,7 @@ module IsoDoc
62
62
  @anchors[n["id"]] =
63
63
  { label: termnote_label(c.print), type: "termnote",
64
64
  value: c.print, elem: @labels["termnote"],
65
- xref: l10n("#{anchor(t['id'], :xref)}, "\
65
+ xref: l10n("#{anchor(t['id'], :xref)}, " \
66
66
  "#{@labels['note_xref']} #{c.print}") }
67
67
  end
68
68
  end
@@ -82,10 +82,10 @@ module IsoDoc
82
82
  end
83
83
 
84
84
  SECTIONS_XPATH =
85
- "//foreword | //introduction | //acknowledgements | "\
86
- "//preface/terms | preface/definitions | preface/references | "\
87
- "//preface/clause | //sections/terms | //annex | "\
88
- "//sections/clause | //sections/definitions | "\
85
+ "//foreword | //introduction | //acknowledgements | " \
86
+ "//preface/terms | preface/definitions | preface/references | " \
87
+ "//preface/clause | //sections/terms | //annex | " \
88
+ "//sections/clause | //sections/definitions | " \
89
89
  "//bibliography/references | //bibliography/clause".freeze
90
90
 
91
91
  def sections_xpath
@@ -93,8 +93,8 @@ module IsoDoc
93
93
  end
94
94
 
95
95
  CHILD_NOTES_XPATH =
96
- "./*[not(self::xmlns:clause) and not(self::xmlns:appendix) and "\
97
- "not(self::xmlns:terms) and not(self::xmlns:definitions)]//xmlns:note | "\
96
+ "./*[not(self::xmlns:clause) and not(self::xmlns:appendix) and " \
97
+ "not(self::xmlns:terms) and not(self::xmlns:definitions)]//xmlns:note | " \
98
98
  "./xmlns:note".freeze
99
99
 
100
100
  def note_anchor_names(sections)
@@ -117,11 +117,11 @@ module IsoDoc
117
117
  end
118
118
 
119
119
  CHILD_EXAMPLES_XPATH =
120
- "./*[not(self::xmlns:clause) and not(self::xmlns:appendix) and "\
121
- "not(self::xmlns:terms) and not(self::xmlns:definitions)]//"\
120
+ "./*[not(self::xmlns:clause) and not(self::xmlns:appendix) and " \
121
+ "not(self::xmlns:terms) and not(self::xmlns:definitions)]//" \
122
122
  "xmlns:example | ./xmlns:example".freeze
123
123
 
124
- CHILD_SECTIONS = "./clause | ./appendix | ./terms | ./definitions | "\
124
+ CHILD_SECTIONS = "./clause | ./appendix | ./terms | ./definitions | " \
125
125
  "./references".freeze
126
126
 
127
127
  def example_anchor_names(sections)
@@ -205,7 +205,7 @@ module IsoDoc
205
205
  label = dterm.dup
206
206
  label.xpath(ns(".//p")).each { |x| x.replace(x.children) }
207
207
  label.xpath(ns(".//index")).each(&:remove)
208
- label.children.to_xml
208
+ Common::to_xml(label.children)
209
209
  end
210
210
 
211
211
  def bookmark_anchor_names(xml)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isodoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.6
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-21 00:00:00.000000000 Z
11
+ date: 2022-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciimath
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.2.0
131
+ version: 0.3.1
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.2.0
138
+ version: 0.3.1
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: relaton-cli
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -497,7 +497,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
497
497
  - !ruby/object:Gem::Version
498
498
  version: '0'
499
499
  requirements: []
500
- rubygems_version: 3.3.7
500
+ rubygems_version: 3.3.26
501
501
  signing_key:
502
502
  specification_version: 4
503
503
  summary: Convert documents in IsoDoc into Word and HTML in AsciiDoc.