tauri2 lexical 开发一个markdown 编辑器(1)
本文使用自己开发mmk编辑器撰写
如图:
前言
我为什么要开发这个文档编辑器学习tauri2
- 这是一款前端用框架,可以方便前端开发学习rust
- 文档编辑器开发是一个十分必要的,之前工作中时常有这方面的定制需求出现(tips:总有领导喜欢机枪位置漂移1毫米)。
- 想要拥有自己的编辑器,定制自己想要实现内容
- 尝试做一个自己的开源产品
综合上述,便开始计划当中开发一款属于自己的编辑器
前情提要
技术栈
- ui: shadcn/ui
- tauriPlugin:sql(sqllite)、fs、list、clipboard、dialog、window
- store:zustand
- mark paser: comrak、mermaid.js
- editor:lexical全家桶
当前已经实现以及未来计划实现功能
- 基本内容展示
- 系统自定义
- 列表读取保存
- 分类列表
- 分类新增
- 分类编辑
- 图床编辑
- 内容预览
- 代码复制粘贴
- 基本预览
- 文章内容编辑
- 工具栏
- 窗口切换
- 文件导入导出
- md 类型的导入导出
- 其他格式文件导入导出
- doc
- excel
- html
- other
- 图片插入
- 图床配置
- 基础图片编辑
- 基础内容插入编辑
- 基础表格插入
- 内容区域编辑
- 内容编辑快捷键
- 文章拖动
- 图片拖动
- 文章区块拖动
- 内容区域主题自定义
- mermaid图表编辑器实时预览
- 文章diff更新(rust逻辑实现)
- 内容分享
- 工具栏
平台支持
当前支持平台
- mac
未来计划支持
- win
- linux
开坑
- tauri2开发问题
- 插件开发
- tauri2 窗口、多屏幕处理
- 多窗口事件广播、监听
- 剪切板
- lexical编辑器问题
- 插件开发
- 快捷键
- 文档拖动
- 图片基础编辑
- 图片、文档写入输出问题
- 文档增量更新
- 图片压缩
- 图床配置集成多加图床
当前目标
完成基础功能,保证稳定