DevTrendsDeveloper trends
Accent color

xopenbeta /

marc-down

软件名称 MarcDown - 上下分栏的md编辑器 应用平台 Windows MacOS Linux 是否收费 开源免费 软件截图 应用简介 MarcDown是一款独特的上下分栏的Markdown编辑器,所谓上下分栏,就是源码在上面,渲染结果放在下面,支持表格,图片,公式,流程图,HTML的上源码下渲染,源码还可以一键折叠,从而使整个页面尽可能的“所见即所得”,同时也能很方便地查看/修改源码。 MarcDown并不是纯粹的“所见即所得…

DTSoftware developmentDTLinuxDTmacOSDTWindows

Product images

About

软件名称 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文件应该能达到流畅水准。

Discovery history

  1. 阮一峰周刊·用户投稿

    Jul 16, 2026 · 1 observations

Discuss this product