关于斜体、粗体与 GFM 的讨论
moeshin opened this issue · 1 comments
例如:
**注意:**这是一个不可逆的操作!
请点击**「这里」**来完成操作。
这样在一些解析器上是可行的。在 GFM 中的 Emphasis and strong emphasis 是这么讲:
A left-flanking delimiter run is a delimiter run that is (1) not followed by Unicode whitespace, and either (2a) not followed by a punctuation character, or (2b) followed by a punctuation character and preceded by Unicode whitespace or a punctuation character. For purposes of this definition, the beginning and the end of the line count as Unicode whitespace.
A right-flanking delimiter run is a delimiter run that is (1) not preceded by Unicode whitespace, and either (2a) not preceded by a punctuation character, or (2b) preceded by a punctuation character and followed by Unicode whitespace or a punctuation character. For purposes of this definition, the beginning and the end of the line count as Unicode whitespace.
大概意思是:左右两侧的定界符,里边第一个是标点符号,外边就要紧接一个标点符号或者空格。
所以我想到两种方法:
-
定界符外添加空格
注意: 这是一个不可逆的操作!
请点击 「这里」 来完成操作。 -
全角标点符号放置于定界符外
注意:这是一个不可逆的操作!
请点击「这里」 来完成操作。
大家怎么看?
GFMarkdown 写的是解析时如何逆推猜测作者意图,与排版无关。
全角标点本身就起到代替空格的作用,原则上两侧不需要空格。例外是等宽排版等特殊环境。