Skip to main content

ZSL

20260807 kazari syntax highlighter

Published:
Updated:

文章寫完的感想:其實本文也不用看了,這個專案的問題就是 AI coding 專案的那些問題。

看到 frostybee/kazari 是一個整合 Nuri (shiki 的 Go 實現)的 codeblock 軟體專案,第一個想法是他提供的工具行的工具超沒用(wrap code 我在 Docusaurus 就覺得他很沒用,只 toggle codeblock 的 theme 更莫名其妙,到底誰需要,全螢幕 codeblock 更沒用),第二個想法是我為什麼不用 shiki 就好,就像在 Hugo 中使用 Shiki 並且加快執行速度超過百倍寫的一樣,不過想到 go 寫的 shiki 優勢是更快;第三個想法是是 AI 文檔一堆無用文字還缺乏資訊,比如 CSS/JS 會自動注入這麼重要的卻沒寫。

原本以為 Hugo 整合 Shiki 有更輕鬆的方法了,結果這完全不輕鬆,不如一個簡單的 JS 腳本,版本追蹤亂成一團,要求 Hugo 用戶複製他自己的 render hook:有 Hugo 自創 hugo module,有 package.json,還有一個手動插入在工具鏈之外的 binary,更要手動追蹤他的 render hook。

而且還很肥,一個僅用於 codeblock 的工具,JS minified 後有 3k chars,設定檔能關的功能全關也要 1k chars,甚至連 JS 要設定成 non-blocking 都不知道;CSS 更誇張,很多小網站整個網站的 CSS 也不過就 1000 行而已,像是我的部落格核心 CSS 只有 900 行,他一個 codeblock 1000 行還不含 SVG。

其他很多問題可能是因為專案還是早期吧,就不一一說出來了,說了也沒意義。最後一個小發現是一開始還沒有直接稽查 repo,只看文檔就感受到這專案缺乏人味,也還真的都是 AI 做的。