metanorma-bipm 2.1.13 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/bipm/base_convert.rb +0 -28
- data/lib/isodoc/bipm/bipm.brochure.xsl +340 -240
- data/lib/isodoc/bipm/bipm.guide.xsl +340 -240
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +340 -240
- data/lib/isodoc/bipm/bipm.rapport.xsl +340 -240
- data/lib/isodoc/bipm/html/htmlstyle.css +5 -2
- data/lib/isodoc/bipm/index.rb +29 -18
- data/lib/isodoc/bipm/jcgm.standard.xsl +282 -194
- data/lib/isodoc/bipm/presentation_xml_convert.rb +26 -9
- data/lib/metanorma/bipm/basicdoc.rng +3 -0
- data/lib/metanorma/bipm/biblio-standoc.rng +1 -1
- data/lib/metanorma/bipm/isodoc.rng +11 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +2 -2
- metadata +7 -7
@@ -550,8 +550,11 @@ a:hover {
|
|
550
550
|
background: #6C734A;
|
551
551
|
box-shadow: 3px 0 0 #6C734A, -3px 0 0 #6C734A; }
|
552
552
|
|
553
|
-
|
554
|
-
|
553
|
+
*::selection {
|
554
|
+
background: #6C734A;
|
555
|
+
color: white; }
|
556
|
+
|
557
|
+
*::-moz-selection {
|
555
558
|
background: #6C734A;
|
556
559
|
color: white; }
|
557
560
|
|
data/lib/isodoc/bipm/index.rb
CHANGED
@@ -14,12 +14,12 @@ module IsoDoc
|
|
14
14
|
return
|
15
15
|
end
|
16
16
|
i = docxml.at(ns("//indexsect")) ||
|
17
|
-
docxml.root.add_child("<indexsect #{add_id}><title>#{@i18n.index}"\
|
17
|
+
docxml.root.add_child("<indexsect #{add_id}><title>#{@i18n.index}" \
|
18
18
|
"</title></indexsect>").first
|
19
19
|
index = sort_indexterms(
|
20
20
|
docxml.xpath(ns("//index")),
|
21
21
|
docxml.xpath(ns("//index-xref[@also = 'false']")),
|
22
|
-
docxml.xpath(ns("//index-xref[@also = 'true']"))
|
22
|
+
docxml.xpath(ns("//index-xref[@also = 'true']")),
|
23
23
|
)
|
24
24
|
index1(docxml, i, index)
|
25
25
|
end
|
@@ -27,7 +27,9 @@ module IsoDoc
|
|
27
27
|
def index1(docxml, i, index)
|
28
28
|
index.keys.sort.each do |k|
|
29
29
|
c = i.add_child "<clause #{add_id}><title>#{k}</title><ul></ul></clause>"
|
30
|
-
words = index[k].keys.each_with_object({})
|
30
|
+
words = index[k].keys.each_with_object({}) do |w, v|
|
31
|
+
v[sortable(w).downcase] = w
|
32
|
+
end
|
31
33
|
words.keys.localize(@lang.to_sym).sort.to_a.each do |w|
|
32
34
|
c.first.at(ns("./ul")).add_child index_entries(words, index[k], w)
|
33
35
|
end
|
@@ -64,12 +66,13 @@ module IsoDoc
|
|
64
66
|
ret = index_entries_head(words[secondary],
|
65
67
|
index.dig(words[secondary], nil),
|
66
68
|
index_entries_opt)
|
67
|
-
words3 = index[words[secondary]]&.keys&.reject
|
69
|
+
words3 = index[words[secondary]]&.keys&.reject(&:nil?)
|
68
70
|
&.each_with_object({}) { |w, v| v[w.downcase] = w }
|
69
71
|
unless words3.empty?
|
70
72
|
ret += "<ul>"
|
71
73
|
words3.keys.localize(@lang.to_sym).sort.to_a.each do |w|
|
72
|
-
ret += (index_entries_head(words3[w],
|
74
|
+
ret += (index_entries_head(words3[w],
|
75
|
+
index[words[secondary]][words3[w]], index_entries_opt) + "</li>")
|
73
76
|
end
|
74
77
|
ret += "</ul>"
|
75
78
|
end
|
@@ -79,10 +82,18 @@ module IsoDoc
|
|
79
82
|
def index_entries_head(head, entries, opt)
|
80
83
|
ret = "<li>#{head}"
|
81
84
|
xref = entries&.dig(:xref)&.join(", ")
|
82
|
-
see_sort = entries&.dig(:see)&.each_with_object({})
|
83
|
-
|
84
|
-
|
85
|
-
|
85
|
+
see_sort = entries&.dig(:see)&.each_with_object({}) do |w, v|
|
86
|
+
v[sortable(w).downcase] = w
|
87
|
+
end
|
88
|
+
see = see_sort&.keys&.localize(@lang.to_sym)&.sort&.to_a&.map do |k|
|
89
|
+
see_sort[k]
|
90
|
+
end&.join(", ")
|
91
|
+
also_sort = entries&.dig(:also)&.each_with_object({}) do |w, v|
|
92
|
+
v[sortable(w).downcase] = w
|
93
|
+
end
|
94
|
+
also = also_sort&.keys&.localize(@lang.to_sym)&.sort&.to_a&.map do |k|
|
95
|
+
also_sort[k]
|
96
|
+
end&.join(", ")
|
86
97
|
ret += "#{opt[:xref_lbl]} #{xref}" if xref
|
87
98
|
ret += "#{opt[:see_lbl]} #{see}" if see
|
88
99
|
ret += "#{opt[:also_lbl]} #{also}" if also
|
@@ -107,16 +118,16 @@ module IsoDoc
|
|
107
118
|
end
|
108
119
|
end
|
109
120
|
|
110
|
-
def extract_indexsee(
|
111
|
-
terms.each_with_object(
|
112
|
-
term = t
|
113
|
-
term2 = t
|
114
|
-
term3 = t
|
121
|
+
def extract_indexsee(idx, terms, label)
|
122
|
+
terms.each_with_object(idx) do |t, v|
|
123
|
+
term = to_xml(t.at(ns("./primary"))&.children)
|
124
|
+
term2 = to_xml(t.at(ns("./secondary"))&.children)
|
125
|
+
term3 = to_xml(t.at(ns("./tertiary"))&.children)
|
115
126
|
v[term] ||= {}
|
116
127
|
v[term][term2] ||= {}
|
117
128
|
v[term][term2][term3] ||= {}
|
118
129
|
v[term][term2][term3][label] ||= []
|
119
|
-
v[term][term2][term3][label] << t
|
130
|
+
v[term][term2][term3][label] << to_xml(t.at(ns("./target"))&.children)
|
120
131
|
t.remove
|
121
132
|
end
|
122
133
|
end
|
@@ -129,9 +140,9 @@ module IsoDoc
|
|
129
140
|
# attributes are decoded into UTF-8, elements in extract_indexsee are still in entities
|
130
141
|
def extract_indexterms(terms)
|
131
142
|
terms.each_with_object({}) do |t, v|
|
132
|
-
term = t
|
133
|
-
term2 = t
|
134
|
-
term3 = t
|
143
|
+
term = to_xml(t.at(ns("./primary"))&.children)
|
144
|
+
term2 = to_xml(t.at(ns("./secondary"))&.children)
|
145
|
+
term3 = to_xml(t.at(ns("./tertiary"))&.children)
|
135
146
|
index2bookmark(t)
|
136
147
|
v[term] ||= {}
|
137
148
|
v[term][term2] ||= {}
|