前言

不久前,笔记巨头印象笔记对 Markdown 进行了支持,这是一个非常让人振奋的消息,尤其对于 Markdown 的死忠粉们而言。这一消息的背后反映的是一个产品对新事物积极拥抱的态度和对 Markdown 语法的市场认可,无疑,对 Markdown 的未来发展而言,有着非常积极的意义。

同时,一直以来默默为 Markdown 布道,推崇 Markdown 的少数派也作出了非常非常大的贡献。 少数派上有非常多关于 Markdown 的文章,对大家入门和进阶都非常的有帮助,特别推荐来自沨沄极客想学 Markdown?这篇文章帮你快速上手。通过这篇文章,相信大家会非常容易的打开 Markdown 的奇幻大门,进入笔记记录技能的美好新世界。

Markdown 及其扩展语法

null

MarkdownJohn Gruber 于 2004 年发明,自发明至今,可以算是有相当长一段时间了,最开始主要流行于博客主,软件开发工程师和撰稿人中,而直至最近几年,这门潜力无比的工具才开始被大众一步一步的接受和使用。一个有意思的事实是,除了最初的一些基础的语法格式外,Markdown 其实一直都在慢慢的进化,发展出了很多语法扩展分支,譬如:

同时,还有很多相对小众的语法扩展,不在此一一列举了。在这些扩展分支中,Github Flavored Markdown (简称GFM) 应该是目前接受度比较广的一个扩展了,深受很多人的喜爱。

那么,为什么会有如此之多的语法扩展呢,究其原因,无非在于:

  • Markdown 基础语法的设计有优化的空间。 同任何事物一样,事物是会变化和成长的,Markdown 也不例外,了解 Markdown 历史的朋友都知道,最初的 Markddown 的设计的目的在于快速生成博客代码,简化编写博客时的格式处理,随着时间发展,Markdown 开始应用到很多别的场景,那么优化的必要就开始慢慢显示出来的。
  • Markdown 基础语法已经无法满足日益丰富的信息内容。基础语法只覆盖了一些通用的信息内容,对于一些特殊的信息,如本地图片,视频等等,便开始显得心有余而力不足。
  • 不同 App 在基础语法之上,有针对自身应用进行定制的需要。比如著名的 Bear,Ulysses,都对 Markdown 进行了一定程度的定制,以满足自身需要。对比 Ulysses 和 Bear 的 Markdown 扩展,不难发现,除了与基础语法有一定差别之外,它们彼此之间也是有差别的。

null

那么,该如何对待这种百花齐放,同时有略显杂乱的发展现状呢?

我想,一个大的原则和方向是兼容基础 Markdown 语法,适度扩展特殊场景语法。这样,在保证了 Markdown 作为通用语法的威力的同时,又能够满足特定的使用场景,提高记录效率,满足特定的需求。我相信,对于 Markdown 的未来和发展而言,这绝对是一件值得尝试的事情,GFM 作为一个扩展,被广泛的接受和使用,同时将 Markdown 带入更大的使用领域(相当于反哺了基础 Markdown),便是最好的证明。

所以,如果你是一位 Markdown 的爱好者,请保持拥抱态度吧!

mmd 是什么

mmdMasterway 在基础 Markdown 之上,为应对图片,音视频等等多媒体场景而创建的一个简单扩展。mmd 遵循前文提到的大的原则,对绝大部分的基础 Markdown 语法,如标题,字体风格,网页链接🔗,图片链接等等,mmd 都提供了支持。

同时,在基础语法和扩展两方面做了一些谨慎的尝试,具体如下:

对基础 Markdown 语法的优化

无序列表支持3种行首符号

., -, *

null

有序列表不需要手动输入序号

在基础 Markdown 中,有序列表需要人为的输入序号,从某种程度上,并没有发挥出 Markdown 在显示方面的优势。同时,如果有序列表很长,而如果发现中间的某条或某几条记录不再需要,那么后续的列表序号就需要人工去进行修正了,老实讲,这是一件很痛苦的事情,我们宝贵的时间不应该花在这种事情上面,应该交由程序来为我们服务。

所以,在 mmd 中,只需要将 + 置于记录行行首,多条连续的记录行自动构成有序列表。如果多条记录行并不连续,那么,这些记录行会自动分割成多个有序列表。如图:

null

复选框 / Task 框

在 GFM 中,复选框的语法为 - [] - [x],在 mmd 中,语法为 [], [y], [x]。简化了语法,同时增加一种关闭/否定状态,更符合现实中记录的状态规则。

null

无限多级缩进 (beta)

了解 workflowy 的朋友一定对 多层级的记录格式印象深刻。这种创造性的格式对于构建大纲信息,记录,分析大型信息具有非常好的效果。我们希望能够借鉴过来,至少从样式上。

在 mmd 中,构造多级缩进的规则非常简单直观:


从行首开始,一个 Tab 缩进一级,多个 Tab 缩进多级

该语法规则可适用于普通文本和多种基础 Markdown 语法格式(目前,除有序列表外),相信大家会喜欢。

null

增加了扩展语法

基础 Markdown 语法更多的是面向文本而设计的,对多媒体信息的支持是有一定局限的。毫无疑问,纯文本的一大好处在于在保持最轻量的文本内容,方便Markdown自身内容的可读性。那么,能否在遵循这条原则的前提下,加入对图片,视频等多媒体的支持呢?

温馨提示:以下扩展语法属于应用扩展

图片

在 Masterway 中,除了支持基础的图片格式外,还支持添加本地图片。通过「添加图片」或者直接拖拽至编辑器就可以完成图片的添加。

null

同时,由于 Masterway 天生支持自动同步功能,所以,添加的图片也会自动同步到别的端上的 Masterway 客户端,整个过程自动完成,不需要人为参与,体验非常地便捷。

视频

在这个视频大行其道的时代,如果 Markdown 能够支持对视频的收集和整理,那该是多么美妙的事情啊。看看 mmd 是怎么做的呢?

在 mmd,目前支持普通视频链接, Youtube 视频和 Bilibili 视频,只需要简单的使用下面的语法:

/video:普通视频链接
/youtube:youtube视频网址
/blibili:哔哩哔哩视频网址

null

Masterway 是什么

Masterway 是一款集中管理信息的 App,无论是课程笔记,工作总结,会议纪要以及任务安排,都可以使用 Masterway 来进行管理和整理,是学习和工作的绝佳伙伴。如果对 Masterway 的来历感兴趣,可以前往文章 「Masterway来了 」了解。

最后

支持绝大部分基础的 Markdown 语法,同时做了一些优化和扩展的 Markdown 语法,这就是 mmd,希望能给你的学习,工作带来方便,Peace !