Warren 3e738ec52b
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
完善TODO功能:metadata层(db/user/auth)+ storage层(archive/sync/mount)完整实现
metadata层实现:
- db.rs (129行): 数据库管理
   create: 创建用户数据库并初始化表结构
   status: 查询数据库状态(节点/文件数量、树类型、文件大小)
   backup: 数据库备份(SQLite文件复制)
   restore: 数据库恢复(备份文件恢复)

- user.rs (148行): 用户管理
   create: 创建用户(bcrypt密码哈希)
   list: 列出所有用户(用户名、角色、创建时间)
   show: 显示用户详情
   delete: 删除用户

- auth.rs (102行): 认证授权
   login: 用户登录(密码验证、简单token生成)
   logout: 用户登出
   verify: Token验证(24小时有效期)

storage层实现:
- archive.rs (73行): 压缩解压缩
   decompress: 解压缩文件(使用archive模块)
   list: 列出压缩文件内容

- sync.rs (59行): 文件同步
   start: 启动文件同步(mirror模式)
   status: 同步状态检查

- mount.rs (94行): 存储挂载
   attach: 挂载存储(NFS/SMB支持)
   detach: 卸载存储
   list: 列出挂载的文件系统

CLI命令範例:
markbase metadata db create --user testuser
markbase metadata db status --user accusys
markbase metadata user create --name warren --password warren123
markbase metadata user list
markbase metadata auth login --user warren --password warren123
markbase storage archive decompress --file backup.tar.gz --output /path
markbase storage archive list --file backup.tar.gz
markbase storage sync start --source /path1 --target /path2 --mode mirror
markbase storage mount attach --type nfs --server 192.168.1.100 --path /share
markbase storage mount list

架构完整性:
 CLI三层架构完整性:21个模块(interface + metadata + storage + tools)
 所有TODO标记功能已实现
 编译成功(151警告,0错误)
 代码量:新增605行功能代码

变更统计:
- 修改文件:6个模块(metadata/auth.rs、db.rs、user.rs + storage/archive.rs、sync.rs、mount.rs)
- 新增代码:418行(36行删除)
- 总计:9 files changed, 418 insertions(+), 36 deletions(-)
2026-06-13 02:22:38 +08:00
2026-06-12 12:59:54 +08:00
2026-06-10 22:47:34 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00
2026-05-16 15:37:37 +08:00

MarkBase

Momentry Display Engine - Markdown渲染與檔案樹管理系統

功能特色

  • Markdown渲染支援表格、footnote、tasklist -檔案樹管理SQLite持久化
  • REST API18+路由)
  • macOS音訊控制音訊裝置切換、音量控制 -多種顯示模式tree, list, grid_sm, grid_lg

##安裝

###必要條件

  • Rust 1.92+
  • macOS音訊功能需 macOS
  • SwitchAudioSource音訊裝置切換
#安裝 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

#安裝 SwitchAudioSourcemacOS
brew install switchaudio-source

###建構

cargo build

##使用

###啟動伺服器

cargo run -- display                #預設 port 11438
cargo run -- display -p8080         #自訂 port
cargo run -- display README.md      #顯示指定檔案

###渲染 Markdown

cargo run -- render README.md       #輸出到 stdout
cargo run -- render README.md -o output.html

##測試

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 - 大格狀顯示

###範例

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

Description
No description provided
Readme 179 MiB
Languages
C 43.6%
Rust 20.1%
D 15.6%
Assembly 8.9%
Swift 3.3%
Other 8.3%