**你好。**好的
**hello.**yes
如上加粗显示失效。
**你好。**好的
**hello.**yes
如上加粗显示失效。
你好。好的
你好。好的
你好。好的
嗯?不管我用 ** 还是 B 按钮,得到的都是粗体字。在 Markdown 编辑器和富文本编辑器(RTE)里也一样。
**Hello. Okay.**hello
最后的**前有标点符号,后面紧跟着文字。你试试。
以下格式会失效
**+文字+标点符号+**+文字
你好。好的。 一些文本
以及
你好好的 没有标点符号
但如果我们在标点和结束的 ** 之后不加空格,就会发生这种情况:
**你好好的。**文本
**你好好的。**文本
对比
**你好好的。** 文本
你好好的。 文本
我不知道这是 Markdown 的 bug 还是特性,还是其他什么。
我认为问题不在于星号前面的标点符号,而在于星号后面没有空格的文本。
带有标点符号。 空格文本
**带有标点符号。**无空格文本
**带有标点符号。** 空格文本
**带有标点符号。**无空格文本
我知道。这是 Markdown 的默认行为。![]()
这是 Markdown 中的一个已知问题,除非你能更改 Markdown 解析器,否则无法修复。
我的变通方法是使用 <span></span>
**是的。**<span></span>对的。 是的。对的。
根据 CommonMark 规范,** 只有作为右边界定符序列的一部分时,才能结束强强调。如果界定符前面是标点符号(.),后面是单词字符(t),则它不是右边界定符,因此无法结束强调。markdown-it 会将其解析为纯文本。同样的规则也适用于 *、_ 和 __。
我想我们对此无能为力,因为我们遵循的是规范,但这让我发现富文本编辑器 Markdown 序列化器存在一个 bug:如果你使用 UI 构建这种情况(**text.**text),它在富文本编辑器中显示正常,但渲染后却变成了纯文本。这个 PR 通过将标点符号从标记区域中排除来解决此问题,使其变为 text.text(**text**.text)。
我仍然可以重现此错误,标点符号仅在我切换到 Markdown 编辑器或发布后才被移出。
富文本编辑器测试:text.text
标点符号最初仍然加粗