標籤: Side-Project

KOHi — 把 KOReader 的閱讀標註匯入 Obsidian

用 KOReader 看書的人大概都有同樣的經驗:讀到好段落就順手畫個重點、寫個筆記,但讀完之後呢?這些標註就一直留在閱讀器裡,再也沒打開過。

我自己用 Obsidian 管理所有筆記,一直想把 KOReader 的 highlight 也整合進來,卻找不到現成的工具。手動複製貼上太慢,寫腳本又要處理 KOReader 那套 Lua 格式的 metadata。

所以我寫了 KOHi,一個 Obsidian plugin,專門解決這件事。

KOHi 做什麼

USB 接上閱讀器,在 Obsidian 裡執行一個指令,就能把 KOReader 的 highlight 和筆記匯入 vault。每本書產生一份 Markdown 筆記,包含書籍資訊和所有標註。

核心功能:

  • 自動偵測儲存模式 — KOReader 有三種存放 metadata 的方式(book folder / koreader/docsettings / koreader/hashdocsettings),KOHi 全部支援,不用自己去找檔案在哪裡。
  • 模板自訂 — 產生的筆記格式完全可控。用 Nunjucks 模板語法,可以自訂 frontmatter、章節分組、頁碼、highlight 顏色等所有欄位。也提供預設模板,不想自己寫也能直接用。
  • 選擇性匯入 — 可以一次匯入全部,也可以用模糊搜尋挑特定幾本書。
  • 重複匯入覆蓋 — 重新匯入同一本書時,可以選擇是否要自動覆蓋舊筆記,不會產生重複檔案。
繼續閱讀 ➜

讓 KOReader 的資料夾顯示書籍封面

這次要介紹的是我為 KOReader 檔案瀏覽(Mosaic)所做的另一個 userpatch:2-browser-folder-cover.lua。這個 patch 可以讓資料夾在 Mosaic 檢視時顯示封面圖片,支援放置自訂 .cover 檔案,若無自訂封面則會自動從該資料夾或其子資料夾的書籍取得封面。此外還提供兩種顯示風格:單一封面或 2×2 格狀封面。

下載路徑:https://github.com/chiahsien/KOReader.Patches

繼續閱讀 ➜

FormattedListKit: Elegant List Displays Made Easy

When developing iOS and macOS applications, formatting lists is a common requirement. Whether it's terms and conditions, setting options, or tutorial steps, we often need to present ordered or unordered list content. However, Apple's native frameworks have relatively limited support for list formatting, which often puts developers in a dilemma: existing solutions aren't perfect, while heavier solutions seem like overkill.

To solve this problem, I developed FormattedListKit, a lightweight yet fully-featured Swift Package specifically designed for creating beautifully formatted ordered and unordered lists.

繼續閱讀 ➜

What Time: 一個寫給孩子的小玩具

我的小孩逐漸長大,到了需要看得懂時鐘的年紀了,但經過多次的嘗試,無論是看圖學習或是寫練習本,他就是記不住要怎麼看指針時鐘。

還好,我是一個工程師,而且是一個會開發 iOS App 的工程師。

既然小孩會被手機 app 吸引、研究報告又證實在遊戲中學習的效果好,那我就來開發一款 app 讓孩子可以不停的練習吧。所以趁著防疫期間,我就做了一個很簡單的 app,它會隨機顯示時間,只要正確輸入顯示的時間,就會再隨機顯示另一組時間。

就是這麼簡單樸實的一個小東西,卻可以讓小孩玩得不亦樂乎,而且效果驚人,不到一個星期他已經會看時鐘了!

有興趣的人可以來這裡下載原始碼,自己安裝到手機上玩。