编辑模式下星号后显示有问题


阅读模式下,一句话前后加两个星号,是加粗。
显示没问题


编辑模式下,这句话后面两个星号会影响到后一句话也会加粗。
除非我在这两个星号后加空格,或者把这两个星号挪到句号里面。

能不能让他显示正常?

在markdown里, 一对星号包裹文字, 是斜体的语法, 比如*123* = 123, 而两对星号包裹文字, 则是粗体的语法, 比如**123** = 123.
所以当你直接键入**+xxx的内容时, 比如**所以在隔板..., markdown编辑器会认为你插入了一半的粗体语法, 是正在书写粗体, 并默认你稍后会再次键入**, 以使**所以在隔板...语法闭合为**所以在隔板...**.
如果你想单纯键入两个星号, 要么用转义字符阻断星号的语法表达, \*\*所以在隔板... = **所以在隔板…, 要么把双星放入行内代码块中, 也即 `**`所以在隔板... = **所以在隔板…

楼主的意思是这个,中文句号会导致星号判断错误,把后面的东西也加粗:
image

有符号不行。可以改成用 <strong></strong> 把文字包裹起来,渲染效果应该是一样的。

我的意思是楼下 the_tree 的意思
句号或者逗号会影响的星号的判断

是的,是这个意思

那样就不如输入星号方便快捷了

这个应该是 markdown 的通病, 当加粗结束符号前面紧挨着特殊字符(比如标点),同时后面紧跟着内容时,就会解析错误。大部分markdown编辑器都有这种行为。

我尝试了 github 的评论区、marked 库的demo页面、commonmarkjs 的 demo 页面、zed 编辑器的 markdown 源码和预览模式、vscode markdown 的预览

**xx.**yy 的解析都会出问题

没有出问题的有:obsidian 的预览模式、tapora、vscode markdown 的源码模式

可能的一个解决方法,就是在结束的 ** 后面,多加一个空格:
image

合并:【解答合集】实时预览/编辑模式粗体斜体显示问题