Skip to content

LaneSun/plantuml-edit

Repository files navigation

PlantUML Editor

一个基于 Tauri 和 SvelteKit 开发的 PlantUML 图形编辑器,提供类似 Markdown 编辑器的实时预览体验。

功能特性

  • 🖼️ 实时预览: 左侧编辑 PlantUML 代码,右侧实时显示生成的图像
  • 快速渲染: 基于本地 PlantUML JAR 包,无需网络连接
  • 🎨 友好界面: 类似 Markdown 编辑器的直观用户界面
  • 💾 文件管理: 支持打开、保存和管理 PlantUML 文件
  • 🔧 跨平台: 基于 Tauri 构建,支持 Windows、macOS 和 Linux

技术栈

  • 前端框架: SvelteKit
  • 桌面应用: Tauri
  • PlantUML 引擎: libplantuml-fat.jar (本地)
  • 样式: CSS/SCSS
  • 开发语言: TypeScript, Rust

项目结构

plantuml-edit/
├── src-tauri/          # Tauri 后端代码 (Rust)
├── src/                # SvelteKit 前端代码
├── lib/                # 依赖库
│   └── libplantuml-fat.jar  # PlantUML JAR 包
├── static/             # 静态资源
└── README.md

开发环境要求

  • Bun (latest)
  • Rust (latest stable)
  • Java Runtime Environment (JRE 8+)

安装与运行

1. 克隆项目

git clone <repository-url>
cd plantuml-edit

2. 安装依赖

# 安装前端依赖
bun install

# 安装 Tauri CLI (如果尚未安装)
bun add -g @tauri-apps/cli

3. 开发模式运行

bun run tauri dev

4. 构建生产版本

bun run tauri build

使用方法

  1. 启动应用: 运行应用后会看到分屏界面
  2. 编写代码: 在左侧面板输入 PlantUML 代码
  3. 实时预览: 右侧面板会实时显示生成的图像
  4. 文件操作: 使用菜单栏进行文件的打开、保存等操作

PlantUML 示例

@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
@enduml

PlantUML JAR 包使用

项目内置的 libplantuml-fat.jar 通过以下方式调用:

java -Djava.awt.headless=true -jar lib/libplantuml-fat.jar <Base64EncodedString>
  • 输入: Base64 编码的 PlantUML 字符串
  • 输出: Base64 编码的图像数据

开发指南

前端开发

前端基于 SvelteKit,主要文件:

  • src/routes/+layout.svelte: 主布局
  • src/routes/+page.svelte: 主页面
  • src/lib/: 组件和工具函数

后端开发

Tauri 后端处理:

  • PlantUML 转换逻辑
  • 文件系统操作
  • Java 进程调用

主要 API

  • invoke('convert_plantuml', { source }): 转换 PlantUML 代码为图像
  • invoke('open_file'): 打开 PlantUML 文件
  • invoke('save_file', { content, path }): 保存文件

贡献指南

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

许可证

MIT License

相关链接

更新日志

v1.0.0 (计划中)

  • 基础编辑器功能
  • 实时预览
  • 文件管理
  • 基本的用户界面

如有问题或建议,请提交 Issue 或 Pull Request。

About

一个基于 Tauri 和 SvelteKit 开发的 PlantUML 图形编辑器,提供类似 Markdown 编辑器的实时预览体验。

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors