我正在用 Django 制作个人主页。我正在使用django-markdownx作为文章模型的内容。另外,项目中已经实现了 Katex,在 Django 模板 HTML 中使用 JS 行来渲染 Latex。
我很难将这个 Katex JS 代码应用到 Django 管理页面。如何将下面的 JS 代码实现到 Django 管理页面的特定元素?我不希望将脚本应用于管理页面的所有元素,因为编辑文本框应该显示原始 Latex 代码,但只有预览部分应该将 Latex 部分呈现为方程式。
这里是 django-markdownx,和 Katex 参考:
https ://neutronx.github.io/django-markdownx/
https://katex.org/docs/api.html
这是我用于 Latex 渲染的 JS 代码块。
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css"
integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq"
crossorigin="anonymous"
/>
<!-- The loading of KaTeX is deferred to speed up page rendering -->
<script
defer
src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js"
integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz"
crossorigin="anonymous"
></script>
<!-- To automatically render math in text elements, include the auto-render extension: -->
<script
defer
src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js"
integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI"
crossorigin="anonymous"
onload="renderMathInElement(document.body);"
></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{ left: "$$", right: "$$", display: true },
{ left: "\\[", right: "\\]", display: true },
{ left: "$", right: "$", display: false },
{ left: "\\(", right: "\\)", display: false }
]
});
});
</script>