-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
概述
新增 .note(Notability)→ .html 轉換路由,產出自包含的互動式 HTML 播放器,支援音檔同步手寫筆跡回放。
動機
Notability 的 .note 檔是 ZIP 格式,內含手寫筆跡(bezier curves + 時間戳)、錄音(m4a)、圖片等。目前沒有跨平台的方式回放這些筆記。將其轉為自包含 HTML,可用於:
- 個人複習(瀏覽器直接開)
- 教學平台嵌入(iframe)
- Portfolio 展示(手寫動畫 timelapse)
.note 檔案結構(已驗證)
筆記.note (ZIP)
├── Session.plist # 手寫筆跡資料(curvespoints, curvescolors, curveswidth)
│ # + NBCPEventManager(3918 個時間同步事件)
├── metadata.plist # 筆記 metadata
├── Recordings/
│ ├── library.plist # 錄音 metadata(duration, identifier)
│ ├── 錄音 1.m4a # 音檔(base64 嵌入 HTML)
│ └── ...
├── Images/
│ ├── Image .png # 嵌入圖片
│ └── ...
├── HandwritingIndex/
│ └── index.plist # 手寫辨識索引(搜尋用)
├── PDFs/ # 背景 PDF(如有)
└── thumb12x.png # 縮圖
關鍵資料結構
NBCPEventManager 包含:
SOATimestampsKey— 每個筆劃事件的時間戳SOADurationsKey— 每個事件的持續時間SOARecordingIDsKey— 事件對應的錄音 IDSOAEventUUIDsKey— 事件對應的 stroke UUIDSOANumEventsKey— 總事件數
預期 CLI
macdoc convert --to html 筆記.note --full
macdoc convert --to html 筆記.note --full --css dark功能範圍
- 播放/暫停、進度條拖動
- 播放速度(0.5x/1x/1.5x/2x)
- 筆跡同步回放(音檔播放時筆跡跟著出現)
- 點擊筆跡跳到對應音檔位置
- 頁面切換
- 縮放/平移
- 筆跡文字搜尋(HandwritingIndex)
- 全螢幕
- dark/light 主題
技術方向
- Layer 3 package:
note-to-html-swift - 純 Swift 解析(PropertyListSerialization + ZIPFoundation)
- 產出 Vanilla JS + Canvas 播放器(無外部依賴)
- 所有資源 base64 內嵌
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels