我作为一名后端程序员,其实对Markdown编辑器是非常依赖的,从简单的学习笔记,到项目详细的开发流程,我都会使用Markdown进行详细的记录。虽然Markdown语法刚开始会有一些成本,但是等到熟悉了就会变的习惯了,最后就离不开了。

我认为Markdown在我工作学习的过程中有着很大的优势,它具有Word基本的编辑功能,同时还可以在文本中插入漂亮的数学公式(基于编辑器的数学公式渲染插件)、表格、流程图(UML)、脑图、代码、图片等等。这就使得我可以在一篇文章中通过不同的内容将我的项目或者学习过程尽可能的描述清楚,我想一份完美的笔记一定会对我们的工作学习带来巨大的帮助。

第一次接触Typora就被所见即所得的编辑模式吸引了,我终于可以不用在分屏模式下进行编辑了,我再也不用将注意力分散到Markdown语法上。我需要做的,只是全身心地将脑子中的知识注入到这篇文档中。对于一位不善言辞的人来说,能在一篇文章将自己的想法和见解酣畅淋漓的表达出来真是一件非常痛快的事。

但是在使用Typora的过程中也多多少少遇到了一些不适应的地方,期间也尝试过一些其他的编辑器,也是同样的问题,有些功能我不需要,有些功能我需要但是又没有。直到Typora开始收费,我开始意识到我应该做些什么了,我不想再去适应这些软件了,我需要一个能适应我自己的软件,我要有一个属于我自己的编辑器。

之后我开始调研了一些实行方案,例如:Flutter实现跨平台编辑器、Electron实现跨平台编辑器。Flutter开发可能周期会长一些,相关markdown的插件并不多,而Electron开发偏前端,功能做成来肯定没有问题,但是这只是一个Markdown编辑器,打包一个浏览器进去,一百多兆的安装包让我感觉也很不适。最后我寻找关于Golang 跨平台GUI的实现方案中看的了Wails开发框架,说实话这个东西偏前端,实际开发过程更像前后端分离式的开发,而且示例工程打包后8M起步,香,真的太香了,后端基于Golang可扩展性也是杠杠的,Nice!

开始规划

  1. 本地数据库使用SQLite进行数据存储,之后再搭建数据同步服务器进行多设备数据同步
  2. Markdown编辑器使用Vditor,还不错功能基本都能实现
  3. 前端使用Vue3后端使用Golang进行开发
  4. 增加一个待办事项的小功能
  5. 通过白嫖三方平台的免费额度进行功能扩展比如翻译、OCR、关键词提取、文本分类等等

开发

Wails具体的使用方法请参考官方文档,建议优先看英文文档(中文翻译的会有偏差)

Wails文档地址:https://wails.io/

我的文档项目暂时取名为GTools,项目地址在下面

GTools-Gitee地址: https://gitee.com/pixiao/gtools

GTools-GitHub地址: https://github.com/Pixiao3668/GTools

具体的开发过程在这里就不做过多的赘述,说明文档可以查看Gitee Pages

Gitee Pages地址:https://pixiao.gitee.io/gtools

企鹅交流裙:736733848

功能实现

待办实现功能

在这里插入图片描述

Markdown编辑器

在这里插入图片描述

Markdown文件选择

在这里插入图片描述

基于多种翻译接口实现的Markdown文本划词翻译功能

在这里插入图片描述

实现文档中图片的图床存储功能

在这里插入图片描述

基于三方OCR功能实现的图文识别功能

在这里插入图片描述

实现大部分软件功能的可视化配置

在这里插入图片描述

总结

此工具带有比较多的个人倾向,目前我认为是非常适合我平时的工作和学习,如果你也想快速开发一个属于自己的小工具,那么Wails将是一个不错的选择。