Warren 4a89629693 Archive Module Phase 3: 可选格式实现(RAR/XZ/7z)⚠️⚠️
Phase 3完成(有争议格式列为可选):

 Cargo.toml更新:
  - unrar = { version = "0.4.0", optional = true }  ⚠️法律风险
  - xz2 = { version = "0.1.7", optional = true }     ⚠️外部依赖
  - sevenz-rust = { version = "0.21.0", optional = true }  ⚠️库不稳定

 Feature配置:
  - default = []                                 # 默认禁用可选格式
  - optional-formats = ["unrar", "xz2", "sevenz-rust"]    # 用户可选启用

 RAR Processor实现:
  - 仅支持解压(unrar库限制)
  - 法律警告显示(RARLAB专利)
  - 商业使用需购买许可
  - is_encrypted检测

 XZ Processor实现:
  - liblzma依赖检测
  - 依赖缺失警告
  - 单文件格式处理
  - Zip Bomb防护

 7z Processor实现:
  - 稳定性警告显示
  - sevenz-rust库集成
  - 功能限制提示

⚠️ 警告系统完整:
  - RAR法律警告:RARLAB专利,商业需许可
  - XZ依赖警告:需安装liblzma
  - 7z稳定性警告:库开发中

编译状态: 成功(0 errors)
总代码量:2675 + 312 = 2987行

下一步:Phase 4集成测试,或Phase 5文档
2026-06-10 17:54:52 +08:00
2026-05-30 14:08:55 +08:00
2026-05-16 15:37:37 +08:00
2026-06-10 17:54:52 +08:00
2026-05-30 14:08:55 +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
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%