isodoc 2.3.2 → 2.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,8 +10,8 @@ module IsoDoc
10
10
  end
11
11
 
12
12
  def get_linkend(node)
13
- c1 = non_locality_elems(node).select { |c| !c.text? || /\S/.match(c) }
14
- return unless c1.empty?
13
+ node["style"] == "id" and anchor_id_postprocess(node)
14
+ return unless xref_empty?(node)
15
15
 
16
16
  link = anchor_linkend(node, docid_l10n(node["target"] ||
17
17
  expand_citeas(node["citeas"])))
@@ -23,11 +23,26 @@ module IsoDoc
23
23
  # so not <origin bibitemid="ISO7301" citeas="ISO 7301">
24
24
  # <locality type="section"><reference>3.1</reference></locality></origin>
25
25
 
26
+ def xref_empty?(node)
27
+ c1 = non_locality_elems(node).select { |c| !c.text? || /\S/.match(c) }
28
+ c1.empty?
29
+ end
30
+
31
+ def anchor_id_postprocess(node); end
32
+
26
33
  def expand_citeas(text)
27
34
  text.nil? and return text
28
35
  HTMLEntities.new.decode(text.gsub(/&amp;#x/, "&#"))
29
36
  end
30
37
 
38
+ def erefstack1(elem)
39
+ locs = elem.xpath(ns("./eref")).map do |e|
40
+ [e["connective"], e.to_xml]
41
+ end.flatten
42
+ ret = resolve_eref_connectives(locs)
43
+ elem.replace(ret[1])
44
+ end
45
+
31
46
  def eref_localities(refs, target, node)
32
47
  if can_conflate_eref_rendering?(refs)
33
48
  l10n(", #{eref_localities_conflated(refs, target, node)}")
@@ -147,7 +162,6 @@ module IsoDoc
147
162
  end
148
163
  end
149
164
 
150
- # TODO: move to localization file
151
165
  def eref_localities1_zh(_target, type, from, upto, node)
152
166
  ret = "第#{from}" if from
153
167
  ret += "&#x2013;#{upto}" if upto
@@ -156,7 +170,6 @@ module IsoDoc
156
170
  ret
157
171
  end
158
172
 
159
- # TODO: move to localization file
160
173
  def eref_localities1(target, type, from, upto, node, lang = "en")
161
174
  return nil if type == "anchor"
162
175
 
@@ -182,10 +195,12 @@ module IsoDoc
182
195
 
183
196
  def xref(docxml)
184
197
  docxml.xpath(ns("//xref")).each { |f| xref1(f) }
198
+ docxml.xpath(ns("//xref//xref")).each { |f| f.replace(f.children) }
185
199
  end
186
200
 
187
201
  def eref(docxml)
188
202
  docxml.xpath(ns("//eref")).each { |f| xref1(f) }
203
+ docxml.xpath(ns("//erefstack")).each { |f| erefstack1(f) }
189
204
  end
190
205
 
191
206
  def origin(docxml)
@@ -212,9 +227,9 @@ module IsoDoc
212
227
  end
213
228
 
214
229
  def variant1(node)
215
- if (!node["lang"] || node["lang"] == @lang) &&
216
- (!node["script"] || node["script"] == @script)
217
- elsif found_matching_variant_sibling(node)
230
+ if !((!node["lang"] || node["lang"] == @lang) &&
231
+ (!node["script"] || node["script"] == @script)) &&
232
+ found_matching_variant_sibling(node)
218
233
  node["remove"] = "true"
219
234
  end
220
235
  end
@@ -38,17 +38,13 @@ module IsoDoc
38
38
  end
39
39
 
40
40
  def bibrender(xml, renderings)
41
- if f = xml.at(ns("./formattedref"))
41
+ if f = xml.at(ns("./formattedref")) && xml.at(ns("./title")).nil?
42
42
  bibrender_formattedref(f, xml)
43
43
  else bibrender_relaton(xml, renderings)
44
44
  end
45
45
  end
46
46
 
47
- def bibrender_formattedref(formattedref, xml)
48
- code = render_identifier(bibitem_ref_code(xml))
49
- (code[:sdo] && xml["suppress_identifier"] != "true") and
50
- formattedref << " [#{code[:sdo]}] "
51
- end
47
+ def bibrender_formattedref(formattedref, xml); end
52
48
 
53
49
  def bibrender_relaton(xml, renderings)
54
50
  f = renderings[xml["id"]][:formattedref]
@@ -3,9 +3,12 @@ require_relative "refs"
3
3
  module IsoDoc
4
4
  class PresentationXMLConvert < ::IsoDoc::Convert
5
5
  def clause(docxml)
6
- docxml.xpath(ns("//clause | "\
6
+ docxml.xpath(ns("//clause | " \
7
7
  "//terms | //definitions | //references"))
8
8
  .each do |f|
9
+ f.parent.name == "annex" &&
10
+ @xrefs.klass.single_term_clause?(f.parent) and next
11
+
9
12
  clause1(f)
10
13
  end
11
14
  end
@@ -23,8 +26,8 @@ module IsoDoc
23
26
  end
24
27
 
25
28
  def floattitle(docxml)
26
- docxml.xpath(ns("//clause | //annex | //appendix | //introduction | "\
27
- "//foreword | //preface/abstract | //acknowledgements | "\
29
+ docxml.xpath(ns("//clause | //annex | //appendix | //introduction | " \
30
+ "//foreword | //preface/abstract | //acknowledgements | " \
28
31
  "//terms | //definitions | //references"))
29
32
  .each do |f|
30
33
  floattitle1(f)
@@ -42,9 +45,11 @@ module IsoDoc
42
45
 
43
46
  def annex(docxml)
44
47
  docxml.xpath(ns("//annex")).each do |f|
48
+ @xrefs.klass.single_term_clause?(f) and single_term_clause_retitle(f)
45
49
  annex1(f)
46
- @xrefs.klass.single_term_clause?(f) and single_term_clause(f)
50
+ @xrefs.klass.single_term_clause?(f) and single_term_clause_unnest(f)
47
51
  end
52
+ @xrefs.parse_inclusions(clauses: true).parse(docxml)
48
53
  end
49
54
 
50
55
  def annex1(elem)
@@ -55,9 +60,16 @@ module IsoDoc
55
60
  prefix_name(elem, "<br/><br/>", lbl, "title")
56
61
  end
57
62
 
58
- def single_term_clause(elem)
63
+ def single_term_clause_retitle(elem)
64
+ t = elem.at(ns("./terms | ./definitions | ./references"))
65
+ title1 = elem.at(ns("./title"))
66
+ title2 = t.at(ns("./title"))&.remove
67
+ !title1 && title2 and
68
+ elem.first_element_child.previous = title2
69
+ end
70
+
71
+ def single_term_clause_unnest(elem)
59
72
  t = elem.at(ns("./terms | ./definitions | ./references"))
60
- t.at(ns("./title"))&.remove
61
73
  t.xpath(ns(".//clause | .//terms | .//definitions | .//references"))
62
74
  .each do |c|
63
75
  tit = c.at(ns("./title")) or return
@@ -72,7 +84,7 @@ module IsoDoc
72
84
  end
73
85
 
74
86
  def term1(elem)
75
- lbl = @xrefs.get[elem["id"]][:label] or return
87
+ lbl = @xrefs.anchor(elem["id"], :label) or return
76
88
  prefix_name(elem, "", "#{lbl}#{clausedelim}", "name")
77
89
  end
78
90
 
@@ -101,7 +113,7 @@ module IsoDoc
101
113
  i = display_order_xpath(docxml, "//preface/*", i)
102
114
  i = display_order_at(docxml, "//clause[@type = 'scope']", i)
103
115
  i = display_order_at(docxml, @xrefs.klass.norm_ref_xpath, i)
104
- i = display_order_at(docxml, "//sections/terms | "\
116
+ i = display_order_at(docxml, "//sections/terms | " \
105
117
  "//sections/clause[descendant::terms]", i)
106
118
  i = display_order_at(docxml, "//sections/definitions", i)
107
119
  i = display_order_xpath(docxml, @xrefs.klass.middle_clause(docxml), i)
@@ -1,7 +1,7 @@
1
1
  module IsoDoc
2
2
  class PresentationXMLConvert < ::IsoDoc::Convert
3
- def prefix_container(container, linkend, _target)
4
- l10n("#{@xrefs.anchor(container, :xref)}, #{linkend}")
3
+ def prefix_container(container, linkend, node, _target)
4
+ l10n("#{anchor_xref(node, container)}, #{linkend}")
5
5
  end
6
6
 
7
7
  def anchor_value(id)
@@ -10,27 +10,42 @@ module IsoDoc
10
10
  end
11
11
 
12
12
  def anchor_linkend(node, linkend)
13
- if node["citeas"].nil? && node["bibitemid"]
13
+ node["style"] == "id" and
14
+ return anchor_id_postproc(node)
15
+ node["citeas"].nil? && node["bibitemid"] and
14
16
  return @xrefs.anchor(node["bibitemid"], :xref) || "???"
15
- elsif node.at(ns("./location"))
16
- linkend = combine_xref_locations(node)
17
- elsif node["target"] && node["droploc"]
17
+ node.at(ns("./location")) and
18
+ return combine_xref_locations(node) || "???"
19
+ node["target"] && node["droploc"] and
18
20
  return anchor_value(node["target"]) || "???"
19
- elsif node["target"] && !/.#./.match(node["target"])
20
- linkend = anchor_linkend1(node)
21
- end
22
-
21
+ node["target"] && !/.#./.match(node["target"]) and
22
+ return anchor_linkend1(node) || "???"
23
23
  linkend || "???"
24
24
  end
25
25
 
26
+ def anchor_id_postproc(node)
27
+ node["target"]
28
+ end
29
+
26
30
  def anchor_linkend1(node)
27
- linkend = @xrefs.anchor(node["target"], :xref)
31
+ linkend = anchor_xref(node, node["target"])
28
32
  container = @xrefs.anchor(node["target"], :container, false)
29
33
  prefix_container?(container, node) and
30
- linkend = prefix_container(container, linkend, node["target"])
34
+ linkend = prefix_container(container, linkend, node, node["target"])
31
35
  capitalise_xref(node, linkend, anchor_value(node["target"]))
32
36
  end
33
37
 
38
+ def anchor_xref(node, target)
39
+ x = @xrefs.anchor(target, :xref)
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
45
+ x
46
+ end
47
+ end
48
+
34
49
  def prefix_container?(container, node)
35
50
  type = @xrefs.anchor(node["target"], :type)
36
51
  container &&
@@ -55,7 +70,8 @@ module IsoDoc
55
70
  container = @xrefs.anchor(locs.first[:node]["target"], :container,
56
71
  false)
57
72
  prefix_container?(container, locs.first[:node]) and
58
- ret = prefix_container(container, ret, locs.first[:node]["target"])
73
+ ret = prefix_container(container, ret, locs.first[:node],
74
+ locs.first[:node]["target"])
59
75
  ret
60
76
  end
61
77
 
@@ -36,9 +36,9 @@ module IsoDoc
36
36
  references docxml
37
37
  # triggers xrefs reparse, so put references before all other sections,
38
38
  # which alter titles and thus can alter xrefs
39
+ annex docxml
39
40
  clause docxml
40
41
  term docxml
41
- annex docxml
42
42
  index docxml
43
43
  clausetitle docxml
44
44
  floattitle docxml
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "2.3.2".freeze
2
+ VERSION = "2.3.4".freeze
3
3
  end
@@ -38,6 +38,8 @@ module IsoDoc
38
38
  def image_parse(node, out, caption)
39
39
  if emf = node.at(ns("./emf"))
40
40
  node["src"] = emf["src"]
41
+ node["height"] ||= emf["height"]
42
+ node["width"] ||= emf["width"]
41
43
  node["mimetype"] = "image/x-emf"
42
44
  node.children.remove
43
45
  end
@@ -30,7 +30,7 @@ module IsoDoc
30
30
  n = Counter.new
31
31
  n = section_names(doc.at(ns("//clause[@type = 'scope']")), n, 1)
32
32
  n = section_names(doc.at(ns(@klass.norm_ref_xpath)), n, 1)
33
- n = section_names(doc.at(ns("//sections/terms | "\
33
+ n = section_names(doc.at(ns("//sections/terms | " \
34
34
  "//sections/clause[descendant::terms]")), n, 1)
35
35
  n = section_names(doc.at(ns("//sections/definitions")), n, 1)
36
36
  clause_names(doc, n)
@@ -51,8 +51,13 @@ module IsoDoc
51
51
  bookmark_anchor_names(doc)
52
52
  end
53
53
 
54
- def preface_clause_name(clause)
55
- clause.at(ns("./title"))&.text || clause.name.capitalize
54
+ def clause_title(clause, use_elem_name: false)
55
+ ret = clause.at(ns("./title"))&.text
56
+ if use_elem_name && !ret
57
+ clause.name.capitalize
58
+ else
59
+ ret
60
+ end
56
61
  end
57
62
 
58
63
  SUBCLAUSES =
@@ -62,63 +67,71 @@ module IsoDoc
62
67
  def preface_names(clause)
63
68
  return if clause.nil?
64
69
 
65
- @anchors[clause["id"]] =
66
- { label: nil, level: 1, xref: preface_clause_name(clause),
67
- type: "clause", elem: @labels["clause"] }
70
+ preface_name_anchors(clause, 1,
71
+ clause_title(clause, use_elem_name: true))
68
72
  clause.xpath(ns(SUBCLAUSES)).each_with_index do |c, i|
69
73
  preface_names1(c, c.at(ns("./title"))&.text,
70
- "#{preface_clause_name(clause)}, #{i + 1}", 2)
74
+ "#{clause_title(clause)}, #{i + 1}", 2)
71
75
  end
72
76
  end
73
77
 
74
78
  def preface_names1(clause, title, parent_title, level)
75
79
  label = title || parent_title
76
- @anchors[clause["id"]] = { label: nil, level: level, xref: label,
77
- type: "clause", elem: @labels["clause"] }
80
+ preface_name_anchors(clause, level, title || parent_title)
78
81
  clause.xpath(ns(SUBCLAUSES)).each_with_index do |c, i|
79
82
  preface_names1(c, c.at(ns("./title"))&.text, "#{label} #{i + 1}",
80
83
  level + 1)
81
84
  end
82
85
  end
83
86
 
87
+ def preface_name_anchors(clause, level, title)
88
+ @anchors[clause["id"]] =
89
+ { label: nil, level: level,
90
+ xref: title, title: nil,
91
+ type: "clause", elem: @labels["clause"] }
92
+ end
93
+
84
94
  def middle_section_asset_names(doc)
85
- middle_sections = "//clause[@type = 'scope'] | "\
86
- "#{@klass.norm_ref_xpath} | "\
87
- "//sections/terms | //preface/* | "\
95
+ middle_sections = "//clause[@type = 'scope'] | " \
96
+ "#{@klass.norm_ref_xpath} | " \
97
+ "//sections/terms | //preface/* | " \
88
98
  "//sections/definitions | //clause[parent::sections]"
89
99
  sequential_asset_names(doc.xpath(ns(middle_sections)))
90
100
  end
91
101
 
92
102
  def clause_names(docxml, num)
93
- docxml.xpath(ns(@klass.middle_clause(docxml))).each_with_index do |c, _i|
103
+ docxml.xpath(ns(@klass.middle_clause(docxml)))
104
+ .each_with_index do |c, _i|
94
105
  section_names(c, num, 1)
95
106
  end
96
107
  end
97
108
 
98
109
  def section_names(clause, num, lvl)
99
- return num if clause.nil?
110
+ clause.nil? and return num
100
111
 
101
112
  num.increment(clause)
102
- @anchors[clause["id"]] =
103
- { label: num.print, xref: l10n("#{@labels['clause']} #{num.print}"),
104
- level: lvl, type: "clause", elem: @labels["clause"] }
105
- i = Counter.new
106
- clause.xpath(ns(SUBCLAUSES)).each do |c|
113
+ section_name_anchors(clause, num.print, lvl)
114
+ clause.xpath(ns(SUBCLAUSES)).each_with_object(Counter.new) do |c, i|
107
115
  section_names1(c, "#{num.print}.#{i.increment(c).print}", lvl + 1)
108
116
  end
109
117
  num
110
118
  end
111
119
 
112
120
  def section_names1(clause, num, level)
113
- @anchors[clause["id"]] =
114
- { label: num, level: level, xref: l10n("#{@labels['clause']} #{num}"),
115
- type: "clause", elem: @labels["clause"] }
121
+ section_name_anchors(clause, num, level)
116
122
  i = Counter.new
117
123
  clause.xpath(ns(SUBCLAUSES)).each do |c|
118
124
  section_names1(c, "#{num}.#{i.increment(c).print}", level + 1)
119
125
  end
120
126
  end
121
127
 
128
+ def section_name_anchors(clause, num, level)
129
+ @anchors[clause["id"]] =
130
+ { label: num, xref: l10n("#{@labels['clause']} #{num}"),
131
+ title: clause_title(clause), level: level, type: "clause",
132
+ elem: @labels["clause"] }
133
+ end
134
+
122
135
  def annex_name_lbl(clause, num)
123
136
  obl = l10n("(#{@labels['inform_annex']})")
124
137
  clause["obligation"] == "normative" and
@@ -127,21 +140,25 @@ module IsoDoc
127
140
  l10n("<strong>#{title} #{num}</strong><br/>#{obl}")
128
141
  end
129
142
 
130
- def annex_name_anchors(clause, num)
131
- { label: annex_name_lbl(clause, num),
132
- elem: @labels["annex"], type: "clause",
133
- subtype: "annex", value: num.to_s, level: 1,
134
- xref: "#{@labels['annex']} #{num}" }
143
+ def annex_name_anchors(clause, num, level)
144
+ label = num
145
+ level == 1 && clause.name == "annex" and
146
+ label = annex_name_lbl(clause, num)
147
+ @anchors[clause["id"]] =
148
+ { label: label,
149
+ elem: @labels["annex"], type: "clause",
150
+ subtype: "annex", value: num.to_s, level: level,
151
+ title: clause_title(clause),
152
+ xref: "#{@labels['annex']} #{num}" }
135
153
  end
136
154
 
137
155
  def annex_names(clause, num)
138
- @anchors[clause["id"]] = annex_name_anchors(clause, num)
156
+ annex_name_anchors(clause, num, 1)
139
157
  if @klass.single_term_clause?(clause)
140
158
  annex_names1(clause.at(ns("./references | ./terms | ./definitions")),
141
159
  num.to_s, 1)
142
160
  else
143
- i = Counter.new
144
- clause.xpath(ns(SUBCLAUSES)).each do |c|
161
+ clause.xpath(ns(SUBCLAUSES)).each_with_object(Counter.new) do |c, i|
145
162
  annex_names1(c, "#{num}.#{i.increment(c).print}", 2)
146
163
  end
147
164
  end
@@ -149,9 +166,7 @@ module IsoDoc
149
166
  end
150
167
 
151
168
  def annex_names1(clause, num, level)
152
- @anchors[clause["id"]] = { xref: "#{@labels['annex']} #{num}",
153
- elem: @labels["annex"], type: "clause",
154
- label: num, level: level, subtype: "annex" }
169
+ annex_name_anchors(clause, num, level)
155
170
  i = Counter.new
156
171
  clause.xpath(ns(SUBCLAUSES)).each do |c|
157
172
  annex_names1(c, "#{num}.#{i.increment(c).print}", level + 1)
@@ -159,9 +174,9 @@ module IsoDoc
159
174
  end
160
175
 
161
176
  ISO_PUBLISHER_XPATH =
162
- "./contributor[xmlns:role/@type = 'publisher']/"\
163
- "organization[abbreviation = 'ISO' or xmlns:abbreviation = 'IEC' or "\
164
- "xmlns:name = 'International Organization for Standardization' or "\
177
+ "./contributor[xmlns:role/@type = 'publisher']/" \
178
+ "organization[abbreviation = 'ISO' or xmlns:abbreviation = 'IEC' or " \
179
+ "xmlns:name = 'International Organization for Standardization' or " \
165
180
  "xmlns:name = 'International Electrotechnical Commission']".freeze
166
181
 
167
182
  def reference_names(ref)
@@ -61,7 +61,7 @@ table: Table
61
61
  requirement: Requirement
62
62
  recommendation: Recommendation
63
63
  permission: Permission
64
- # OGC
64
+ # Modspec
65
65
  recommendationtest: Recommendation test
66
66
  requirementtest: Requirement test
67
67
  permissiontest: Permission test
@@ -8,10 +8,10 @@ introduction: Introduction
8
8
  foreword: Avant-propos
9
9
  abstract: Résumé
10
10
  acknowledgements: Remerciements
11
- termsdef: Terms et définitions
12
- termsdefsymbolsabbrev: Terms, définitions, symboles et termes abrégés
13
- termsdefsymbols: Terms, définitions et symboles
14
- termsdefabbrev: Terms, définitions et termes abrégés
11
+ termsdef: Termes et définitions
12
+ termsdefsymbolsabbrev: Termes, définitions, symboles et termes abrégés
13
+ termsdefsymbols: Termes, définitions et symboles
14
+ termsdefabbrev: Termes, définitions et termes abrégés
15
15
  normref: Références normatives
16
16
  bibliography: Bibliographie
17
17
  preface: Préface
@@ -19,7 +19,7 @@ clause: Article
19
19
  annex: Annexe
20
20
  appendix: Appendice
21
21
  no_terms_boilerplate: |
22
- <p>Aucun terme n’est defini dans le présent document.</p>
22
+ <p>Aucun terme n’est défini dans le présent document.</p>
23
23
  internal_terms_boilerplate: |
24
24
  <p>Pour les besoins du présent document, les termes et définitions suivants s’appliquent.</p>
25
25
  norm_with_refs_pref:
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.2
4
+ version: 2.3.4
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-10-10 00:00:00.000000000 Z
11
+ date: 2022-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciimath
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.4.1
33
+ version: 1.4.3
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.4.1
40
+ version: 1.4.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: htmlentities
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.4.3
103
+ version: 1.4.5
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.4.3
110
+ version: 1.4.5
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: mn2pdf
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.1.7
131
+ version: 0.2.0
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.1.7
138
+ version: 0.2.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: relaton-cli
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -385,6 +385,9 @@ executables: []
385
385
  extensions: []
386
386
  extra_rdoc_files: []
387
387
  files:
388
+ - ".hound.yml"
389
+ - ".oss-guides.rubocop.yml"
390
+ - ".rubocop.yml"
388
391
  - CODE_OF_CONDUCT.md
389
392
  - Gemfile
390
393
  - LICENSE
@@ -446,6 +449,7 @@ files:
446
449
  - lib/isodoc/html_function/html.rb
447
450
  - lib/isodoc/html_function/mathvariant_to_plain.rb
448
451
  - lib/isodoc/html_function/postprocess.rb
452
+ - lib/isodoc/html_function/postprocess_cover.rb
449
453
  - lib/isodoc/html_function/postprocess_footnotes.rb
450
454
  - lib/isodoc/i18n.rb
451
455
  - lib/isodoc/init.rb
@@ -499,14 +503,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
499
503
  requirements:
500
504
  - - ">="
501
505
  - !ruby/object:Gem::Version
502
- version: 2.5.0
506
+ version: 2.7.0
503
507
  required_rubygems_version: !ruby/object:Gem::Requirement
504
508
  requirements:
505
509
  - - ">="
506
510
  - !ruby/object:Gem::Version
507
511
  version: '0'
508
512
  requirements: []
509
- rubygems_version: 3.1.6
513
+ rubygems_version: 3.3.7
510
514
  signing_key:
511
515
  specification_version: 4
512
516
  summary: Convert documents in IsoDoc into Word and HTML in AsciiDoc.