metanorma-standoc 2.10.1 → 2.10.3
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/metanorma/standoc/cleanup_footnotes.rb +11 -11
- data/lib/metanorma/standoc/cleanup_text.rb +23 -0
- data/lib/metanorma/standoc/merge_bibitems.rb +5 -2
- data/lib/metanorma/standoc/validate.rb +1 -1
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c8579fdf53dcc2a4f8bb20de409cb062e6b9391bdad00e87ccdde6a571c025a
|
4
|
+
data.tar.gz: 89991dbd9dc49750e3ba9ca705872768510d0789907191e989e0473a9d0fc2d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0648f42502642e1e2cf3e5db6a9f8d51056c088879f363a2f2cdda4daa9e32ff2a94ddfbc1c0735965cf889c431c6cfc8b8b7d45eb590f9d41b6aa4be3e81b1e'
|
7
|
+
data.tar.gz: f6c43c0445dd5f51942808693dd9b9be01a425ec22ec711a82377630db69aee0cceb03fa5091d1716d78ac911130fc585b82d7f522f0d0bc183bfe41e7c55da7
|
@@ -34,14 +34,21 @@ module Metanorma
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
37
|
+
def duplicate_footnote(fnote, idx, seen)
|
38
38
|
content = footnote_content(fnote)
|
39
|
-
if seen[content]
|
39
|
+
if seen[content]
|
40
|
+
outnum = seen[content]
|
41
|
+
fnote.xpath(".//index | .//bookmark").each(&:remove)
|
40
42
|
else
|
41
43
|
idx += 1
|
42
44
|
outnum = idx
|
43
45
|
seen[content] = outnum
|
44
46
|
end
|
47
|
+
[fnote, idx, seen, outnum]
|
48
|
+
end
|
49
|
+
|
50
|
+
def table_footnote_renumber1(fnote, idx, seen)
|
51
|
+
fnote, idx, seen, outnum = duplicate_footnote(fnote, idx, seen)
|
45
52
|
fnote["reference"] = table_footnote_number(outnum)
|
46
53
|
fnote["table"] = true
|
47
54
|
[idx, seen]
|
@@ -62,15 +69,8 @@ module Metanorma
|
|
62
69
|
end
|
63
70
|
|
64
71
|
def other_footnote_renumber1(fnote, idx, seen)
|
65
|
-
return [idx, seen]
|
66
|
-
|
67
|
-
content = footnote_content(fnote)
|
68
|
-
if seen[content] then outnum = seen[content]
|
69
|
-
else
|
70
|
-
idx += 1
|
71
|
-
outnum = idx
|
72
|
-
seen[content] = outnum
|
73
|
-
end
|
72
|
+
fnote["table"] and return [idx, seen]
|
73
|
+
fnote, idx, seen, outnum = duplicate_footnote(fnote, idx, seen)
|
74
74
|
fnote["reference"] = outnum.to_s
|
75
75
|
[idx, seen]
|
76
76
|
end
|
@@ -88,6 +88,15 @@ module Metanorma
|
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
|
+
# "abc<tag/>", def => "abc",<tag/> def
|
92
|
+
# TODO?
|
93
|
+
def uninterrupt_quotes_around_xml1(xmldoc)
|
94
|
+
xmldoc.xpath("//text()[preceding-sibling::*[1]]").each do |n|
|
95
|
+
uninterrupt_quotes_around_xml_skip(n) and next
|
96
|
+
uninterrupt_quotes_around_xml1(n.previous)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
91
100
|
IGNORE_QUOTES_ELEMENTS =
|
92
101
|
%w(pre tt sourcecode stem asciimath figure bibdata passthrough
|
93
102
|
identifier metanorma-extension).freeze
|
@@ -157,6 +166,20 @@ module Metanorma
|
|
157
166
|
end
|
158
167
|
end
|
159
168
|
|
169
|
+
def dumb2smart_quotesx(xmldoc)
|
170
|
+
# TODO?>
|
171
|
+
prev = ""
|
172
|
+
xmldoc.xpath("//* | //text()").each do |x|
|
173
|
+
x.is_a?(Nokogiri::XML::Node) or next
|
174
|
+
block?(x) and prev = ""
|
175
|
+
empty_tag_with_text_content?(x) and prev = "dummy"
|
176
|
+
x.text? or next
|
177
|
+
ancestor_include?(x, IGNORE_QUOTES_ELEMENTS) and next
|
178
|
+
dumb2smart_quotes1(x, prev)
|
179
|
+
prev = x.text
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
160
183
|
def dumb2smart_quotes1(curr, prev)
|
161
184
|
/[-'"(<>]|\.\.|\dx/.match?(curr.text) or return
|
162
185
|
|
@@ -59,8 +59,11 @@ module Metanorma
|
|
59
59
|
new[:extent] = [{ locality_stack: new[:extent] }]
|
60
60
|
ret = merge_by_type(old.dig(:extent, 0),
|
61
61
|
new.dig(:extent, 0), :locality_stack,
|
62
|
-
|
63
|
-
|
62
|
+
[:locality, 0, :type])
|
63
|
+
ret = ret.each_with_object([{ locality: [] }]) do |r, m|
|
64
|
+
m[0][:locality] += r[:locality]
|
65
|
+
end
|
66
|
+
ret or return
|
64
67
|
old[:extent] ||= []
|
65
68
|
old[:extent][0] ||= {}
|
66
69
|
old[:extent][0][:locality_stack] = ret
|
@@ -219,7 +219,7 @@ module Metanorma
|
|
219
219
|
|
220
220
|
# manually check for xref/@target, xref/@to integrity
|
221
221
|
def xref_validate(doc)
|
222
|
-
@doc_xrefs = doc.xpath("//xref/@target | //xref/@to")
|
222
|
+
@doc_xrefs = doc.xpath("//xref/@target | //xref/@to | //index/@to")
|
223
223
|
.each_with_object({}) do |x, m|
|
224
224
|
m[x.text] = x
|
225
225
|
@doc_ids[x.text] and next
|
data/metanorma-standoc.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_dependency "asciidoctor", "~> 2.0.0"
|
33
33
|
spec.add_dependency "crass", "~> 1.0.0"
|
34
34
|
spec.add_dependency "iev", "~> 0.3.0"
|
35
|
-
spec.add_dependency "isodoc", "~> 2.12.
|
35
|
+
spec.add_dependency "isodoc", "~> 2.12.4"
|
36
36
|
spec.add_dependency "metanorma", ">= 1.6.0"
|
37
37
|
spec.add_dependency "metanorma-plugin-datastruct", "~> 0.3.0"
|
38
38
|
spec.add_dependency "metanorma-plugin-glossarist", "~> 0.2.0"
|
@@ -43,7 +43,7 @@ Gem::Specification.new do |spec|
|
|
43
43
|
spec.add_dependency "asciimath2unitsml", "~> 0.4.0"
|
44
44
|
spec.add_dependency "concurrent-ruby"
|
45
45
|
spec.add_dependency "pngcheck"
|
46
|
-
spec.add_dependency "relaton-cli", "~> 1.
|
46
|
+
spec.add_dependency "relaton-cli", "~> 1.20.0"
|
47
47
|
spec.add_dependency "relaton-iev", "~> 1.2.0"
|
48
48
|
spec.add_dependency "unicode2latex", "~> 0.0.1"
|
49
49
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-standoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.10.
|
4
|
+
version: 2.10.3
|
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: addressable
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 2.12.
|
75
|
+
version: 2.12.4
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 2.12.
|
82
|
+
version: 2.12.4
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: metanorma
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,14 +212,14 @@ dependencies:
|
|
212
212
|
requirements:
|
213
213
|
- - "~>"
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version: 1.
|
215
|
+
version: 1.20.0
|
216
216
|
type: :runtime
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
220
|
- - "~>"
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version: 1.
|
222
|
+
version: 1.20.0
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: relaton-iev
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|