-
你当前使用的版本lts2.x latest 描述一下此特性最近想手搓个halo 主题,于是就开始看开源大佬们的主题代码以及一些官方插件,发现文章渲染这块很矛盾。 以 highlight.js 为例,它本应该是一个前端的渲染脚本,加上主题要使用 pjax 加载,需要掌握回调渲染的时机,这么看着它像属于主题的一部分吧。但是,又出了相应的官方插件,但插件引入的优势是在后端的前台 UC 支持编辑器预览,这么看着它做成插件引入也很合理。 再以 katex 为例,假如我使用的是 Markdown 格式而非官方的富文本方式写文章,用的 vditor 编辑器,那你可能会看到在 vditor 编辑器在前端渲染中引入了 katex.js,在官方 katex 插件里再引入 katex.js,在主题里又引入了 katex.js 这么多种可能。灯箱这类文章渲染的插件也是类似。 说了这么多,可能已经比较混乱了,那就回到一个具体的问题上:katex/highlightjs 这类文章渲染脚本该由插件引入?还是编辑器引入?还是主题引入? 附加信息No response |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
说到底,就是前端实现混乱,谁都想实现,官方出的 KaTex、highlight.js 就是想统一实现,我们肯定是优先考虑默认编辑器,让其在编辑阶段和最终渲染阶段保持统一。你说到的 vditor 这种我们几乎无法干预,插件说明应该也有对应的适配提示。
你可以说出你的建议。 |
Beta Was this translation helpful? Give feedback.
这样可能会更加混乱,从正常的使用流程来讲,用户很可能在编辑阶段可以正常渲染,但他并不知道为什么他的主题不支持。在 1.x 阶段我们就已经遇到了很多这样的问题,比如:编辑器支持代码高亮、数学公式、图表,但当前主题支持的不完整,可能使用了和编辑器不同的渲染库(代码高亮就有 highlight.js、prism.js,数学功能有 KaTex、MathJax 等),也可能完全不支持,这就会导致体验上的差异。
如果你指的是让主题扩展默认编辑器,比如让主题扩展编辑器的代码高亮渲染。这确实是一个很好的想法,在未来的大版本迭代中可能会考虑,基本上有两种实现方式: