isodoc 1.0.23 → 1.0.24
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/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
|