isodoc 2.3.2 → 2.3.4
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|