学三个月前端后开源了一款编辑器🥳

610 阅读2分钟

省流地址:jiannei.github.io/coditor/

前言

在学习两个月前端的时候,从零实现了一个社区站,很多同学建议适配移动端,又花了一天时间学习响应式,给站点加了移动端适配;这一个月以来,收集问题,边学边修复了「黑暗模式切换闪烁」、「safari 地址栏自动隐藏」、「可视区域无限加载」、「快捷键冲突」等问题。

期间,不少同学对社区编辑器的实现感兴趣,便开始花了点时间学习 npm 包发布,现在社区编辑已经开源啦,项目地址:

过程

之前和 jym 讨论过编辑器的选型,考虑到要完全契合站点风格,这就要求编辑器有较高的扩展自由度,包含工具栏 icon、暗黑模式、内容渲染样式,先后使用过 tiptap、vditor、cherry-markdown、bytemd... 最终选择的是 milkdown,一个类似 typora 的编辑器,支持 markdown 格式内容输入输出,同时 plugin 机制也能很好满足扩展需求。

了解过 milkdown 的同学应该发现,v6 和 v7 版本变化较大,很多插件并未及时跟进升级,同时官方文档也不是很友好。需要重复写较多的代码,所以便有了 coditor,在 milkdown 基础上进行简单封装,可以快速应用到项目中,包含:

  • 渐进式插件安装,按实际应用场景需求安装插件
  • 基于 @iconify-json/tabler 实现的工具栏 icon,常用工具栏操作封装
  • 基于 unocss 自定义的编辑器样式
  • 支持暗黑模式
  • ...

同时,也开源了 3 个 milkdown 插件:github.com/jiannei/cod…

  • placeholder:编辑器初始内容提示
  • shiki:一个好看的代码语法高亮库
  • upload:远程图片上传支持

可以在此基础上构建完全属于你自己风格的编辑器 🥳

另外,项目也顺利合并到 milkdown awesome 啦 🎉

效果图

  • 示例

image.png

  • 示例-暗黑模式

image.png

最后,感兴趣的 jym 可以点个关注或给项目点个 star 呀,这将对我帮助非常非常非常大 :)