isodoc 2.12.6 → 2.12.7
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/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
|