MarkEditor 遵循的语法

一些不支持 Markdown 的语法以及原因

换行

原生的 Markdown 语法是要求行尾有两个空格才算为换行,比如:

这是第一行,且这一行后面没有空格
这是第二行,但只是看起来的,解析之后,还是跟第一行处于同行。

标题

不支持如下的标题语法:

一级标题
###############

二级标题
------------

------------ 这种跟普通的分割线语法基本一样,但意义不同,而且这个语法是很容易产生误解的,比如下面两种情况:

二级标题
-----------

如果多了一行,我不是二级标题了

-----------
- 列表条目 (此时,我其实可能变成了二级标题)
- 
- 列表条目

加粗与斜体

仅仅支持 * 标注的加粗、斜体语法,而 __strong___emphasize_ 都是不支持的。
因为 _ 作为一个常用字符,容易产生误解,比如 this_word_is_not_emphasized

另外,如果作为斜体语法,请务必保持*前后的空格(如果其不属于行首、行尾),这是为了避免与 10*30*2 这类普通文字的语法冲突。

缩进代码块

仅支持 fenced code 类型的代码块 (以三个反引号```包裹),不支持通过缩进的方式产生的代码块。
缩进代码块,本身也是容易产生误解的语法,比如一般用户某段文字产生缩进的时候,可能的意图单纯仅仅是 缩进,而不是希望产生一个代码片段

采用严谨的引用(blockquote)语法

引用语法(blockquote),每一行,必须以 > 开头。
原生的引用语法是很容易产生误解的,同时也会导致非解析为 HTML 之前的平文本结构并不雅观,典型的比如:

> 这是引用的内容
> 这是引用的内容
这还是引用的内容 (使用者这里糊涂了)
这还是还是引用的内容 (更糊涂了)

这个时候才是非引用的内容了

分割线语法

--- 以及 - - - - - 的形式,都可以作为分割线 (HR) 使用,但是,*** 则不允许,* 本身跟其它标记符很容易混淆。

2018-07-17 00:12
Comments
Write a Comment
  • 的确有了这些feature用起来很舒服,并且很受不了有道云笔记或者Evernote的那些标准markdown语法。(查询有没有一件劣化到标准化语法功能,搜索至此)