跳到內容
返回文庫
返回文庫

顯密文庫

顯密文庫 的 4 篇文章

在沉重的 TEI 與散亂的 HTML 之間:從微讀聖經與莊春江讀經站,聊聊數位佛學的「格式之困」

如果一位開發者同時深入體驗過微讀聖經(wd.bible)與莊春江讀經站(agama.buddhason.org),通常會產生一種極其強烈的反差與震撼。

這種反差並非源自義理或學術價值的高下——恰恰相反,兩者都是各自領域的集大成者。然而,當經文從古老的羊皮紙、貝葉經躍入現代螢幕時,它們背後的數位工程底座與格式標準,卻展現出了截然不同的兩幅時代畫卷。

滑順的現代數位工業:微讀聖經

Section titled “滑順的現代數位工業:微讀聖經”

打開微讀聖經,使用者體驗是現代而流暢的:

  • 譯本對照:無論是和合本、新譯本、當代譯本,還是英文的 ESV、NIV,幾十個版本都能夠實現精準到每一句話的橫向平行並排(Parallel Reading)。
  • 原文拆解:點選任意一節,底層的古希伯來文或古希臘文形態分析一覽無遺;每個詞彙都掛載著對應的 Strong’s 詞彙編號,字義釋讀與字典查詢瞬間完成。
  • 交叉串珠:任意經節下方,都自動交織出一整套跨越數千年的經文互證網絡。

這套系統的強大,並非僅僅歸功於某一個前端介面寫得多漂亮,而是因為它的背後,佇立著一套運作了數十年、甚至上百年的聖經數位化工業標準體系:

  1. 統一引用標準(OSIS):全球採用統一的書卷縮寫(如 gen 創世記、psa 詩篇)與規範路由(gen.1.1)。
  2. 底層流通標準(USFM / OSIS XML):聯合聖經公會(UBS)早在幾十年前就推行了統一標準格式標記。詩體層級縮排(\q1、\q2)、段落(\p)、註腳(\f)全部實現了純語意化標記。
  3. 字詞編碼標準(Strong’s Number):字根編號讓全世界的字典、注釋書、軟體模組可以無縫拼插與重組。

偉大的學術孤島:莊春江讀經站

Section titled “偉大的學術孤島:莊春江讀經站”

轉向另一邊,打開莊春江老師的「阿含讀經站」。

任何對原始佛教稍有了解的人,都會對莊老師肅然起敬。這位學者傾盡畢生心血,完成了北傳四部阿含經與南傳巴利五部尼柯耶的對讀互照,並逐經、逐段、逐字撰寫了詳盡的校勘與英譯比對考證。在莊老師 2025 年 8 月辭世後,家屬更是大公無私地決議以 CC BY-NC-SA 4.0 國際授權條款向全球開放。無論是學術深度還是奉獻精神,這都是現代佛學界一座巍峨的高峰。

然而,一旦拉開程式碼的幕布,你會看到完全不同的另一面:

  • 技術停滯在 Web 早期:全站依然依賴 2000 年代初期的 ExtJS 架構、HTML 表格排版與原生 JavaScript。
  • 缺乏資料與呈現分離:經文釋義與字典連動,是透過手寫內嵌的 <a onMouseover="note(this, 1);">如是我聞</a> 硬生生塞在 HTML 裡的。
  • 排版債纏身:段首縮排靠全形空格,偈頌靠空格硬湊,註釋被做成了偽連結。

莊老師一生學問精深,但在技術實現上,他只能依靠個人手作的方式,將浩瀚的學術成果一點一點「砌」進靜態的 HTML 網頁裡。資料被死死地鎖在了視覺呈現層之中。

後人若想提取這份極其珍貴的學術成果做二次利用(例如現代排版、大字適老化、App 研讀、甚至餵給大型語言模型做高品質訓練),必須先經歷一場極其痛苦、極易出錯的逆向資料清理與正規表達式刮骨。

二、 核心痛點:數位佛學斷裂的「格式光譜」

Section titled “二、 核心痛點:數位佛學斷裂的「格式光譜」”

為什麼在數位技術高度發達的今天,佛學界卻很難擁有類似微讀聖經那樣流暢的協作生態?

根本原因在於,漢語佛典在數位化過程中,出現了一段巨大的「生態斷層」。現有的格式光譜兩極分化,缺乏中間地帶:

[ 沉重的學術殿堂 ] -------------------- ( 巨大的斷層空白 ) -------------------- [ 原始的民間叢林 ]
TEI P5 XML 散亂的 HTML / Word 貼上
(CBETA / SAT) (各大佛學網、部落格、排版債)

