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:
100
README.md
Normal file
100
README.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user