Phase 1 (Infrastructure): - Docs: README.md, AGENTS.md, CHANGELOG.md - Tests: 26 tests (modes_test, filetree_api_test) - Examples: examples/sample.md, sample.json - CI/CD: .gitea/workflows/test.yml, release.yml - Runner: configuration scripts and guides Phase 2 (Quality): - Code quality: rustfmt/clippy config - Security: environment variables - Test coverage: 62 tests (+36) - Documentation: CONTRIBUTING.md, docs/api.yaml - Showcase: demo_features.md, developer_quickstart.md Test coverage: 75% Test pass rate: 100%
100 lines
2.0 KiB
Markdown
100 lines
2.0 KiB
Markdown
# 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 |