MarkEditor 遵循的语法
一些不支持 Markdown 的语法以及原因
换行
原生的 Markdown 语法是要求行尾有两个空格才算为换行,比如:
这是第一行,且这一行后面没有空格
这是第二行,但只是看起来的,解析之后,还是跟第一行处于同行。
标题
不支持如下的标题语法:
一级标题
###############
二级标题
------------
------------
这种跟普通的分割线语法基本一样,但意义不同,而且这个语法是很容易产生误解的,比如下面两种情况:
二级标题
-----------
如果多了一行,我不是二级标题了
-----------
- 列表条目 (此时,我其实可能变成了二级标题)
-
- 列表条目
加粗与斜体
仅仅支持 *
标注的加粗、斜体语法,而 __strong__
与 _emphasize_
都是不支持的。
因为 _
作为一个常用字符,容易产生误解,比如 this_word_is_not_emphasized
。
另外,如果作为斜体语法,请务必保持*
前后的空格(如果其不属于行首、行尾),这是为了避免与 10*30*2 这类普通文字的语法冲突。
缩进代码块
仅支持 fenced code
类型的代码块 (以三个反引号```包裹),不支持通过缩进的方式产生的代码块。
缩进代码块,本身也是容易产生误解的语法,比如一般用户某段文字产生缩进的时候,可能的意图单纯仅仅是 缩进
,而不是希望产生一个代码片段。
采用严谨的引用(blockquote)语法
引用语法(blockquote),每一行,必须以 >
开头。
原生的引用语法是很容易产生误解的,同时也会导致非解析为 HTML 之前的平文本结构并不雅观,典型的比如:
> 这是引用的内容
> 这是引用的内容
这还是引用的内容 (使用者这里糊涂了)
这还是还是引用的内容 (更糊涂了)
这个时候才是非引用的内容了
分割线语法
---
以及 - - - - -
的形式,都可以作为分割线 (HR) 使用,但是,***
则不允许,*
本身跟其它标记符很容易混淆。
的确有了这些feature用起来很舒服,并且很受不了有道云笔记或者Evernote的那些标准markdown语法。(查询有没有一件劣化到标准化语法功能,搜索至此)