mirai-mamori / Sakurairo

一个多彩、轻松上手、体验完善,具有强大自定义功能的WordPress主题(基于Sakura主题,支持简繁英日多语言)A Colorful, Easy-to-use, Perfect Experience, and Powerful Customizable WordPress Theme (Based on Theme Sakura. Support Simplified Chinese, Traditional Chinese, English and Japanese languages)
https://docs.fuukei.org
GNU General Public License v2.0
3.01k stars 353 forks source link

在加入Markdown插件后,代码块和Katex无法共存的问题 #908

Closed SkySight-666 closed 1 month ago

SkySight-666 commented 3 months ago

问题出处:

文章中的代码块以及Katex公式

实际行为描述:

第一次加载时,代码块显示正常,Katex不渲染。刷新后,Katex渲染,代码块不正常。 触发问题后造成了什么效果及影响?

预期的行为:

均正常显示

复现步骤:

网址:https://jcjr.cloudns.ch/2024/07/07/%e9%a2%98%e8%a7%a3%ef%bc%9a%e7%ac%a6%e5%8d%a1%e5%88%b6%e4%bd%9c/ 插件:WP Editor.md

配置与环境:

截图(若有)

提供一个此问题触发的截图或报错信息。若没有,则留空。

补充信息:

提供尽可能多的相关信息。

github-actions[bot] commented 3 months ago

@WUYINAN-666,感谢你给 sakurairo 提出了 issue。ヾ(≧▽≦*)o 请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。

KotoriK commented 2 months ago

现在好像没问题?

SkySight-666 commented 2 months ago

现在好像没问题?

咦,我那个链接还是有问题的呀 代码块被显示成一行了

KotoriK commented 2 months ago

it works on my machine image

KotoriK commented 2 months ago

你提到的Katex不渲染是因为开启了PJAX,而Katex渲染所需的JS插件没有在PJAX完成后渲染导致的 解决方案:

  1. Katex转为服务端渲染
  2. 关闭PJAX
  3. 主题目前自带MathML支持,可以将Katex转换成MathML

不过MathML挺长的效率不高,如果有合适的HTML markup可以主题这边统一做渲染支持

KotoriK commented 2 months ago

代码块变成一行的原因没有解明,猜测可能是关键CSS缺失导致的,多刷新就好了

SkySight-666 commented 2 months ago

你提到的Katex不渲染是因为开启了PJAX,而Katex渲染所需的JS插件没有在PJAX完成后渲染导致的 解决方案:

  1. Katex转为服务端渲染
  2. 关闭PJAX
  3. 主题目前自带MathML支持,可以将Katex转换成MathML

不过MathML挺长的效率不高,如果有合适的HTML markup可以主题这边统一做渲染支持 代码块变成一行的原因没有解明,猜测可能是关键CSS缺失导致的,多刷新就好了

其实Katex渲染刷新一下就好的,问题不大 主要是代码块在我这边怎么刷新显示都是异常的 image 如图所示

也许是些玄学问题,不过还是谢谢大佬,抽空回复我的issue

SkySight-666 commented 2 months ago

代码块变成一行的原因没有解明,猜测可能是关键CSS缺失导致的,多刷新就好了

我发现,在markdown中编写代码块时将 ```cpp 改为只有 ``` 就可以解决该问题 image -> image 但是这样一来,一是我的markdown编辑器没法正确识别代码块 二是文章中显示的代码块无法正确识别语言

image

github-actions[bot] commented 1 month ago

这个 Issue 已经 30 天没有任何活动了,将被标记为过时 stale。删除 stale 标签或评论,否则将在 7 天内关闭。