isodoc 2.12.6 → 2.12.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/isodoc.gemspec +1 -1
- data/lib/isodoc/presentation_function/docid.rb +3 -3
- data/lib/isodoc/presentation_function/erefs.rb +15 -3
- data/lib/isodoc/presentation_function/index.rb +180 -0
- data/lib/isodoc/presentation_function/refs.rb +12 -8
- data/lib/isodoc/presentation_function/section.rb +2 -6
- data/lib/isodoc/presentation_function/xrefs.rb +1 -1
- data/lib/isodoc/presentation_xml_convert.rb +1 -0
- data/lib/isodoc/version.rb +1 -1
- data/lib/isodoc-yaml/i18n-ar.yaml +3 -0
- data/lib/isodoc-yaml/i18n-de.yaml +3 -0
- data/lib/isodoc-yaml/i18n-en.yaml +3 -0
- data/lib/isodoc-yaml/i18n-es.yaml +3 -0
- data/lib/isodoc-yaml/i18n-fr.yaml +3 -0
- data/lib/isodoc-yaml/i18n-ja.yaml +3 -0
- data/lib/isodoc-yaml/i18n-ru.yaml +3 -0
- data/lib/isodoc-yaml/i18n-zh-Hans.yaml +3 -0
- data/lib/relaton/render-isodoc/config.yml +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f9a52529adbedd3c9bfc375db556ea9402a7fcd7e384ccff66c70a2aeb2c964
|
4
|
+
data.tar.gz: 11533489300d99ed35875d79d7327e9acf918ffb4b7bd48552e870b303ce9be5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1fce7b6367b473390f95f062965d6c456c684e5eb5b3ad65622e3cb880e7aa3230f33ea11f7dd4d471c6125843747831e03742b2e17abc220ea9ed0995ee5c14
|
7
|
+
data.tar.gz: a3d34d1c3e98b88451073fe6cd585bbcec1e7c40964bd31cba17494934c864460269ca2c77db9803461448405019800ce731fbff7fef8c560bdb05196c35cc97
|
data/isodoc.gemspec
CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.add_dependency "mn2pdf", ">= 2.08"
|
38
38
|
spec.add_dependency "mn-requirements", "~> 0.4.0"
|
39
39
|
|
40
|
-
spec.add_dependency "relaton-render", "~> 0.
|
40
|
+
spec.add_dependency "relaton-render", "~> 0.9.0"
|
41
41
|
spec.add_dependency "roman-numerals"
|
42
42
|
spec.add_dependency "rouge", "~> 4.0"
|
43
43
|
spec.add_dependency "thread_safe"
|
@@ -9,7 +9,7 @@ module IsoDoc
|
|
9
9
|
def pref_ref_code(bib)
|
10
10
|
bib["suppress_identifier"] == "true" and return nil
|
11
11
|
ret = bib.xpath(ns("./docidentifier[@scope = 'biblio-tag']"))
|
12
|
-
ret.empty? or return ret.map(
|
12
|
+
ret.empty? or return ret.map { |x| to_xml(x.children) }
|
13
13
|
ret = pref_ref_code_parse(bib) or return nil
|
14
14
|
ins = bib.at(ns("./docidentifier[last()]"))
|
15
15
|
ret.reverse_each do |r|
|
@@ -50,14 +50,14 @@ module IsoDoc
|
|
50
50
|
|
51
51
|
def bracket_if_num(num)
|
52
52
|
num.nil? and return nil
|
53
|
-
num = num.
|
53
|
+
num = to_xml(num.children).sub(/^\[/, "").sub(/\]$/, "")
|
54
54
|
/^\d+$/.match?(num) and return "[#{num}]"
|
55
55
|
num
|
56
56
|
end
|
57
57
|
|
58
58
|
def unbracket1(ident)
|
59
59
|
ident.nil? and return nil
|
60
|
-
ident.is_a?(String) or ident = ident.
|
60
|
+
ident.is_a?(String) or ident = to_xml(ident.children)
|
61
61
|
ident.sub(/^\[/, "").sub(/\]$/, "")
|
62
62
|
end
|
63
63
|
|
@@ -3,11 +3,23 @@ require "metanorma-utils"
|
|
3
3
|
module IsoDoc
|
4
4
|
class PresentationXMLConvert < ::IsoDoc::Convert
|
5
5
|
def citeas(xmldoc)
|
6
|
-
xmldoc.xpath(ns("//eref | //origin | //quote//source"))
|
6
|
+
xmldoc.xpath(ns("//eref | //origin | //quote//source | //link"))
|
7
|
+
.each do |e|
|
7
8
|
e["bibitemid"] && e["citeas"] or next
|
8
|
-
a = @xrefs.anchor(e["bibitemid"], :xref, false)
|
9
|
-
|
9
|
+
a = @xrefs.anchor(e["bibitemid"], :xref, false) or next
|
10
|
+
e["citeas"] = citeas_cleanup(a)
|
11
|
+
# link generated in collection postprocessing from eref
|
12
|
+
e.name == "link" && e.text.empty? and e.children = e["citeas"]
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def citeas_cleanup(ref)
|
17
|
+
if /</.match?(ref)
|
18
|
+
xml = Nokogiri::XML("<root>#{ref}</root>")
|
19
|
+
xml.xpath("//semx").each { |x| x.replace(x.children) }
|
20
|
+
ref = to_xml(xml.at("//root").children)
|
10
21
|
end
|
22
|
+
ref
|
11
23
|
end
|
12
24
|
|
13
25
|
def expand_citeas(text)
|
@@ -0,0 +1,180 @@
|
|
1
|
+
module IsoDoc
|
2
|
+
class PresentationXMLConvert < ::IsoDoc::Convert
|
3
|
+
def enable_indexsect
|
4
|
+
false
|
5
|
+
end
|
6
|
+
|
7
|
+
def add_id
|
8
|
+
%(id="_#{UUIDTools::UUID.random_create}")
|
9
|
+
end
|
10
|
+
|
11
|
+
def strip_index(docxml)
|
12
|
+
docxml.xpath(ns("//index | //index-xref | //indexsect")).each(&:remove)
|
13
|
+
end
|
14
|
+
|
15
|
+
def index(xml)
|
16
|
+
if enable_indexsect && xml.at(ns("//index"))
|
17
|
+
i = xml.at(ns("//indexsect")) ||
|
18
|
+
xml.root.add_child("<indexsect #{add_id}><title>#{@i18n.index}" \
|
19
|
+
"</title></indexsect>").first
|
20
|
+
index = sort_indexterms(xml.xpath(ns("//index")),
|
21
|
+
xml.xpath(ns("//index-xref[@also = 'false']")),
|
22
|
+
xml.xpath(ns("//index-xref[@also = 'true']")))
|
23
|
+
index1(xml, i, index)
|
24
|
+
else strip_index(xml)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def index1(docxml, indexsect, index)
|
29
|
+
c = indexsect.add_child("<ul></ul>").first
|
30
|
+
index.keys.sort.each do |k|
|
31
|
+
words = index[k].keys.each_with_object({}) do |w, v|
|
32
|
+
v[sortable(w).downcase] = w
|
33
|
+
end
|
34
|
+
words.keys.localize(@lang.to_sym).sort.to_a.each do |w|
|
35
|
+
c.add_child index_entries(words, index[k], w)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
index1_cleanup(docxml)
|
39
|
+
end
|
40
|
+
|
41
|
+
def index1_cleanup(docxml)
|
42
|
+
docxml.xpath(ns("//indexsect//xref")).each do |x|
|
43
|
+
x.children.remove
|
44
|
+
end
|
45
|
+
@xrefs.bookmark_anchor_names(docxml)
|
46
|
+
end
|
47
|
+
|
48
|
+
def sortable(str)
|
49
|
+
str or return " "
|
50
|
+
HTMLEntities.new.decode(Nokogiri::XML.fragment(str).text)
|
51
|
+
end
|
52
|
+
|
53
|
+
def index_entries_opt
|
54
|
+
{ xref_lbl: ", ", see_lbl: ", #{see_lbl}", also_lbl: ", #{also_lbl}" }
|
55
|
+
end
|
56
|
+
|
57
|
+
def index_entries(words, index, primary)
|
58
|
+
ret = index_entries_head(words[primary],
|
59
|
+
index.dig(words[primary], nil, nil),
|
60
|
+
index_entries_opt)
|
61
|
+
words2 = index[words[primary]]&.keys&.compact
|
62
|
+
&.each_with_object({}) { |w, v| v[w.downcase] = w }
|
63
|
+
unless words2.empty?
|
64
|
+
ret += "<ul>"
|
65
|
+
words2.keys.localize(@lang.to_sym).sort.to_a.each do |w|
|
66
|
+
ret += index_entries2(words2, index[words[primary]], w)
|
67
|
+
end
|
68
|
+
ret += "</ul>"
|
69
|
+
end
|
70
|
+
"#{ret}</li>"
|
71
|
+
end
|
72
|
+
|
73
|
+
def index_entries2(words, index, secondary)
|
74
|
+
ret = index_entries_head(words[secondary],
|
75
|
+
index.dig(words[secondary], nil),
|
76
|
+
index_entries_opt)
|
77
|
+
words3 = index[words[secondary]]&.keys&.compact
|
78
|
+
&.each_with_object({}) { |w, v| v[w.downcase] = w }
|
79
|
+
unless words3.empty?
|
80
|
+
ret += "<ul>"
|
81
|
+
words3.keys.localize(@lang.to_sym).sort.to_a.each do |w|
|
82
|
+
ret += (index_entries_head(words3[w],
|
83
|
+
index[words[secondary]][words3[w]],
|
84
|
+
index_entries_opt) + "</li>")
|
85
|
+
end
|
86
|
+
ret += "</ul>"
|
87
|
+
end
|
88
|
+
"#{ret}</li>"
|
89
|
+
end
|
90
|
+
|
91
|
+
def index_entries_head(head, entries, opt)
|
92
|
+
ret = "<li>#{head}"
|
93
|
+
xref = entries&.dig(:xref)&.join(", ")
|
94
|
+
see = index_entries_see(entries, :see)
|
95
|
+
also = index_entries_see(entries, :also)
|
96
|
+
ret += "#{opt[:xref_lbl]} #{xref}" if xref
|
97
|
+
ret += "#{opt[:see_lbl]} #{see}" if see
|
98
|
+
ret += "#{opt[:also_lbl]} #{also}" if also
|
99
|
+
ret
|
100
|
+
end
|
101
|
+
|
102
|
+
def index_entries_see(entries, label)
|
103
|
+
see_sort = entries&.dig(label) or return nil
|
104
|
+
x = see_sort.each_with_object({}) do |w, v|
|
105
|
+
v[sortable(w).downcase] = w
|
106
|
+
end
|
107
|
+
x.keys.localize(@lang.to_sym).sort.to_a.map do |k|
|
108
|
+
# see_sort[k]
|
109
|
+
x[k]
|
110
|
+
end.join(", ")
|
111
|
+
end
|
112
|
+
|
113
|
+
def see_lbl
|
114
|
+
@lang == "en" ? @i18n.see : "<em>#{@i18n.see}</em>"
|
115
|
+
end
|
116
|
+
|
117
|
+
def also_lbl
|
118
|
+
@lang == "en" ? @i18n.see_also : "<em>#{@i18n.see_also}</em>"
|
119
|
+
end
|
120
|
+
|
121
|
+
def sort_indexterms(terms, see, also)
|
122
|
+
index = extract_indexterms(terms)
|
123
|
+
index = extract_indexsee(index, see, :see)
|
124
|
+
index = extract_indexsee(index, also, :also)
|
125
|
+
index.keys.sort.each_with_object({}) do |k, v|
|
126
|
+
v[sortable(k)[0].upcase.transliterate] ||= {}
|
127
|
+
v[sortable(k)[0].upcase.transliterate][k] = index[k]
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
def extract_indexsee(val, terms, label)
|
132
|
+
terms.each_with_object(val) do |t, v|
|
133
|
+
term, term2, term3 = extract_indexterms_init(t)
|
134
|
+
term_hash_init(v, term, term2, term3, label)
|
135
|
+
v[term][term2][term3][label] << to_xml(t.at(ns("./target"))&.children)
|
136
|
+
t.remove
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
def xml_encode_attr(str)
|
141
|
+
HTMLEntities.new.encode(str, :basic, :hexadecimal)
|
142
|
+
.gsub(/&#x([^;]+);/) do |_x|
|
143
|
+
"&#x#{$1.upcase};"
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
# attributes are decoded into UTF-8,
|
148
|
+
# elements in extract_indexsee are still in entities
|
149
|
+
def extract_indexterms(terms)
|
150
|
+
terms.each_with_object({}) do |t, v|
|
151
|
+
term, term2, term3 = extract_indexterms_init(t)
|
152
|
+
to = t["to"] ? "to='#{t['to']}' " : ""
|
153
|
+
index2bookmark(t)
|
154
|
+
term_hash_init(v, term, term2, term3, :xref)
|
155
|
+
v[term][term2][term3][:xref] << "<xref target='#{t['id']}' " \
|
156
|
+
"#{to}pagenumber='true'/>"
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
def extract_indexterms_init(term)
|
161
|
+
%w(primary secondary tertiary).each_with_object([]) do |x, m|
|
162
|
+
m << to_xml(term.at(ns("./#{x}"))&.children)
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
def term_hash_init(hash, term, term2, term3, label)
|
167
|
+
hash[term] ||= {}
|
168
|
+
hash[term][term2] ||= {}
|
169
|
+
hash[term][term2][term3] ||= {}
|
170
|
+
hash[term][term2][term3][label] ||= []
|
171
|
+
end
|
172
|
+
|
173
|
+
def index2bookmark(node)
|
174
|
+
node.name = "bookmark"
|
175
|
+
node.children.each(&:remove)
|
176
|
+
node["id"] = "_#{UUIDTools::UUID.random_create}"
|
177
|
+
node.delete("to")
|
178
|
+
end
|
179
|
+
end
|
180
|
+
end
|
@@ -100,24 +100,27 @@ module IsoDoc
|
|
100
100
|
implicit_reference(bibitem) ||
|
101
101
|
bibitem.at(ns(".//docidentifier[@type = 'metanorma']")) ||
|
102
102
|
bibitem.at(ns(".//docidentifier[@type = 'metanorma-ordinal']")) ||
|
103
|
+
bibitem["suppress_identifier"] == "true" ||
|
103
104
|
bibitem["hidden"] == "true" || bibitem.parent["hidden"] == "true"
|
104
105
|
end
|
105
106
|
|
106
107
|
def bibliography_bibitem_number(docxml)
|
107
108
|
i = 0
|
108
|
-
docxml.xpath(ns("//references
|
109
|
-
|
109
|
+
docxml.xpath(ns("//references")).each do |r|
|
110
|
+
r.xpath(ns(".//bibitem")).each do |b|
|
111
|
+
i = bibliography_bibitem_number1(b, i, r["normative"] == "true")
|
112
|
+
end
|
110
113
|
end
|
111
114
|
reference_names docxml
|
112
115
|
bibliography_bibitem_tag(docxml)
|
113
116
|
end
|
114
117
|
|
115
|
-
def bibliography_bibitem_number1(bibitem, idx)
|
118
|
+
def bibliography_bibitem_number1(bibitem, idx, normative)
|
116
119
|
ins = bibliography_bibitem_number_insert_pt(bibitem)
|
117
120
|
mn = bibitem.at(ns(".//docidentifier[@type = 'metanorma']")) and
|
118
|
-
/^\[?\d+\]?$/.match?(mn.text) and
|
119
|
-
|
120
|
-
|
121
|
+
/^\[?\d+\]?$/.match?(mn.text) and mn.remove # ignore numbers already inserted
|
122
|
+
if !bibliography_bibitem_number_skip(bibitem) && (!normative || mn)
|
123
|
+
# respect numeric ids in normative only if already inserted
|
121
124
|
idx += 1
|
122
125
|
ins.next =
|
123
126
|
"<docidentifier type='metanorma-ordinal'>[#{idx}]</docidentifier>"
|
@@ -126,10 +129,10 @@ module IsoDoc
|
|
126
129
|
end
|
127
130
|
|
128
131
|
def bibliography_bibitem_number_insert_pt(bibitem)
|
132
|
+
bibitem.children.empty? and bibitem.add_child(" ")
|
129
133
|
unless d = bibitem.at(ns(".//docidentifier"))
|
130
134
|
d = bibitem.children.first
|
131
|
-
d.previous = " "
|
132
|
-
return d.previous
|
135
|
+
d.previous = " " and return d.previous
|
133
136
|
end
|
134
137
|
unless ins = d.previous_element
|
135
138
|
d.previous = " "
|
@@ -150,6 +153,7 @@ module IsoDoc
|
|
150
153
|
def bibliography_bibitem_tag1(ref, idx, norm)
|
151
154
|
ref.xpath(ns("./bibitem")).each do |b|
|
152
155
|
implicit_reference(b) and next
|
156
|
+
b["suppress_identifier"] == "true" and next
|
153
157
|
idx += 1 unless b["hidden"]
|
154
158
|
insert_biblio_tag(b, idx, !norm, standard?(b))
|
155
159
|
end
|
@@ -29,7 +29,7 @@ module IsoDoc
|
|
29
29
|
def clause1(elem)
|
30
30
|
level = @xrefs.anchor(elem["id"], :level, false) ||
|
31
31
|
(elem.ancestors("clause, annex").size + 1)
|
32
|
-
lbl = @xrefs.anchor(elem["id"], :label, elem
|
32
|
+
lbl = @xrefs.anchor(elem["id"], :label, !unnumbered_clause?(elem))
|
33
33
|
if unnumbered_clause?(elem) || !lbl
|
34
34
|
prefix_name(elem, {}, nil, "title")
|
35
35
|
else
|
@@ -49,7 +49,7 @@ module IsoDoc
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def annex1(elem)
|
52
|
-
lbl = @xrefs.anchor(elem["id"], :label)
|
52
|
+
lbl = @xrefs.anchor(elem["id"], :label, false)
|
53
53
|
# TODO: do not alter title, alter semx/@element = title
|
54
54
|
t = elem.at(ns("./title")) and
|
55
55
|
t.children = "<strong>#{to_xml(t.children)}</strong>"
|
@@ -81,10 +81,6 @@ module IsoDoc
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
def index(docxml)
|
85
|
-
docxml.xpath(ns("//index | //index-xref | //indexsect")).each(&:remove)
|
86
|
-
end
|
87
|
-
|
88
84
|
def skip_display_order?(node)
|
89
85
|
node.name == "floating-title"
|
90
86
|
end
|
@@ -21,7 +21,7 @@ module IsoDoc
|
|
21
21
|
node["style"] == "id" and
|
22
22
|
return anchor_id_postproc(node)
|
23
23
|
node["citeas"].nil? && node["bibitemid"] and
|
24
|
-
return @xrefs.anchor(node["bibitemid"], :xref) || "???"
|
24
|
+
return citeas_cleanup(@xrefs.anchor(node["bibitemid"], :xref)) || "???"
|
25
25
|
node.at(ns("./location")) and
|
26
26
|
return combine_xref_locations(node) || "???"
|
27
27
|
node["target"] && node["droploc"] and
|
@@ -7,6 +7,7 @@ require_relative "presentation_function/erefs"
|
|
7
7
|
require_relative "presentation_function/inline"
|
8
8
|
require_relative "presentation_function/math"
|
9
9
|
require_relative "presentation_function/section"
|
10
|
+
require_relative "presentation_function/index"
|
10
11
|
require_relative "presentation_function/bibdata"
|
11
12
|
require_relative "presentation_function/metadata"
|
12
13
|
|
data/lib/isodoc/version.rb
CHANGED
@@ -15,6 +15,9 @@ termsdefsymbols: المصطلحات والتعريفات والرموز
|
|
15
15
|
termsdefabbrev: المصطلحات والتعريفات والاختصارات
|
16
16
|
normref: المراجع المعيارية
|
17
17
|
bibliography: بيبليوغرافيا
|
18
|
+
index: الفهرس
|
19
|
+
see: انظر
|
20
|
+
see_also: انظر أيضًا
|
18
21
|
clause: فقرة
|
19
22
|
annex: ملحق
|
20
23
|
appendix: تذييل
|
@@ -15,6 +15,9 @@ termsdefsymbols: Begriffe, Definitionen und Symbole
|
|
15
15
|
termsdefabbrev: Begriffe, Definitionen und abgekürzte Begriffe
|
16
16
|
normref: Normative Verweise
|
17
17
|
bibliography: Bibliographie
|
18
|
+
index: Index
|
19
|
+
see: schau
|
20
|
+
see_also: siehe auch
|
18
21
|
clause: Klausel
|
19
22
|
annex: Anhang
|
20
23
|
appendix: Appendix
|
@@ -14,6 +14,9 @@ termsdefsymbols: Terms, definitions and symbols
|
|
14
14
|
termsdefabbrev: Terms, definitions and abbreviated terms
|
15
15
|
normref: Normative references
|
16
16
|
bibliography: Bibliography
|
17
|
+
index: Index
|
18
|
+
see: see
|
19
|
+
see_also: see also
|
17
20
|
preface: Preface
|
18
21
|
section: Section
|
19
22
|
clause: Clause
|
@@ -14,6 +14,9 @@ termsdefsymbols: Términos, definiciones y símbolos
|
|
14
14
|
termsdefabbrev: Términos, definiciones y términos abreviados
|
15
15
|
normref: Referencias normativas
|
16
16
|
bibliography: Bibliografía
|
17
|
+
index: Índice
|
18
|
+
see: ver
|
19
|
+
see_also: ver también
|
17
20
|
section: Sección
|
18
21
|
clause: Cláusula
|
19
22
|
annex: Anexo
|
@@ -14,6 +14,9 @@ termsdefsymbols: Termes, définitions et symboles
|
|
14
14
|
termsdefabbrev: Termes, définitions et termes abrégés
|
15
15
|
normref: Références normatives
|
16
16
|
bibliography: Bibliographie
|
17
|
+
index: Index
|
18
|
+
see: voir
|
19
|
+
see_also: voir aussi
|
17
20
|
preface: Préface
|
18
21
|
section: Section
|
19
22
|
clause: Article
|
@@ -14,6 +14,9 @@ termsdefsymbols: Термины, определения и символы
|
|
14
14
|
termsdefabbrev: Термины, определения и сокращенные термины
|
15
15
|
normref: Нормативные ссылки
|
16
16
|
bibliography: Библиография
|
17
|
+
index: Алфавитный указатель
|
18
|
+
see: см.
|
19
|
+
see_also: см. также
|
17
20
|
section: Раздел
|
18
21
|
clause: Пункт
|
19
22
|
annex: Дополнение
|
@@ -1,4 +1,4 @@
|
|
1
1
|
template:
|
2
2
|
# skip authoritative identifier, it is inserted in front of formattedref within metanorma
|
3
|
-
standard: "{% if creatornames %}{{ creatornames }} ({{ role}}){%else%}{{publisher}}{%endif%} . <em>{{ title }}</em> . {{
|
3
|
+
standard: "{% if creatornames %}{{ creatornames }} ({{ role}}){%else%}{{publisher}}{%endif%} . <em>{{ title }}</em> . {{ medium | capitalize }}. {{ edition | capitalize_first }}. {{date}}. {{place}}: {%if creatornames %}{{publisher}}{% endif %} . {{size}}. {{ extent }}. {{ uri }}. {{ labels['at'] | capitalize}}:_{{ access_location }}. [{{ labels['viewed'] }}:_{{date_accessed}}]."
|
4
4
|
|
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.12.
|
4
|
+
version: 2.12.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-12-
|
11
|
+
date: 2024-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: base64
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.9.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.9.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: roman-numerals
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -439,6 +439,7 @@ files:
|
|
439
439
|
- lib/isodoc/presentation_function/docid.rb
|
440
440
|
- lib/isodoc/presentation_function/erefs.rb
|
441
441
|
- lib/isodoc/presentation_function/image.rb
|
442
|
+
- lib/isodoc/presentation_function/index.rb
|
442
443
|
- lib/isodoc/presentation_function/inline.rb
|
443
444
|
- lib/isodoc/presentation_function/math.rb
|
444
445
|
- lib/isodoc/presentation_function/metadata.rb
|