在數位學術原典領域,佛學界其實有頂級的成果——CBETA(中華電子佛典協會)。CBETA 的底層完全採用國際人文學術文本編碼標準 TEI P5 XML,東大 SAT、藏譯英 84000 也都在向 TEI 看齊。

但 TEI 的問題在於太沉重了。它是專門為嚴苛的版本學校勘設計的,標籤層級極其複雜、體系龐大。

  • 一般修行者、現代佛教學者、開示記錄者,絕對不可能手寫 TEI XML。
  • 一般工程師面對龐雜的 XML 樹,解析和維護的門檻也極高。
  • 它適合供奉在學術象牙塔中作為大藏經底本,卻極難在民間的日常流通與快速寫作中普及。

2. 極其散亂的平地:手寫 HTML 與 Word 貼上

Section titled “2. 極其散亂的平地:手寫 HTML 與 Word 貼上”

而在象牙塔之外,全網流通的絕大部分佛學文獻(各大講堂網站、論壇、法師開示、白話注疏),依然停留在極其原始的狀態:

  • 從 Word 裡複製貼上,段首硬塞兩個全形空格(U+3000);
  • 偈頌為了置中,前面敲四個或八個空格;
  • 夾註、校勘記要麼用括號硬塞在正文裡,要麼做成容易失效的頁內跳轉。

這就是我們在文庫內部經常提到的病症:「呈現層冒充語意層」。排版者用視覺字元硬畫版面,卻沒有宣告文本的本質結構。一旦到了行動裝置、螢幕寬度改變、或者啟用大字適老化排版時,這些硬敲的空格就會立即崩壞、斷行破碎。

3. 被遺忘的中間態:輕量級語意標準(Markdown Profile)

Section titled “3. 被遺忘的中間態:輕量級語意標準(Markdown Profile)”

聖經界有介於純文字與學術程式碼之間的 USFM;現代軟體工程有介於富文字與複雜排版之間的 Markdown。

然而,數位佛學界偏偏缺乏一套介於「過於沉重的學院派 TEI」與「散亂手寫 HTML」之間的現代輕量級語意標準(A Buddhist Markdown Profile)。

我們需要這樣一種標準:

  • 門檻足夠低:它是純文字的,任何人用記事本、VS Code 或 Obsidian 就能輕鬆閱讀與撰寫;
  • 具備佛典語意:
    • 在 Frontmatter 中規範書目詮釋資料(經號、異譯本、作者/譯者、大正藏冊卷行碼);
    • 擁有類似 \q1 \q2 的偈頌區塊語意標記,不再靠敲空格對齊;
    • 擁有規範的校勘記與詞條關聯語法(如 <lem> 底本與 <rdg> 異文的輕量對應);
  • 具備無損轉換能力:它作為「單一語意真源」,能被指令碼一鍵編譯為供前端渲染的 HTML,能匯出為適合行動閱讀的精美 EPUB,也能無損升格為 CBETA 相容的 TEI XML。

在維護顯密文庫的 12.7 萬篇文獻時,我們對這種格式斷層有著切膚之痛。

顯密文庫擁有的核心資產,不是古代大藏經(那是 CBETA 的高山,無需重複造輪子),而是海量的現代白話佛學文獻(近代高僧開示、白話經釋、學術講記、修行開示)。這部分文獻在全網體量龐大,卻也是「排版債」的重災區。為了在自研的適老化主題(starlight-theme-large-print)中讓年長讀者能舒適地讀大字,我們花費了巨大的精力去清理那些歷史遺留下來的硬空格疊加穿幫與偈頌錯位。

標準從來不是靠關起門來開研討會就能推廣開的,它必須跟著「資料重力」與「實用工具」走:

  1. 先醫自己:我們正在顯密內部提煉這套面向佛學白話文獻的 Markdown Profile 規範,先把庫裡累積的縮排債、偈頌債與校勘注債務徹底消化乾淨;
  2. 再求普惠:當這套規範在生產環境打磨成熟後,我們計劃將這套 Spec 規範文件、語法檢查器(Linter),以及轉出為 TEI/EPUB 的開源轉換工具鏈發布出來。

佛教文獻數位化的最終目的,是讓歷代先賢與善知識的智慧能夠跨越時空、輕盈地流淌在每一個人的掌心。

