龙骧 (@Todayhacker) 在 markdown 中发帖
在纯英文语境下不需要,但在中文(CJK)语境下,强烈建议加空格。
这背后其实涉及两个层面的原因:解析器的技术原理 和 排版美学。
1. 技术层面:为什么中文环境经常“翻车”?
Markdown 最初是为英文设计的。在英文中,单词之间天然有空格,Markdown 解析器(Parser)非常依赖这些“边界”来判断哪里是语法的开始,哪里是结束。
英文的情况: word **bold** word。解析器很容易识别。即便写成 un**believ**able(词内加粗),大多数现代解析器也能处理,因为字母和星号的组合比较单纯。
中文的情况: 中文句子中间没有空格。当你写 ...一**“... 时,解析器面对的是【汉字】+【符号】+【中文标点】。
根据 CommonMark(通用 Markdown 标准)的复杂定义,当 ** 紧挨着标点符号(如 “)时,它对“前一个字符是什么”有严格要求。
...