# MarkBase **Momentry Display Engine** - Markdown渲染與檔案樹管理系統 ## 功能特色 - Markdown渲染(支援表格、footnote、tasklist) -檔案樹管理(SQLite持久化) - REST API(18+路由) - macOS音訊控制(音訊裝置切換、音量控制) -多種顯示模式(tree, list, grid_sm, grid_lg) ##安裝 ###必要條件 - Rust 1.92+ - macOS(音訊功能需 macOS) - SwitchAudioSource(音訊裝置切換) ```bash #安裝 Rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh #安裝 SwitchAudioSource(macOS) brew install switchaudio-source ```` ###建構 ```bash cargo build ```` ##使用 ###啟動伺服器 ```bash cargo run -- display #預設 port 11438 cargo run -- display -p8080 #自訂 port cargo run -- display README.md #顯示指定檔案 ```` ###渲染 Markdown ```bash cargo run -- render README.md #輸出到 stdout cargo run -- render README.md -o output.html ```` ##測試 ```bash cargo test #執行所有測試 cargo test test_insert #執行特定測試 ```` ## File Tree功能 ### REST API |路由 |方法 |功能 | |------|------|------| | `/api/v2/tree/:user_id` | GET | 取得檔案樹 | | `/api/v2/tree/:user_id/node` | POST | 建立節點 | | `/api/v2/tree/:user_id/node/:node_id` | PUT/DELETE | 更新/刪除節點 | | `/api/v2/tree/:user_id/node/:node_id/move` | PUT | 移動節點 | | `/api/v2/tree/:user_id/node/:node_id/alias` | PATCH | 更新別名 | ###顯示模式 - `tree` - 樹狀顯示 - `list` - 列表顯示 - `grid_sm` - 小格狀顯示 - `grid_lg` - 大格狀顯示 ###範例 ```bash curl http://localhost:11438/api/v2/tree/demo?mode=tree curl http://localhost:11438/api/v2/tree/demo?mode=list ```` ## Demo資料 - `data/users/demo.sqlite` - 50節點範例資料 - `data/cache/` -範例檔案 ##開發 見 `AGENTS.md`詳細開發指南。 ## CI/CD 使用 Gitea Actions:https://gitea.momentry.ddns.net ## License MIT