Open liurongjie opened 3 years ago
这边也遇到了这个问题,我的猜测是他的 markdown 渲染和 katex 渲染是拆开的。
https://github.com/shi-yang/jnoj/blob/5115f928d875951e3e7f44f021bae75b3ffc0ae5/components/Formatter.php#L29-L40
遇到下面的 markdown 文本:
test $n_{i,j},n_{i,j}$
在渲染 markdown 时是不管两个下划线是不是在 $ 里面的,直接当作 markdown 中的斜体处理:
$
<p>test $n<em>{i,j},n</em>{i,j}$</p>
转为 html 后再开始公式渲染,至于怎么渲染法应该还是看这个文件,表示看的有点晕。 但我猜测这个 <em></em> 的出现阻止了 katex 的渲染。
<em></em>
暂时没有什么好的解决方法,dirty hack 倒是有一个,但只限于解决公式中的下划线被识别为斜体的问题。
https://github.com/shi-yang/jnoj/blob/5115f928d875951e3e7f44f021bae75b3ffc0ae5/vendor/cebe/markdown/inline/EmphStrongTrait.php#L37-L38
把这个判断条件删掉(别忘了前面的 || 也要删):
||
$marker === '_' && preg_match('/^__((?>\\\\_|[^_]|_[^_]*_)+?)__/us', $text, $matches)
这里同理: https://github.com/shi-yang/jnoj/blob/5115f928d875951e3e7f44f021bae75b3ffc0ae5/vendor/cebe/markdown/inline/EmphStrongTrait.php#L57-L58
删掉判断条件:
$marker === '_' && preg_match('/^_((?>\\\\_|[^_]|__[^_]*__)+?)_(?!_[^_])\b/us', $text, $matches)
当然编辑 markdown 文本,如果要把一段文字设置为斜体,就只能 *要倾斜的文字* 这样子了。
*要倾斜的文字*
要注意的是,如果后面用 composer 更新依赖项,这些改动可能会被覆盖。
如果还是有乱码的情况,考虑先上传图片(捂脸)?
这边也遇到了这个问题,我的猜测是他的 markdown 渲染和 katex 渲染是拆开的。
https://github.com/shi-yang/jnoj/blob/5115f928d875951e3e7f44f021bae75b3ffc0ae5/components/Formatter.php#L29-L40
遇到下面的 markdown 文本:
在渲染 markdown 时是不管两个下划线是不是在
$
里面的,直接当作 markdown 中的斜体处理:转为 html 后再开始公式渲染,至于怎么渲染法应该还是看这个文件,表示看的有点晕。 但我猜测这个
<em></em>
的出现阻止了 katex 的渲染。暂时没有什么好的解决方法,dirty hack 倒是有一个,但只限于解决公式中的下划线被识别为斜体的问题。
https://github.com/shi-yang/jnoj/blob/5115f928d875951e3e7f44f021bae75b3ffc0ae5/vendor/cebe/markdown/inline/EmphStrongTrait.php#L37-L38
把这个判断条件删掉(别忘了前面的
||
也要删):这里同理: https://github.com/shi-yang/jnoj/blob/5115f928d875951e3e7f44f021bae75b3ffc0ae5/vendor/cebe/markdown/inline/EmphStrongTrait.php#L57-L58
删掉判断条件:
当然编辑 markdown 文本,如果要把一段文字设置为斜体,就只能
*要倾斜的文字*
这样子了。要注意的是,如果后面用 composer 更新依赖项,这些改动可能会被覆盖。
如果还是有乱码的情况,考虑先上传图片(捂脸)?