itouMD
一款用於行動裝置的現代化 Markdown 檢視器
1 / 6:itouMD 預覽圖
專案介紹
itouMD 是以 Flutter/Dart 開發的 Markdown 閱讀與編輯 App,整合 HackMD 和 GitHub,讓手機也能接著閱讀、修改和同步文件。首頁、雲端與設定各自分頁,進入文件後則使用全螢幕的閱讀/編輯介面。
閱讀與編輯
- 支援 GitHub Flavored Markdown、LaTeX、HackMD 容器、目錄與 GitHub 風格提示區塊。
- 程式碼區塊提供語法高亮、行號與複製按鈕;圖片可放大與雙指縮放。
- 可新建文件、貼上文字、開啟本機檔案,或從 GitHub、Gist、HackMD 網址取得內容。
- 編輯器有格式工具列、同步捲動的行號與清單延續,完成編輯後會回到對應的閱讀位置。
- 支援另存檔案、閱讀字體與字級調整、自訂字型,以及分別設定深淺主題的顏色。
雲端同步與衝突處理
HackMD 可瀏覽個人和團隊筆記,快取清單與內容供離線閱讀。寫回前會比對版本,透過三方合併整理遠端修改,再讓使用者逐項處理衝突;同步後也提供短時間內的復原入口。
GitHub 使用 OAuth Device Flow 登入,可直接開啟儲存庫 README,並將編輯結果寫回檔案。寫入前以檔案 SHA 偵測版本變更,遇到衝突時同樣先進入合併流程。
AI 助理與協作實驗
AI 助理提供潤飾、翻譯、摘要等快捷指令與多輪串流對話,會帶入文件和選取範圍,套用前先呈現差異預覽。可使用內建額度,也能設定自己的 OpenAI 相容端點。
另有 Yjs/CodeMirror 本機協作原型:瀏覽器端使用即時 CRDT 協作,Flutter 端保留離線草稿,透過版本檢查與三方合併手動同步。這項原型有獨立的協作房間,沒有連接 HackMD 或 GitHub。
遇到的困難
手機上的 Markdown 不只有把文字轉成畫面:還要處理長文件的捲動、公式與容器語法、編輯位置對應,以及雲端版本變動。專案把 Markdown 轉換、差異計算、來源擷取與同步服務分開,合併演算法使用自製的 Myers diff 與三方合併,並以單元測試驗證。
Android 提供正式簽章 APK 與 App 內更新;iOS/iPadOS 目前提供需自行重新簽章的預覽產物。