阅读模式下,一句话前后加两个星号,是加粗。
显示没问题
编辑模式下,这句话后面两个星号会影响到后一句话也会加粗。
除非我在这两个星号后加空格,或者把这两个星号挪到句号里面。
能不能让他显示正常?
在markdown里, 一对星号包裹文字, 是斜体的语法, 比如*123*
= 123, 而两对星号包裹文字, 则是粗体的语法, 比如**123**
= 123.
所以当你直接键入**+xxx的内容时, 比如**所以在隔板...
, markdown编辑器会认为你插入了一半的粗体语法, 是正在书写粗体, 并默认你稍后会再次键入**, 以使**所以在隔板...
语法闭合为**所以在隔板...**
.
如果你想单纯键入两个星号, 要么用转义字符阻断星号的语法表达, \*\*所以在隔板...
= **所以在隔板…, 要么把双星放入行内代码块中, 也即 `**`所以在隔板...
= **
所以在隔板…
楼主的意思是这个,中文句号会导致星号判断错误,把后面的东西也加粗:
有符号不行。可以改成用 <strong></strong>
把文字包裹起来,渲染效果应该是一样的。
我的意思是楼下 the_tree 的意思
句号或者逗号会影响的星号的判断
是的,是这个意思
那样就不如输入星号方便快捷了
这个应该是 markdown 的通病, 当加粗结束符号前面紧挨着特殊字符(比如标点),同时后面紧跟着内容时,就会解析错误。大部分markdown编辑器都有这种行为。
我尝试了 github 的评论区、marked 库的demo页面、commonmarkjs 的 demo 页面、zed 编辑器的 markdown 源码和预览模式、vscode markdown 的预览
**xx.**yy
的解析都会出问题
没有出问题的有:obsidian 的预览模式、tapora、vscode markdown 的源码模式
可能的一个解决方法,就是在结束的 **
后面,多加一个空格: