isodoc 2.3.2 → 2.3.4
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/.hound.yml +5 -0
- data/.oss-guides.rubocop.yml +1077 -0
- data/.rubocop.yml +10 -0
- data/isodoc.gemspec +6 -6
- data/lib/isodoc/base_style/blocks.scss +1 -1
- data/lib/isodoc/convert.rb +3 -1
- data/lib/isodoc/function/references.rb +4 -4
- data/lib/isodoc/function/section.rb +1 -1
- data/lib/isodoc/function/to_word_html.rb +5 -4
- data/lib/isodoc/function/utils.rb +30 -41
- data/lib/isodoc/html_function/postprocess.rb +7 -157
- data/lib/isodoc/html_function/postprocess_cover.rb +167 -0
- data/lib/isodoc/presentation_function/image.rb +6 -1
- data/lib/isodoc/presentation_function/inline.rb +22 -7
- data/lib/isodoc/presentation_function/refs.rb +2 -6
- data/lib/isodoc/presentation_function/section.rb +20 -8
- data/lib/isodoc/presentation_function/xrefs.rb +29 -13
- data/lib/isodoc/presentation_xml_convert.rb +1 -1
- data/lib/isodoc/version.rb +1 -1
- data/lib/isodoc/word_function/inline.rb +2 -0
- data/lib/isodoc/xref/xref_sect_gen.rb +51 -36
- data/lib/isodoc-yaml/i18n-en.yaml +1 -1
- data/lib/isodoc-yaml/i18n-fr.yaml +5 -5
- metadata +14 -10
@@ -10,8 +10,8 @@ module IsoDoc
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def get_linkend(node)
|
13
|
-
|
14
|
-
return unless
|
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(/&#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 += "–#{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
|
-
|
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
|
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
|
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.
|
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("#{
|
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
|
-
|
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
|
-
|
16
|
-
|
17
|
-
|
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
|
-
|
20
|
-
|
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 =
|
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]
|
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
|
data/lib/isodoc/version.rb
CHANGED
@@ -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
|
55
|
-
clause.at(ns("./title"))&.text
|
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
|
-
|
66
|
-
|
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
|
-
"#{
|
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
|
-
|
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)))
|
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
|
-
|
110
|
+
clause.nil? and return num
|
100
111
|
|
101
112
|
num.increment(clause)
|
102
|
-
|
103
|
-
|
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
|
-
|
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
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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)
|
@@ -8,10 +8,10 @@ introduction: Introduction
|
|
8
8
|
foreword: Avant-propos
|
9
9
|
abstract: Résumé
|
10
10
|
acknowledgements: Remerciements
|
11
|
-
termsdef:
|
12
|
-
termsdefsymbolsabbrev:
|
13
|
-
termsdefsymbols:
|
14
|
-
termsdefabbrev:
|
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
|
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.
|
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-
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|