Yue-plus / hexo-theme-arknights

明日方舟罗德岛阵营的 Hexo 主题,支持数学公式、Valine&Gitalk&Waline评论系统、Mermaid图表
https://arknights.theme.hexo.yue.zone/
MIT License
660 stars 71 forks source link

希望能在配置文件声明 mermaid 的版本 #32

Closed RyoJerryYu closed 2 years ago

RyoJerryYu commented 2 years ago

自己平时也习惯在 markdown 里用 mermaid 画流程图,一般使用 8.13.3 版本进行渲染。

最近在尝试这个主题时,发现平时写的一些可渲染的 mermaid 没法被渲染,显示 Syntax error 。 初步估计是 mermaid 版本原因。(因为我看源码里引用 mermaid 的版本为 8.11.0

由于我是使用 git submodule 的方式来引用这个主题,不方便直接修改源码。 希望能够将使用的 mermaid 版本加到配置中,这样我就能在自己项目中以 _config.[theme].yml 文件的方式设定 mermaid 的版本。

Yue-plus commented 2 years ago

已更新,现在使用 mermaid 8.13.5。 可参考 README.md#图表支持 修改版本。

RyoJerryYu commented 2 years ago

多谢及时回应!

不过有个比较尴尬的事情,就是我更新了 submodule 之后才发现出现 Syntax error 原来不是 mermaid 的版本问题。

问题的原因是这样的:

估计是静态渲染时先在 mermaid 代码块插入了标签,然后运行时才在浏览器里渲染 mermaid ,当然就 Syntax error 了。

我的解决方法

因为我已经习惯用代码块形式写 mermaid 了,因此不考虑更换为 blockquote 写法。

于是我采用了 hexo-filter-mermaid-diagrams 这个插件。 这个插件注册了一个过滤器,先把 mermaid 代码块处理为 <pre class="mermaid"> 的形式,在静态渲染时就不会被当作普通代码块渲染了。

几点提议

我很喜欢这个主题,十分感谢您开发了这个主题!

sakurawald commented 1 year ago

This works.