也许 Markdown 并不是一个好选择

2019/6/6首页

我经常会使用 markdown 来写一些东西。比如:博客文章、技术文档什么的。但是时间长了总是会觉得编辑 Markdown 源码的写作方式太容易让人分心了。

Markdown 确实是一个非常好的通用排版格式,因为它很简单,学习使用起来没有门槛。但是随着人们越来越多的使用 Markdown 创作,Markdown 本身的一些问题也显露出来。比如:当你需要一些高级排版格式的时候 Markdown 是无能为力的,更不用说表格编辑这类重排版的工作在 Markdown 中的编辑体验了。

当然开源社区会有一些开源项目来扩展 Markdown 的功能,甚至是用 Markdown 来画流程图。这且没有什么问题,问题是当你使用了一些扩展的高级功能时又想把他扩展到其它系统(比如博客),这时你又不得不改造博客来适配这些功能,Markdown 也就丧失了它的便携性。所以说使用 Markdown 的关键问题在于:

如何能更简单方便的使用 Markdown,同时又不失一些好用的功能

如何解决编辑的体验问题

编辑排版最佳的体验毫无疑问是「所见即所得」的模式。因为人们总是喜欢改完东西立即看见效果。目前常用的 Markdown 编辑器通常分左右两列:++源码++ | ++预览++。实际上我认为这种模式并不好,甚至是错的。因为整个编辑过程会非常痛苦,你不得不既关注源码里面的格式,如:空格、Markdown 符号,还得关注预览出来的效果是不是满意然后再调整。

相比之下 Typora 给出了稍好一些的体验方案 — 富文本的编辑模式 + Markdown 源码格式。这应该也是目前 Markdown 最好的编辑方式了,但是在我看来还是不够好。

我自己在书写 Markdown 文件的时候会格外注意格式排版,比如:标点符号,中英文空格,分行留白等,Typora 的编辑模式并不能让我免于这样的困扰(本质就在于 Typora还是要让用户自己去编辑源码),我还是不得不关注 Markdown 的那些符号,这些符号就像听音乐时的耳机里面的「杂音」一样。当你专注于写作,一口气写下上千字的时候,很容易就会被这种杂音打断,灵感转瞬即逝…

如何添加一些功能特性

这个问题我认为不应该给 Markdown 扩展功能,因为扩展 Markdown 只能通过添加更多符号的形式实现。而这会增加它的复杂度,不同平台都要适配才行,最终让 Markdown 格式变的不可交换

各种编辑方式按功能强大的排序应该是:Makrdown < 富文本 < Word。复杂的功能应该由后面两种工具来胜任,Markdown 应该做为一种格式上的约定。重功能不需要它来实现,比如编辑表格的体验在 Markdown 里简直就是灾难,但是在富文本或者 Word 中却异常简单。这就像是 Markdown 应该做为++接口++来定义一些规范,而不应该让它去关心具体++实现++。

结论

既然如此那有没有更好的解决方案呢(广告预警)。我正在开发一款基于网页的 WYSIWYG[1] 富文本编辑器应用,并试着解决上面的这些问题,解决 Markdown 问题的同时又能获得富文本编辑的优质体验,主要面向有写作和编辑文章/笔记需求的用户。如果你也刚好有这个需求,不妨试试:

wtdf.io — 基于网页的所见即所得 Markdown 写作应用


  1. What You See Is What You Get — 中译「所见所得」 ↩︎