cbeta 3.6.9 → 3.6.10
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/cbeta/p5a_checker.rb +16 -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: ebf58473ff4b9b6f641d65bad3140a19c47f3d43b03815d7b2d42f4310317bba
|
4
|
+
data.tar.gz: 7f73dcd9bacbfa3e2dd5b0213fd71cfdbc571a103aa5e5fd266828c5051a633f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7591d299c5be9d0d15918d48d80e7c10414d3a74b38140202bda3e8040e3864a11e621884844f604b278f8564a00f94a0bdf50cabed12e9b96672f64462b4465
|
7
|
+
data.tar.gz: ffce9b2206ebe86b8dc60f25cb02730e6e905c4408025883601aeb8c56733076277dc553509a9af3b3510de26255cacf990c022cf39508a5e5dee28aeb9b0f6c
|
data/lib/cbeta/p5a_checker.rb
CHANGED
@@ -12,12 +12,14 @@ require_relative 'cbeta_share'
|
|
12
12
|
# * [E07] lem 缺少 wit 屬性
|
13
13
|
# * [E08] item 下有多個 list
|
14
14
|
# * [E09] table cols 屬性值錯誤
|
15
|
-
# * [E10] 不應直接出現在 list 下
|
15
|
+
# * [E10] p 不應直接出現在 list 下
|
16
16
|
#
|
17
17
|
# * 警告類型
|
18
18
|
# * [W01] 夾注包夾注
|
19
19
|
# * [W02] 出現罕用字元
|
20
|
+
# * [W03] 不應出現 TAB 字元
|
20
21
|
class CBETA::P5aChecker
|
22
|
+
ALLOW_TAB = %w[change]
|
21
23
|
|
22
24
|
# @param xml_root [String] 來源 CBETA XML P5a 路徑
|
23
25
|
# @param figures [String] 插圖 路徑 (可由 https://github.com/cbeta-git/CBR2X-figures 取得)
|
@@ -85,9 +87,11 @@ class CBETA::P5aChecker
|
|
85
87
|
|
86
88
|
def chk_text(node)
|
87
89
|
return if node.text.strip.empty?
|
90
|
+
|
88
91
|
if node.parent.name == 'div'
|
89
92
|
error "[E02] 文字直接出現在 div 下, text: #{node.text.inspect}"
|
90
93
|
end
|
94
|
+
|
91
95
|
if node.text =~ /(\$|\{|\})/
|
92
96
|
char = $1
|
93
97
|
|
@@ -99,6 +103,12 @@ class CBETA::P5aChecker
|
|
99
103
|
|
100
104
|
error "[W02] 出現罕用字元: char: #{char}"
|
101
105
|
end
|
106
|
+
|
107
|
+
if node.text.include?("\t")
|
108
|
+
unless ALLOW_TAB.include?(node.parent.name)
|
109
|
+
error "[W03] <#{node.parent.name}> 下不應出現 TAB 字元"
|
110
|
+
end
|
111
|
+
end
|
102
112
|
end
|
103
113
|
|
104
114
|
def display_errors
|
@@ -177,7 +187,11 @@ class CBETA::P5aChecker
|
|
177
187
|
end
|
178
188
|
|
179
189
|
def e_note(e)
|
180
|
-
|
190
|
+
unless e['place'] == 'inline'
|
191
|
+
traverse(e)
|
192
|
+
return
|
193
|
+
end
|
194
|
+
|
181
195
|
if @element_stack.include?('inline_note')
|
182
196
|
error "[W01] 夾注包夾注"
|
183
197
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cbeta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.6.
|
4
|
+
version: 3.6.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ray Chou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: unihan2
|