Markdown 编辑器
左侧编写,右侧实时查看渲染效果。支持同步滚动、格式化工具栏,完成后可导出为 Markdown 或 HTML。
工作原理
预览由 marked 渲染,这是本站自带的开源 Markdown 解析器(不依赖任何 CDN),配置为支持 GitHub 风格 Markdown 并启用了换行功能。它在你每次按键时都会重新解析整份文档——听起来很浪费,但 marked 编译为一次快速的单遍扫描,即使是书籍长度的文档也能在几毫秒内渲染完成。编辑器还维护着自己的撤销历史,最多保存 100 个快照,因为工具栏按钮是以编程方式设置文本框的值,这会悄悄绕过浏览器原生的撤销栈。连续输入会在短暂停顿后合并为一步,所以 Ctrl+Z 是按编辑步骤回退,而不是按按键次数。
两个面板之间的滚动同步是按比例进行的:每个面板的滚动位置都会换算成 0 到 1 之间的比例,并映射到另一侧。有一点关于可移植性值得注意:启用换行后,单个换行符会变成真正的换行,这与 GitHub 渲染评论的方式一致。而严格遵循 CommonMark 规范的渲染器(包括许多静态网站生成器)则会把这些行合并成一个段落。如果你的 Markdown 最终要发布到要求严格的平台,请在行尾加两个空格或留一个空行来保留换行。导出的 .html 文件正是预览面板的标记内容,包裹在一个极简的文档结构中,所见即所得。
包括解析器在内的一切都随页面加载,完全在本地运行。打开开发者工具,输入时观察"网络"面板:不会有任何请求携带你的文本,编辑器在离线状态下也能继续工作。