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%
This commit is contained in:
Warren
2026-05-16 15:37:37 +08:00
commit e3d6b60825
50 changed files with 7758 additions and 0 deletions

100
README.md Normal file
View File

@@ -0,0 +1,100 @@
# 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