第03节 Markdown中文格式符
为啥要支持中文格式符?
Markdown 使用一些简单的字符表示某种需要转译为 html 标签的格式定义。标准 Markdown 的格式格式标志字符都是英文的。
但由于我主要用以编辑中文文档,每次输入这些标签时都需要切换到英文状态,有些繁琐且易错。
例如:
> 引用块
上面这行文本编辑成 html 会是这样的效果:
引用块
但我希望在中文状态下也能快速输入,当在中文输入状态下时,按Shift+>
会输入右双书名号,这时可以这样子输入:
》 引用块
转译成 html 后效果与上面相同:
引用块
通常情况下,Markdown 要求在某行文本的开头用一个英文(半角)大于号字符(即右尖括号)后面加上一个半角空格才能定义一个文本块。——也就是以>
开头的行才算引用块。
但我觉得不方便,于是去除了对半角空格的要求——只要某行以>
或》
开头,都算文本块。
在去除了对这个空格的要求后,格式化 Markdown 文本时往往会造成当前插入点光标位置变动——这是因为格式化时自动添加了空格。
实际上,即使不格式化,也照样编译为 Html ——结果一样。
支持哪些中文格式字符?
Markdown 本身较为复杂,而且还支持直接嵌入 Html 标签,所以几乎不可能做到中英文格式字符一一对应。
在制作这个程序时,仅仅是根据使用中最常见的几种情况来提供了中文(全角)格式字符的支持:
以
》
(右双书名号加半角空格)或》
(右双书名号加全角空格)开头,相当于以>
开头。用以划分表格行中各单元格的竖线。全角的
|
字符和半角的|
字符在编译为html时等效。
但是如果你想在正文
、引用块
中呈现这两个字符本身(而不是解释为表格单元格分隔符),你需要输入这两个字符的 Unicode 编码。全角竖线的 Unicode 编码是|
,半角竖线则是|
。
注意:代码块
、列表项
中的竖线字符(无论全角、半角)均会被解释为本身而不是表格单元格分隔线。
以分号开头的行是注释行,不会被编译到 Html 文档中。以中文全角分号
;
开头或者以半角英文分号;
开头效果是一样的。以冒号开头的行也是注释行,但是会被编译到 Html 文档中。全角冒号、半角冒号作用相同。
例如:
:注释文本01
:注释文本02
编译为 Html 后会呈现为: