软件名称
MarcDown - 上下分栏的md编辑器
应用平台
- Windows
- MacOS
- Linux
是否收费
开源免费
软件截图
应用简介
MarcDown是一款独特的上下分栏的Markdown编辑器,所谓上下分栏,就是源码在上面,渲染结果放在下面,支持表格,图片,公式,流程图,HTML的上源码下渲染,源码还可以一键折叠,从而使整个页面尽可能的“所见即所得”,同时也能很方便地查看/修改源码。
MarcDown并不是纯粹的“所见即所得”,而是将样式与源码渲染在一起的“实时渲染”,例如“—”分割线,其背景是一整条编辑器宽度的线,但仔细看分割线的左端仍然还有“—”的源码。
MarcDown的目标就是作为系统默认的md查看器,点击md文件,然后触发MarcDown,在替换掉默认的txt记事本的同时,有着跟txt记事本一样的简洁/快速,而且还有txt记事本没有的实时渲染能力,可以在同一个上下文中方便浏览图片,公式,流程图等渲染结果。
MarcDown的所有功能都是手工实现的,理论上实现一个md编辑器挺简单,只需要以CodeMirror库之类的为核心包一层即可。但MarcDown这里相当于实现了一遍CodeMirror,MarcDown的主打特性是上下分栏,对页面高度的控制有更精细的要求,用CodeMirror不太能满足需求,因此我手撕了从源码解析到排版渲染的整体流程,当然我在开发过程中大量使用了AI,AI确实提高了我的能力上限。
我借鉴React的原理,将MarcDown的排版渲染分为reconcile调和过程和commit提交过程,调和过程只处理js逻辑,将新旧虚拟节点进行diff,在commit提交过程根据diff做真实Dom的最小改动,听起来性能不错,但实际上目前仍有不少逻辑还未做性能优化,普通的readme.md文件可以轻松打开,md文件超过一万行编辑就比较卡了。如果把可优化项做完的话,实时编辑一万行的md文件应该能达到流畅水准。
官网:MarcDown
github: Github
跪求star!

