halo-sigs / plugin-katex

为默认编辑器和文章渲染提供 KaTeX 支持。
https://halo.run/store/apps/app-ISCsX
GNU General Public License v3.0
8 stars 5 forks source link

stackedit 编辑器下无法渲染 Katex 公式 #5

Closed kierankihn closed 1 year ago

kierankihn commented 1 year ago

Katex 插件启用后无法正常渲染 Katex 公式,无论是行间公式,行内公式均无法正常显示

katex 代码:

$$n_{ka} = \sum \limits_{i = 1}^a {(i -1) \times k + 1} = \frac {(1 + k(a - 1) + 1) \times a}{2}$$

$n_{ka} = \sum \limits_{i = 1}^a {(i -1) \times k + 1} = \frac {(1 + k(a - 1) + 1) \times a}{2}$

$$
n_{ka} = \sum \limits_{i = 1}^a {(i -1) \times k + 1} = \frac {(1 + k(a - 1) + 1) \times a}{2}
$$

以上代码均无法正常渲染

blog 链接:https://blog.kierankihn.com/archives/test

kierankihn commented 1 year ago

以及插件好像会错误渲染非 Katex 内容为 Katex 格式

为打开插件时:

未打开插件

打开插件时:

打开插件

xinkeng0 commented 1 year ago

此插件分为2个部分。

  1. 对 richer-editor的公式扩展(会影响编辑器生成的HTML)
  2. 文章页使用KaTex.js渲染公式。

$$n_{ka} = \sum \limits_{i = 1}^a {(i -1) \times k + 1} = \frac {(1 + k(a - 1) + 1) \times a}{2}$$ 这个公式我这边测试Katex.js是可以渲染的,所以需要确认下stackedit编辑器生成的HTML格式。

xinkeng0 commented 1 year ago

以及插件好像会错误渲染非 Katex 内容为 Katex 格式

为打开插件时:

未打开插件

打开插件时:

打开插件

这个是目前KaTex渲染的规则为:

delimiters: [
              {left: '$$', right: '$$', display: true},
              {left: '$', right: '$', display: false},
              {left: '\(', right: '\)', display: false},
              {left: '\[', right: '\]', display: true}
 ],

看来需要去除这俩种:

delimiters: [
              {left: '\(', right: '\)', display: false},
              {left: '\[', right: '\]', display: true}
kierankihn commented 1 year ago

我使用默认的富文本编辑器尝试了一下,发现确实可以展示上述公式

但是使用 stackedit 编辑器的 KaTeX 公式无法正常显示,发现同一个公式会部分展示为 KaTeX,另一部分会以文本形式展示

stackedit 的公式改为[]的格式就可以正常在文章页面展示,但在 stackedit 里无法预览

image

图中上两个公式使用的是 $$$$,下边使用的是 []