isodoc 1.0.23 → 1.0.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/base_style/reset.scss +1 -1
- data/lib/isodoc/function/i18n.rb +5 -5
- data/lib/isodoc/function/inline.rb +22 -9
- data/lib/isodoc/version.rb +1 -1
- data/spec/isodoc/inline_spec.rb +27 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50ac1215a8065519d1dbab07c61a8c4e84dbc90923300bef4f6e44e4b9a8a843
|
4
|
+
data.tar.gz: b89e80351f424c11fb7cb2b92c838a8b8b05f2791a1f91a1d531b14611632229
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5ca6cf434f62383545145ccb02adccc060cc9fc5b79478655a5eaa21ca03332f1032baa87abc670935a586fa2cd957f3b8c9358e40802f33dcbc978e8da4b0a
|
7
|
+
data.tar.gz: 01f839c290c1e557a162e2ae43aba2c8ecb291b86664759d72eeacd80b1f338734ce470827cd35485446b589f77b637a5cece6f3118b0855d2494f7537adc1e1
|
data/lib/isodoc/function/i18n.rb
CHANGED
@@ -77,8 +77,8 @@ module IsoDoc::Function
|
|
77
77
|
end
|
78
78
|
|
79
79
|
# TODO: move to localization file
|
80
|
-
def eref_localities1_zh(target, type, from, to)
|
81
|
-
ret = "
|
80
|
+
def eref_localities1_zh(target, type, from, to, delim)
|
81
|
+
ret = "#{delim} 第#{from.text}" if from
|
82
82
|
ret += "–#{to}" if to
|
83
83
|
loc = (@locality[type] || type.sub(/^locality:/, "").capitalize )
|
84
84
|
ret += " #{loc}"
|
@@ -86,9 +86,9 @@ module IsoDoc::Function
|
|
86
86
|
end
|
87
87
|
|
88
88
|
# TODO: move to localization file
|
89
|
-
def eref_localities1(target, type, from, to, lang = "en")
|
90
|
-
return l10n(eref_localities1_zh(target, type, from, to)) if lang == "zh"
|
91
|
-
ret =
|
89
|
+
def eref_localities1(target, type, from, to, delim, lang = "en")
|
90
|
+
return l10n(eref_localities1_zh(target, type, from, to, delim)) if lang == "zh"
|
91
|
+
ret = delim
|
92
92
|
loc = @locality[type] || type.sub(/^locality:/, "").capitalize
|
93
93
|
ret += " #{loc}"
|
94
94
|
ret += " #{from.text}" if from
|
@@ -55,12 +55,12 @@ module IsoDoc::Function
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def get_linkend(node)
|
58
|
-
contents = node.children.select { |c| c.name
|
58
|
+
contents = node.children.select { |c| !%w{locality localityStack}.include? c.name }.
|
59
59
|
select { |c| !c.text? || /\S/.match(c) }
|
60
60
|
!contents.empty? and
|
61
61
|
return Nokogiri::XML::NodeSet.new(node.document, contents).to_xml
|
62
62
|
link = anchor_linkend(node, docid_l10n(node["target"] || node["citeas"]))
|
63
|
-
link + eref_localities(node.xpath(ns("./locality")), link)
|
63
|
+
link + eref_localities(node.xpath(ns("./locality | ./localityStack")), link)
|
64
64
|
# so not <origin bibitemid="ISO7301" citeas="ISO 7301">
|
65
65
|
# <locality type="section"><reference>3.1</reference></locality></origin>
|
66
66
|
end
|
@@ -73,16 +73,29 @@ module IsoDoc::Function
|
|
73
73
|
|
74
74
|
def eref_localities(refs, target)
|
75
75
|
ret = ""
|
76
|
-
refs.
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
76
|
+
refs.each_with_index do |r, i|
|
77
|
+
delim = ","
|
78
|
+
delim = ";" if r.name == "localityStack" && i>0
|
79
|
+
if r.name == "localityStack"
|
80
|
+
r.elements.each_with_index do |rr, j|
|
81
|
+
ret += eref_localities0(rr, j, target, delim)
|
82
|
+
delim = ","
|
83
|
+
end
|
84
|
+
else
|
85
|
+
ret += eref_localities0(r, i, target, delim)
|
86
|
+
end
|
82
87
|
end
|
83
88
|
ret
|
84
89
|
end
|
85
90
|
|
91
|
+
def eref_localities0(r, i, target, delim)
|
92
|
+
if r["type"] == "whole" then l10n("#{delim} #{@whole_of_text}")
|
93
|
+
else
|
94
|
+
eref_localities1(target, r["type"], r.at(ns("./referenceFrom")),
|
95
|
+
r.at(ns("./referenceTo")), delim, @lang)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
86
99
|
def eref_parse(node, out)
|
87
100
|
linkend = get_linkend(node)
|
88
101
|
if node["type"] == "footnote"
|
@@ -99,7 +112,7 @@ module IsoDoc::Function
|
|
99
112
|
end
|
100
113
|
|
101
114
|
def concept_parse(node, out)
|
102
|
-
content = node.first_element_child.children.select { |c| c.name
|
115
|
+
content = node.first_element_child.children.select { |c| !%w{locality localityStack}.include? c.name }.
|
103
116
|
select { |c| !c.text? || /\S/.match(c) }
|
104
117
|
if content.empty?
|
105
118
|
out << "[Term defined in "
|
data/lib/isodoc/version.rb
CHANGED
data/spec/isodoc/inline_spec.rb
CHANGED
@@ -126,13 +126,31 @@ RSpec.describe IsoDoc do
|
|
126
126
|
</concept></li>
|
127
127
|
<li><concept>
|
128
128
|
<eref bibitemid="ISO712" type="inline" citeas="ISO 712">
|
129
|
+
<localityStack>
|
129
130
|
<locality type='clause'>
|
130
131
|
<referenceFrom>3.1</referenceFrom>
|
131
132
|
</locality>
|
133
|
+
</localityStack>
|
134
|
+
<localityStack>
|
132
135
|
<locality type='figure'>
|
133
|
-
<referenceFrom>
|
136
|
+
<referenceFrom>b</referenceFrom>
|
137
|
+
</locality>
|
138
|
+
</localityStack>
|
139
|
+
</eref>
|
140
|
+
</concept></li>
|
141
|
+
<li><concept>
|
142
|
+
<eref bibitemid="ISO712" type="inline" citeas="ISO 712">
|
143
|
+
<localityStack>
|
144
|
+
<locality type='clause'>
|
145
|
+
<referenceFrom>3.1</referenceFrom>
|
146
|
+
</locality>
|
147
|
+
</localityStack>
|
148
|
+
<localityStack>
|
149
|
+
<locality type='figure'>
|
150
|
+
<referenceFrom>b</referenceFrom>
|
134
151
|
</locality>
|
135
|
-
|
152
|
+
</localityStack>
|
153
|
+
<em>word</em>
|
136
154
|
</eref>
|
137
155
|
</concept></li>
|
138
156
|
<li><concept term='term'>
|
@@ -180,6 +198,9 @@ RSpec.describe IsoDoc do
|
|
180
198
|
<li>
|
181
199
|
[Term defined in <a href='#ISO712'>ISO 712, Clause 3.1, Figure a</a>]
|
182
200
|
</li>
|
201
|
+
<li>
|
202
|
+
[Term defined in <a href='#ISO712'>ISO 712, Clause 3.1; Figure b</a>]
|
203
|
+
</li>
|
183
204
|
<li>
|
184
205
|
<i>word</i>
|
185
206
|
</li>
|
@@ -436,6 +457,8 @@ OUTPUT
|
|
436
457
|
<eref type="inline" bibitemid="ISO712" citeas="ISO 712"/>
|
437
458
|
<eref type="inline" bibitemid="ISO712"/>
|
438
459
|
<eref type="inline" bibitemid="ISO712"><locality type="table"><referenceFrom>1</referenceFrom></locality></eref>
|
460
|
+
<eref type="inline" bibitemid="ISO712"><localityStack><locality type="table"><referenceFrom>1</referenceFrom></locality></localityStack></eref>
|
461
|
+
<eref type="inline" bibitemid="ISO712"><localityStack><locality type="table"><referenceFrom>1</referenceFrom></locality></localityStack><localityStack><locality type="clause"><referenceFrom>1</referenceFrom></locality></localityStack></eref>
|
439
462
|
<eref type="inline" bibitemid="ISO712"><locality type="table"><referenceFrom>1</referenceFrom><referenceTo>1</referenceTo></locality></eref>
|
440
463
|
<eref type="inline" bibitemid="ISO712"><locality type="clause"><referenceFrom>1</referenceFrom></locality><locality type="table"><referenceFrom>1</referenceFrom></locality></eref>
|
441
464
|
<eref type="inline" bibitemid="ISO712"><locality type="clause"><referenceFrom>1</referenceFrom></locality></eref>
|
@@ -469,6 +492,8 @@ OUTPUT
|
|
469
492
|
<a href="#ISO712">ISO 712</a>
|
470
493
|
<a href="#ISO712">ISO 712</a>
|
471
494
|
<a href="#ISO712">ISO 712, Table 1</a>
|
495
|
+
<a href='#ISO712'>ISO 712, Table 1</a>
|
496
|
+
<a href='#ISO712'>ISO 712, Table 1; Clause 1</a>
|
472
497
|
<a href="#ISO712">ISO 712, Table 1–1</a>
|
473
498
|
<a href="#ISO712">ISO 712, Clause 1, Table 1</a>
|
474
499
|
<a href="#ISO712">ISO 712, Clause 1</a>
|
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: 1.0.
|
4
|
+
version: 1.0.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-04-
|
11
|
+
date: 2020-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciimath
|