Files
markbase/README.md
Warren e3d6b60825 feat: MarkBase initial version
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%
2026-05-16 15:37:37 +08:00

100 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MarkBase
**Momentry Display Engine** - Markdown渲染與檔案樹管理系統
## 功能特色
- Markdown渲染支援表格、footnote、tasklist
-檔案樹管理SQLite持久化
- REST API18+路由)
- 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
#安裝 SwitchAudioSourcemacOS
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 Actionshttps://gitea.momentry.ddns.net
## License
MIT