cbeta 3.6.9 → 3.6.11
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 +22 -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: f950383cda8efb7eba99fde80bdfe9e0a8172597af040817d201879c730c8407
|
4
|
+
data.tar.gz: 51a2eb7c7f1b1ff01f08d0c198954f943e48fe2a1b32fcfb71d8cea82adf6508
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef7a9a6e3800c6fa9a71f334a7079eb8ef15a13ec30a9422881e6e332435e044f1c6f3efb1ccce4fb2d490ccef42faa58214ad039888786cc322def4a77b81f0
|
7
|
+
data.tar.gz: a0e37490672b664698becfcfbaae23bcd11f9c5579ecb2dbac7dff1d81a5db2eafc9f1fca021415e9ff9903690c5716aa5fa599bd6c1a266910854db1e7d0b3d
|
data/lib/cbeta/p5a_checker.rb
CHANGED
@@ -12,12 +12,15 @@ 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
|
+
# * [E11] note 直接出現在 div 下
|
16
17
|
#
|
17
18
|
# * 警告類型
|
18
19
|
# * [W01] 夾注包夾注
|
19
20
|
# * [W02] 出現罕用字元
|
21
|
+
# * [W03] 不應出現 TAB 字元
|
20
22
|
class CBETA::P5aChecker
|
23
|
+
ALLOW_TAB = %w[change]
|
21
24
|
|
22
25
|
# @param xml_root [String] 來源 CBETA XML P5a 路徑
|
23
26
|
# @param figures [String] 插圖 路徑 (可由 https://github.com/cbeta-git/CBR2X-figures 取得)
|
@@ -85,9 +88,11 @@ class CBETA::P5aChecker
|
|
85
88
|
|
86
89
|
def chk_text(node)
|
87
90
|
return if node.text.strip.empty?
|
91
|
+
|
88
92
|
if node.parent.name == 'div'
|
89
93
|
error "[E02] 文字直接出現在 div 下, text: #{node.text.inspect}"
|
90
94
|
end
|
95
|
+
|
91
96
|
if node.text =~ /(\$|\{|\})/
|
92
97
|
char = $1
|
93
98
|
|
@@ -99,6 +104,12 @@ class CBETA::P5aChecker
|
|
99
104
|
|
100
105
|
error "[W02] 出現罕用字元: char: #{char}"
|
101
106
|
end
|
107
|
+
|
108
|
+
if node.text.include?("\t")
|
109
|
+
unless ALLOW_TAB.include?(node.parent.name)
|
110
|
+
error "[W03] <#{node.parent.name}> 下不應出現 TAB 字元"
|
111
|
+
end
|
112
|
+
end
|
102
113
|
end
|
103
114
|
|
104
115
|
def display_errors
|
@@ -177,7 +188,16 @@ class CBETA::P5aChecker
|
|
177
188
|
end
|
178
189
|
|
179
190
|
def e_note(e)
|
180
|
-
|
191
|
+
if e.parent.name == 'div'
|
192
|
+
error "[E11] note 直接出現在 div 下"
|
193
|
+
end
|
194
|
+
|
195
|
+
# * [E11] note 直接出現在 div 下
|
196
|
+
unless e['place'] == 'inline'
|
197
|
+
traverse(e)
|
198
|
+
return
|
199
|
+
end
|
200
|
+
|
181
201
|
if @element_stack.include?('inline_note')
|
182
202
|
error "[W01] 夾注包夾注"
|
183
203
|
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.11
|
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-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: unihan2
|