←返回上一頁

itouMD

一款用於行動裝置的現代化 Markdown 檢視器

專案介紹

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 目前提供需自行重新簽章的預覽產物。