cbeta 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/canons.csv +23 -0
- data/lib/cbeta.rb +26 -0
- data/lib/cbeta/gaiji.rb +3 -1
- data/lib/cbeta/p5a_to_html.rb +13 -9
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6092b53e41c7b3b5349f07190489bae0c46d97ec
|
4
|
+
data.tar.gz: b55ea721ae79a3f5216a83948852ef77af6b8ebf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6464971bec0dae90891e6959b390bea68b263181b8e7289349e9e8cbdb013912a3788996ef33e3f05df61d8464329e41ea7f6e75136339f22ae86fdcca6e649c
|
7
|
+
data.tar.gz: ce8f46383e2616d971b2127854115e75b78a672acc509c700d78c45ca40209e3b66893220881f56fc1914f0316968b24551f9c506109b27e1e2128de5723ba91
|
data/lib/canons.csv
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
id,chinese_name,english_name,nickname,abbreviation,editor,publish_place,publish_date
|
2
|
+
T,大正新脩大藏經,Taishō Tripiṭaka,大正藏,【大】,大正新修大藏經刊行會,東京: 大藏出版株式會社,1988
|
3
|
+
X,卍新纂大日本續藏經,Manji Shinsan Dainihon Zokuzōkyō,新纂卍續藏,【卍續】,河村照孝,東京: 株式會社國書刊行會,1975-1989
|
4
|
+
R,卍續藏經-新文豐版,Manji Zokuzōkyō - Xinwenfeng Edition,卍續藏,,,京都.藏經書院 原刊 / 台北: 新文豐,1994
|
5
|
+
Z,卍大日本續藏經,Manji Dainihon Zokuzōkyō,,,,京都: 藏經書院,1905-1912
|
6
|
+
J,嘉興大藏經-新文豐版,Jiaxing Canon - Xinwenfeng Edition,嘉興藏,【嘉興】,,徑山藏版版藏 / 台北: 新文豐,1987
|
7
|
+
H,正史佛教資料類編,Passages concerning Buddhism from the Official Histories,正史,【正史】,杜斗城,蘭州: 甘肅文化出版社,2006
|
8
|
+
W,藏外佛教文獻,Buddhist Texts not contained in the Tripiṭaka,藏外,【藏外】,方廣錩,北京: 宗教文化出版社,1995-2003
|
9
|
+
I,北朝佛教石刻拓片百品,Selections of Buddhist Stone Rubbings from the Northern Dynasties,佛拓,,顏娟英,台北: 中央研究院歷史語言研究所,2008
|
10
|
+
F,房山石經,Fangshan shijing,,【房山】,中國佛教圖書文物館,北京: 華夏出版社,2000
|
11
|
+
A,趙城金藏,Jin Edition of the Canon,趙城藏,【金藏】,,北京: 北京圖書館出版社,2008
|
12
|
+
K,高麗大藏經,Tripiṭaka Koreana,高麗藏,【麗】,,高麗大藏經完刊推進委員會 原刊 / 台北: 新文豐,1982
|
13
|
+
Q,磧砂大藏經-新文豐版,Qisha Edition of the Canon - Xinwenfeng Edition,磧砂藏,【磧砂】,延聖院大藏經局,台北: 新文豐,1987
|
14
|
+
S,宋藏遺珍-新文豐版,Songzang yizhen - Xinwenfeng Edition,,【宋遺】,範成,台北: 新文豐,1978
|
15
|
+
U,洪武南藏,Southern Hongwu Edition of the Canon,初刻南藏,【洪武】,,成都: 四川省佛教協會,1999
|
16
|
+
N,永樂南藏,Southern Yongle Edition of the Canon,再刻南藏,【南藏】,,,
|
17
|
+
P,永樂北藏,Northern Yongle Edition of the Canon,北藏,【北藏】,永樂北藏整理委員會,北京: 線裝書局,2000
|
18
|
+
L,乾隆大藏經-新文豐版,Qianlong Edition of the Canon - Xinwenfeng Edition,清藏、龍藏、乾隆藏,【龍】,,台北: 新文豐,1991
|
19
|
+
M,卍正藏經-新文豐版,Manji Daizōkyō - Xinwenfeng Edition,卍正藏,【卍正】,,京都.藏經書院 原刊 / 台北: 新文豐,1980
|
20
|
+
G,佛教大藏經,Fojiao Canon,,【佛教】,佛教書局,台北: 佛教書局,1978
|
21
|
+
B,大藏經補編,Supplement to the Dazangjing,,【補編】,藍吉富,台北: 華宇出版社,1985
|
22
|
+
C,中華大藏經-中華書局版,Zhonghua Canon - Zhonghua shuju Edition,中華藏,【中華】,中華大藏經編輯局,北京: 中華書局,1984-1997
|
23
|
+
,中研院史語所的修訂用字,,,【史】,,,
|
data/lib/cbeta.rb
CHANGED
@@ -3,7 +3,33 @@
|
|
3
3
|
#
|
4
4
|
# 存取 CBETA 資源的 Ruby 工具
|
5
5
|
|
6
|
+
require 'csv'
|
7
|
+
|
6
8
|
class CBETA
|
9
|
+
# 載入藏經資料
|
10
|
+
def initialize()
|
11
|
+
fn = File.join(File.dirname(__FILE__), 'canons.csv')
|
12
|
+
text = File.read(fn)
|
13
|
+
@canon_abbr = {}
|
14
|
+
CSV.parse(text, :headers => true) do |row|
|
15
|
+
next if row['abbreviation'].nil?
|
16
|
+
next if row['abbreviation'].empty?
|
17
|
+
@canon_abbr[row['id']] = row['abbreviation']
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# 取得藏經略符
|
22
|
+
#
|
23
|
+
# @param id [String] 藏經 ID, 例如大正藏的 ID 是 "T"
|
24
|
+
# @return [String] 藏經略符,例如 "【大】"
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# cbeta = CBETA.new
|
28
|
+
# cbeta.get_canon_abbr('T') # return "【大】"
|
29
|
+
def get_canon_abbr(id)
|
30
|
+
return nil unless @canon_abbr.key? id
|
31
|
+
@canon_abbr[id]
|
32
|
+
end
|
7
33
|
end
|
8
34
|
require 'cbeta/gaiji'
|
9
35
|
require 'cbeta/bm_to_text'
|
data/lib/cbeta/gaiji.rb
CHANGED
@@ -8,7 +8,7 @@ class CBETA::Gaiji
|
|
8
8
|
@gaijis = JSON.parse(File.read(fn))
|
9
9
|
end
|
10
10
|
|
11
|
-
#
|
11
|
+
# 取得缺字資訊
|
12
12
|
#
|
13
13
|
# @param cb [String] 缺字 CB 碼
|
14
14
|
# @return [Hash{String => Strin, Array<String>}] 缺字資訊
|
@@ -31,6 +31,8 @@ class CBETA::Gaiji
|
|
31
31
|
|
32
32
|
# 傳入缺字 CB 碼,傳回注音 array
|
33
33
|
#
|
34
|
+
# 資料來源:CBETA 於 2015.5.15 提供的 MS Access 缺字資料庫
|
35
|
+
#
|
34
36
|
# @param cb [String] 缺字 CB 碼
|
35
37
|
# @return [Array<String>]
|
36
38
|
#
|
data/lib/cbeta/p5a_to_html.rb
CHANGED
@@ -11,7 +11,7 @@ PASS=['back', 'teiHeader']
|
|
11
11
|
# 某版用字缺的符號
|
12
12
|
MISSING = '-'
|
13
13
|
|
14
|
-
#
|
14
|
+
# Convert CBETA XML P5a to HTML
|
15
15
|
#
|
16
16
|
# CBETA XML P5a 可由此取得: https://github.com/cbeta-git/xml-p5a
|
17
17
|
#
|
@@ -23,6 +23,7 @@ class CBETA::P5aToHTML
|
|
23
23
|
def initialize(xml_root, out_root)
|
24
24
|
@xml_root = xml_root
|
25
25
|
@out_root = out_root
|
26
|
+
@cbeta = CBETA.new
|
26
27
|
@gaijis = CBETA::Gaiji.new
|
27
28
|
|
28
29
|
# 載入 unicode 1.1 字集列表
|
@@ -121,7 +122,7 @@ class CBETA::P5aToHTML
|
|
121
122
|
cell['rowspan'] = e['rows'] if e.key? 'rows'
|
122
123
|
cell['colspan'] = e['cols'] if e.key? 'cols'
|
123
124
|
cell.inner_html = traverse(e)
|
124
|
-
cell
|
125
|
+
to_html(cell)
|
125
126
|
end
|
126
127
|
|
127
128
|
def handle_collection(c)
|
@@ -288,7 +289,7 @@ class CBETA::P5aToHTML
|
|
288
289
|
end
|
289
290
|
@first_l = false
|
290
291
|
end
|
291
|
-
r = cell
|
292
|
+
r = to_html(cell)
|
292
293
|
|
293
294
|
unless @lg_row_open
|
294
295
|
r = "\n<div class='lg-row'>" + r
|
@@ -356,7 +357,7 @@ class CBETA::P5aToHTML
|
|
356
357
|
node.inner_html += '</div><!-- end of lg -->'
|
357
358
|
@lg_row_open = false
|
358
359
|
end
|
359
|
-
r = "\n" + node
|
360
|
+
r = "\n" + to_html(node)
|
360
361
|
end
|
361
362
|
r
|
362
363
|
end
|
@@ -597,11 +598,10 @@ eos
|
|
597
598
|
|
598
599
|
def handle_vol(vol)
|
599
600
|
puts "convert volumn: #{vol}"
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
end
|
601
|
+
|
602
|
+
@orig = @cbeta.get_canon_abbr(vol[0])
|
603
|
+
abort "未處理底本" if @orig.nil?
|
604
|
+
|
605
605
|
@vol = vol
|
606
606
|
@series = vol[0]
|
607
607
|
@out_folder = File.join(@out_root, @series, vol)
|
@@ -700,6 +700,10 @@ eos
|
|
700
700
|
text
|
701
701
|
end
|
702
702
|
|
703
|
+
def to_html(e)
|
704
|
+
e.to_xml(encoding: 'UTF-8', :save_with => Nokogiri::XML::Node::SaveOptions::AS_XML)
|
705
|
+
end
|
706
|
+
|
703
707
|
def traverse(e, mode='html')
|
704
708
|
r = ''
|
705
709
|
e.children.each { |c|
|
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: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ray Chou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby gem for use Chinese Buddhist Text resources made by CBETA (http://www.cbeta.org).
|
14
14
|
email: zhoubx@gmail.com
|
@@ -16,6 +16,7 @@ executables: []
|
|
16
16
|
extensions: []
|
17
17
|
extra_rdoc_files: []
|
18
18
|
files:
|
19
|
+
- lib/canons.csv
|
19
20
|
- lib/cbeta.rb
|
20
21
|
- lib/cbeta/bm_to_text.rb
|
21
22
|
- lib/cbeta/gaiji.json
|
@@ -48,3 +49,4 @@ signing_key:
|
|
48
49
|
specification_version: 4
|
49
50
|
summary: CBETA Tools
|
50
51
|
test_files: []
|
52
|
+
has_rdoc:
|