Penna Markdown: 一个兼顾颜值和性能的Markdown编辑器

TomasAnkio 2026-07-18 19:06 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出





欢迎 Star 支持!如有问题请提 Issue,若有改进建议欢迎提交 PR。


项目代码


Vercel 在线演示


客户端


VS Code 插件


为什么重复造轮子


早期我打算给 Ankio的文档系统 找个靠谱的 Markdown 编辑器。


一开始直接用的 Typora,但它的==所见即所得(WYSIWYG)== 模式跟我的自定义语法完全不搭,编辑时的排版看着很别扭。


后面看见腾讯开源了 CherryMarkdown。—— 一个基于正则解析,支持自定义语法的 Markdown 编辑器。


但是由于塞了太多我觉得没必要的东西,所以去年在此基础上做了精简版 Cherry Muse 。


原版 CherryMarkdown 的问题非常多:



  • 语法测试用例太少,可以说几乎没有测试;

  • 代码结构混乱,JS 和 TS 混用,到处是.d.tsJSDoc,乱七八糟的;

  • 补丁代码太多,你见过还没开始编辑先预处理的编辑器么

  • 高度耦合的主题代码,还丑,我甚至一度怀疑他们开发组的人是不是都没有审美;


再加上我的CherryMuse已经改得面目全非,和官方更新的功能保持同步也不太容易。


综上,评估下来CherryMuseCherryMarkdown已不再适合维护,继续维护只是在屎山上拉屎


所以干脆在 2026 年 6 月 的时候建立了一个叫 Cherry Markdown Next 的项目,写完发现跟原版已经几乎没什么联系[1]了,遂改名叫 Penna Markdown


前后花了大概 40 天,在 AI 的辅助下顺利完成初步版本。


优势



  • 面向测试开发,对齐 GFM 测试用例,通过率 在 97%。

  • 结合 VuePress 和社区的常用扩展,在 GFM 的基础上拓展成新的规范:==Ankio Flavored Markdown==,简称AFM。

  • 增量更新。

  • 架构解耦,可以根据需求不同分别引入penna-markdown/transformer作为纯语法解析器、penna-markdown/renderer带有JS绑定互动效果(例如代码复制、高亮)的纯渲染器、 penna-markdown 完整的markdown编辑器功能。






  1. 因为解析核心使用的是AST而非正则。 ↩︎



最新回复 (3)
  • wlisboy 07-21 15:56
    1

    我是第一、我是第一、我是第一 ^-^

  • 07-21 16:00
    2

    试试看看好不好用,之前一直用typora

  • shaola 07-21 21:32
    3

    看起来不错,用用看,感谢大佬开源

* 帖子来源Linux.do
返回