metanorma-utils 1.2.6 → 1.2.9
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/.github/workflows/rake.yml +3 -20
- data/lib/utils/image.rb +4 -2
- data/lib/utils/log.rb +10 -4
- data/lib/utils/main.rb +29 -7
- data/lib/utils/version.rb +1 -1
- data/metanorma-utils.gemspec +6 -6
- data/spec/utils_spec.rb +17 -6
- metadata +28 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d2ac1711efc0b167d21909878face2dd4787e79d9aa5141d58908c1a8904056
|
4
|
+
data.tar.gz: e632e154726172f7ce1d09b0450d9b0ad70274936070336e01d05baff77e21ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc3c1a6c0482904f4bc9a5b94a1c8ac42e4da45961c7fc6bb4ccbe527ef51cda959707f4f4906ed6042cf30e9c1407eec071c04aa57b551a0c38a86a791a3c46
|
7
|
+
data.tar.gz: dc015326b8d670cddc54488b452f48c7cf922a3677520d579798c8b56497957e3d934222f3f065a4600ea7bc0dc860ae6a8fd3fd5b443f38f482a5e84a8ce6ed
|
data/.github/workflows/rake.yml
CHANGED
@@ -10,23 +10,6 @@ on:
|
|
10
10
|
|
11
11
|
jobs:
|
12
12
|
rake:
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
strategy:
|
17
|
-
fail-fast: false
|
18
|
-
matrix:
|
19
|
-
ruby: [ '3.0', '2.7', '2.6', '2.5' ]
|
20
|
-
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
|
-
experimental: [ false ]
|
22
|
-
steps:
|
23
|
-
- uses: actions/checkout@v2
|
24
|
-
with:
|
25
|
-
submodules: true
|
26
|
-
|
27
|
-
- uses: ruby/setup-ruby@v1
|
28
|
-
with:
|
29
|
-
ruby-version: ${{ matrix.ruby }}
|
30
|
-
bundler-cache: true
|
31
|
-
|
32
|
-
- run: bundle exec rake
|
13
|
+
uses: metanorma/metanorma-build-scripts/.github/workflows/generic-rake.yml@main
|
14
|
+
secrets:
|
15
|
+
pat_token: ${{ secrets.METANORMA_CI_PAT_TOKEN }}
|
data/lib/utils/image.rb
CHANGED
@@ -115,8 +115,10 @@ module Metanorma
|
|
115
115
|
svg.xpath("//m:style", "m" => SVG_NS).each do |s|
|
116
116
|
c = s.children.to_xml
|
117
117
|
ids.each do |i|
|
118
|
-
c = c.gsub(%r[##{i}\b],
|
119
|
-
|
118
|
+
c = c.gsub(%r[##{i}\b],
|
119
|
+
sprintf("#%<id>s_%<idx>09d", id: i, idx: idx))
|
120
|
+
.gsub(%r(\[id\s*=\s*['"]?#{i}['"]?\]),
|
121
|
+
sprintf("[id='%<id>s_%<idx>09d']", id: i, idx: idx))
|
120
122
|
end
|
121
123
|
s.children = c
|
122
124
|
end
|
data/lib/utils/log.rb
CHANGED
@@ -29,7 +29,7 @@ module Metanorma
|
|
29
29
|
(!node.respond_to?(:level) || node.level.positive?) &&
|
30
30
|
(!node.respond_to?(:context) || node.context != :section)
|
31
31
|
node = node.parent
|
32
|
-
return "Section: #{node.title}" if node
|
32
|
+
return "Section: #{node.title}" if node.respond_to?(:context) &&
|
33
33
|
node&.context == :section
|
34
34
|
end
|
35
35
|
"??"
|
@@ -50,13 +50,19 @@ module Metanorma
|
|
50
50
|
@log.each_key do |key|
|
51
51
|
f.puts "\n\n== #{key}\n\n"
|
52
52
|
@log[key].sort_by { |a| a[:location] }.each do |n|
|
53
|
-
|
54
|
-
f.puts "#{loc}#{n[:message]}"
|
55
|
-
n[:context]&.split(/\n/)&.first(5)&.each { |l| f.puts "\t#{l}" }
|
53
|
+
write1(f, n)
|
56
54
|
end
|
57
55
|
end
|
58
56
|
end
|
59
57
|
end
|
58
|
+
|
59
|
+
def write1(file, entry)
|
60
|
+
loc = entry[:location] ? "(#{entry[:location]}): " : ""
|
61
|
+
file.puts "#{loc}#{entry[:message]}"
|
62
|
+
entry[:context]&.split(/\n/)&.first(5)&.each do |l|
|
63
|
+
file.puts "\t#{l}"
|
64
|
+
end
|
65
|
+
end
|
60
66
|
end
|
61
67
|
end
|
62
68
|
end
|
data/lib/utils/main.rb
CHANGED
@@ -50,9 +50,13 @@ module Metanorma
|
|
50
50
|
|
51
51
|
# TODO needs internationalisation
|
52
52
|
def smartformat(text)
|
53
|
-
|
54
|
-
.
|
55
|
-
|
53
|
+
HTMLEntities.new.encode(
|
54
|
+
HTMLEntities.new.decode(
|
55
|
+
text.gsub(/ --? /, " — ")
|
56
|
+
.gsub(/--/, "—"),
|
57
|
+
)
|
58
|
+
.smart_format, :basic
|
59
|
+
)
|
56
60
|
end
|
57
61
|
|
58
62
|
def endash_date(elem)
|
@@ -68,10 +72,8 @@ module Metanorma
|
|
68
72
|
def set_nested_value(hash, keys, new_val)
|
69
73
|
key = keys[0]
|
70
74
|
if keys.length == 1
|
71
|
-
hash[key] = if hash[key].is_a?(Array)
|
72
|
-
|
73
|
-
else
|
74
|
-
hash[key].nil? ? new_val : [hash[key], new_val]
|
75
|
+
hash[key] = if hash[key].is_a?(Array) then (hash[key] << new_val)
|
76
|
+
else hash[key].nil? ? new_val : [hash[key], new_val]
|
75
77
|
end
|
76
78
|
elsif hash[key].is_a?(Array)
|
77
79
|
hash[key][-1] = {} if !hash[key].empty? && hash[key][-1].nil?
|
@@ -118,6 +120,26 @@ module Metanorma
|
|
118
120
|
end
|
119
121
|
end
|
120
122
|
|
123
|
+
def default_script(lang)
|
124
|
+
case lang
|
125
|
+
when "ar", "fa" then "Arab"
|
126
|
+
when "ur" then "Aran"
|
127
|
+
when "ru", "bg" then "Cyrl"
|
128
|
+
when "hi" then "Deva"
|
129
|
+
when "el" then "Grek"
|
130
|
+
when "zh" then "Hans"
|
131
|
+
when "ko" then "Kore"
|
132
|
+
when "he" then "Hebr"
|
133
|
+
when "ja" then "Jpan"
|
134
|
+
else
|
135
|
+
"Latn"
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
def rtl_script?(script)
|
140
|
+
%w(Arab Aran Hebr).include? script
|
141
|
+
end
|
142
|
+
|
121
143
|
# not currently used
|
122
144
|
def flatten_rawtext_lines(node, result)
|
123
145
|
node.lines.each do |x|
|
data/lib/utils/version.rb
CHANGED
data/metanorma-utils.gemspec
CHANGED
@@ -24,25 +24,25 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.test_files = `git ls-files -- {spec}/*`.split("\n")
|
25
25
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
|
26
26
|
|
27
|
-
spec.add_dependency "asciidoctor", "
|
27
|
+
spec.add_dependency "asciidoctor", ">= 2"
|
28
28
|
spec.add_dependency "concurrent-ruby"
|
29
|
+
spec.add_dependency "htmlentities", "~> 4.3.4"
|
29
30
|
spec.add_dependency "marcel", "~> 1.0.0"
|
30
31
|
spec.add_dependency "mime-types"
|
31
|
-
spec.add_dependency "nokogiri", "
|
32
|
+
spec.add_dependency "nokogiri", ">= 1.11"
|
32
33
|
spec.add_dependency "sterile", "~> 1.0.14"
|
33
34
|
spec.add_dependency "uuidtools"
|
34
|
-
spec.add_dependency "htmlentities", "~> 4.3.4"
|
35
35
|
|
36
|
-
spec.add_development_dependency "
|
36
|
+
spec.add_development_dependency "debug"
|
37
37
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
38
38
|
spec.add_development_dependency "guard", "~> 2.14"
|
39
39
|
spec.add_development_dependency "guard-rspec", "~> 4.7"
|
40
|
-
spec.add_development_dependency "metanorma-standoc", "~>
|
40
|
+
spec.add_development_dependency "metanorma-standoc", "~> 2.0"
|
41
41
|
spec.add_development_dependency "rake", "~> 13.0"
|
42
42
|
spec.add_development_dependency "rspec", "~> 3.6"
|
43
43
|
spec.add_development_dependency "rubocop", "~> 1.5.2"
|
44
44
|
spec.add_development_dependency "simplecov", "~> 0.15"
|
45
45
|
spec.add_development_dependency "timecop", "~> 0.9"
|
46
|
-
spec.add_development_dependency "vcr", "~>
|
46
|
+
spec.add_development_dependency "vcr", "~> 6.1.0"
|
47
47
|
spec.add_development_dependency "webmock"
|
48
48
|
end
|
data/spec/utils_spec.rb
CHANGED
@@ -7,8 +7,10 @@ RSpec.describe Metanorma::Utils do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
it "capitalises" do
|
10
|
-
expect(Metanorma::Utils.strict_capitalize_phrase("ABC def gHI"))
|
11
|
-
|
10
|
+
expect(Metanorma::Utils.strict_capitalize_phrase("ABC def gHI"))
|
11
|
+
.to eq "ABC Def GHI"
|
12
|
+
expect(Metanorma::Utils.strict_capitalize_first("aBC def gHI"))
|
13
|
+
.to eq "ABC def gHI"
|
12
14
|
end
|
13
15
|
|
14
16
|
it "converts OS-specific external path" do
|
@@ -29,12 +31,13 @@ RSpec.describe Metanorma::Utils do
|
|
29
31
|
end
|
30
32
|
|
31
33
|
it "sets metanorma IDs if not provided" do
|
34
|
+
uuid = /^_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
|
32
35
|
expect(Metanorma::Utils.anchor_or_uuid)
|
33
|
-
.to match (
|
36
|
+
.to match (uuid)
|
34
37
|
expect(Metanorma::Utils.anchor_or_uuid(Dummy.new(nil)))
|
35
|
-
.to match (
|
38
|
+
.to match (uuid)
|
36
39
|
expect(Metanorma::Utils.anchor_or_uuid(Dummy.new("")))
|
37
|
-
.to match (
|
40
|
+
.to match (uuid)
|
38
41
|
expect(Metanorma::Utils.anchor_or_uuid(Dummy.new("A"))).to eq "A"
|
39
42
|
end
|
40
43
|
|
@@ -55,7 +58,7 @@ RSpec.describe Metanorma::Utils do
|
|
55
58
|
|
56
59
|
it "applies smart formatting" do
|
57
60
|
expect(Metanorma::Utils.smartformat("A - B A -- B A--B '80s '80' <A>"))
|
58
|
-
.to eq "A
|
61
|
+
.to eq "A — B A — B A—B ’80s ‘80’ <A>"
|
59
62
|
end
|
60
63
|
|
61
64
|
it "applies en-dash normalisation" do
|
@@ -98,6 +101,14 @@ RSpec.describe Metanorma::Utils do
|
|
98
101
|
OUTPUT
|
99
102
|
end
|
100
103
|
|
104
|
+
it "maps languages to scripts" do
|
105
|
+
expect(Metanorma::Utils.default_script("hi")).to eq "Deva"
|
106
|
+
expect(Metanorma::Utils.rtl_script?(Metanorma::Utils.default_script("el")))
|
107
|
+
.to eq false
|
108
|
+
expect(Metanorma::Utils.rtl_script?(Metanorma::Utils.default_script("fa")))
|
109
|
+
.to eq true
|
110
|
+
end
|
111
|
+
|
101
112
|
it "rewrites SVGs" do
|
102
113
|
FileUtils.cp("spec/fixtures/action_schemaexpg1.svg",
|
103
114
|
"action_schemaexpg1.svg")
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2
|
19
|
+
version: '2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2
|
26
|
+
version: '2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: concurrent-ruby
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: htmlentities
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 4.3.4
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 4.3.4
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: marcel
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,14 +84,14 @@ dependencies:
|
|
70
84
|
name: nokogiri
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- - "
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '1.11'
|
76
90
|
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- - "
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '1.11'
|
83
97
|
- !ruby/object:Gem::Dependency
|
@@ -109,21 +123,7 @@ dependencies:
|
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 4.3.4
|
118
|
-
type: :runtime
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 4.3.4
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: byebug
|
126
|
+
name: debug
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
@@ -184,14 +184,14 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
187
|
+
version: '2.0'
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
194
|
+
version: '2.0'
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: rake
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -268,14 +268,14 @@ dependencies:
|
|
268
268
|
requirements:
|
269
269
|
- - "~>"
|
270
270
|
- !ruby/object:Gem::Version
|
271
|
-
version:
|
271
|
+
version: 6.1.0
|
272
272
|
type: :development
|
273
273
|
prerelease: false
|
274
274
|
version_requirements: !ruby/object:Gem::Requirement
|
275
275
|
requirements:
|
276
276
|
- - "~>"
|
277
277
|
- !ruby/object:Gem::Version
|
278
|
-
version:
|
278
|
+
version: 6.1.0
|
279
279
|
- !ruby/object:Gem::Dependency
|
280
280
|
name: webmock
|
281
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -339,7 +339,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
339
339
|
- !ruby/object:Gem::Version
|
340
340
|
version: '0'
|
341
341
|
requirements: []
|
342
|
-
rubygems_version: 3.
|
342
|
+
rubygems_version: 3.3.9
|
343
343
|
signing_key:
|
344
344
|
specification_version: 4
|
345
345
|
summary: metanorma-utils
|