我們期待著這樣一天的到來:當未來的學者與技術人想要整理一部經釋時,他們既不需要去啃浩繁晦澀的 TEI XML,也不必再陷於泥潭般的手工 HTML 之中。拿起純文字,法音自流轉。

顯密文庫部落格,開張了

文庫新版上線半個多月,我們終於把部落格搭起來了。

這裡主要寫三類內容:站點公告(新功能、新單元、維護通知)、站點故事(文庫的由來、那些頁面上看不見的取捨)、還有技術筆記(為了讓佛經在這個時代讀起來更舒服,我們做了什麼)。

為什麼是部落格,而不是公告欄

Section titled “為什麼是部落格,而不是公告欄”

文庫本身是一個靜態網站——十二萬篇文獻,全部以靜態頁面分發,快、穩、幾乎不可能被攻破。但靜態的另一面是「唯讀」:我們希望有一個地方可以坐下來,像朋友一樣把事情講清楚。部落格是這個角色:它屬於文庫,又可以有一點自己的呼吸。

不打算日更。有話則長,無話則短。每一篇都會認真寫,因為我們預設讀它的人,和讀文庫正文的人是同一批——時間寶貴,不浪費。

部落格與文庫同構:簡體在 xianmi.co/blog/,繁體在 xianmi.co/zh-tw/blog/。繁體稿由 AI 翻譯產出、再經人工校訂(用詞貼合台灣讀者的語感);繁體讀者如果發現哪裡不夠道地,歡迎透過文庫的勘誤表單告訴我們——那一套機制對部落格同樣有效。

第一篇真正的文章已經在路上了。先到這裡,願法音長存。

「願佛法永駐世間」:一個頁面背後的考量

最近文庫上線了一個新頁面,入口藏在頁腳的一行小字裡:「願佛法永駐世間」。

有讀者問:一個佛經文庫,為什麼花篇幅談「存續」?這篇文章把事情講完整。

一個網站的壽命,取決於三樣東西:網域名稱、伺服器、資料。網域名稱我們已繳納多年費用;伺服器放在 Cloudflare 上——根據公開統計,全球約四分之一的網站跑在它上面,這家公司本身關停的機率,比我們關站的機率低得多;資料則以開源格式分散存放,文本部分是純 Markdown,放在公開的程式碼倉庫裡。

**任何一環出問題,剩下的人都能把站重新搭起來。**這是靜態網站架構自帶的韌性,不是我們特別厲害。

CC0:把「傳世」這件事交給所有人

Section titled “CC0:把「傳世」這件事交給所有人”

更重要的決定是:全部文本以 CC0 協議發布,也就是公有領域貢獻——任何人都可以複製、再發布、再編排,不需要問我們。

佛教文獻的生命力,從來不在於某一家網站。敦煌的抄經生在洞窟裡抄,歷代的刻工在木板上刻,今天我們在伺服器上存——形式一直在變,抄下來、傳下去這件事本身沒變。CC0 是我們對這條傳統的回應:把現代的這一份,也交給後來者。

「永駐」頁上還引了《無量壽經》的筆法——「特留此經,止住百歲」。我們不承諾永遠,那是妄語;但我們認真發願,並且把能做的事都做了。

歡迎去頁腳點那一行字看看。

為年長讀者做的閱讀控制項:字級、行距與紙張色

文庫的讀者裡,有相當一部分是年長法師與居士。預設的網頁字級(通常 16px、行高 1.5)對他們並不友善。這一篇記錄我們為「讀得舒服」做的控制項,以及背後的取捨。

頁首的「排版」選單裡,正文字級有五段:14 / 15.5 / 17 / 19 / 22 像素。

曾考慮過滑桿無段調整,最後放棄了:分段式的好處是每一段的行高都能單獨調校——字級越小行距越鬆(14px 配 2.1),字級越大行距越緊(22px 配 1.9)。無段調整只能套一條公式,五段是五條人工校過的曲線。年長讀者要的是「清楚」,不是「自由」。

行距三檔(0.9× / 1× / 1.1×)疊加在基準上;「外觀」選單裡另有十四種紙張色——米黃、淺綠、淡褐,直到為夜讀準備的暖黑。

紙張色不只是換背景圖:整套介面的前景/背景對比度跟著重算,保證任何一段都落在可讀的對比度區間內。選擇存放在讀者的瀏覽器本機,我們不追蹤、不畫像。

這套高齡友善主題(starlight-theme-large-print)已經開源並發布到 npm,任何 Starlight 網站一行設定就能用上。細節在 www.xianmi.co/starlight/,歡迎取用,也歡迎開 issue。