tauri2 lexical开发一个markdown 编辑器(1)

371 阅读2分钟

tauri2 lexical 开发一个markdown 编辑器(1)

本文使用自己开发mmk编辑器撰写

如图:

pAbzkKf.md.png 

pAx76eO.png

pAx76eO.png

pAx7cwD.png

pAx7gTe.png

pAx7RFH.png

前言


我为什么要开发这个文档编辑器学习tauri2

  •  这是一款前端用框架,可以方便前端开发学习rust
  • 文档编辑器开发是一个十分必要的,之前工作中时常有这方面的定制需求出现(tips:总有领导喜欢机枪位置漂移1毫米)。
  • 想要拥有自己的编辑器,定制自己想要实现内容
  • 尝试做一个自己的开源产品

综合上述,便开始计划当中开发一款属于自己的编辑器

前情提要


技术栈

  1. ui: shadcn/ui
  2. tauriPlugin:sql(sqllite)、fs、list、clipboard、dialog、window
  3. store:zustand
  4. mark paser: comrak、mermaid.js
  5. editor:lexical全家桶

当前已经实现以及未来计划实现功能


  • 基本内容展示
    • 系统自定义
  • 列表读取保存
  • 分类列表
    • 分类新增
    • 分类编辑
  • 图床编辑
  • 内容预览
    • 代码复制粘贴
    • 基本预览
  • 文章内容编辑
    • 工具栏
      • 窗口切换
      • 文件导入导出
        • md 类型的导入导出
        • 其他格式文件导入导出
          • doc
          • excel
          • html
          • other
      • 图片插入
        • 图床配置
        • 基础图片编辑
      • 基础内容插入编辑
      • 基础表格插入
    • 内容区域编辑
      • 内容编辑快捷键
      • 文章拖动
        • 图片拖动
        • 文章区块拖动
      • 内容区域主题自定义
      • mermaid图表编辑器实时预览
      • 文章diff更新(rust逻辑实现)
      • 内容分享

平台支持


当前支持平台

  • mac

未来计划支持

  • win
  • linux

开坑


  • tauri2开发问题
    • 插件开发
    • tauri2 窗口、多屏幕处理
    • 多窗口事件广播、监听
    • 剪切板
  • lexical编辑器问题
    • 插件开发
    • 快捷键
    • 文档拖动
    • 图片基础编辑
  • 图片、文档写入输出问题
    • 文档增量更新
    • 图片压缩
    • 图床配置集成多加图床

当前目标


完成基础功能,保证稳定