Wagtail StreamField 块,用于渲染数学方程
项目描述
wagtail-polymath
链接
wagtail-polymath 允许您在 Wagtail 内容中使用标记来编写方程式,并以美观的方式渲染它们。
wagtail-polymath 提供了一个 MathBlock
,您可以在此处使用标记(TeX、MathML、ASCIIMath)编写方程式,并用 MathJax 进行渲染。它具有实时预览功能
MathBlock
使用 MathJax 进行渲染,因此在前端几乎不需要做什么。只需简单地包含 MathJax JS 并像其他任何 streamfield 纯文本块一样渲染原始的 MathBlock
内容即可。
wagtail-polymath 还包括一个模板标签,可以为您从 CDN 中包含 MathJax JS。默认情况下,MathJax 被配置为接受所有已识别的标记(TeX、MathML、ASCIIMath),并将它们渲染为 HTML。要更改配置,您可以向模板标签传递所需的配置命令。有关可能的配置,请参阅 MathJax 文档。
有关使用标记语言的帮助,请参阅相关的 MathJax 文档(例如 https://docs.mathjax.org/en/v2.7-latest/tex.html)和特定标记语言的文档(例如 https://wikibooks.cn/wiki/LaTeX)
快速入门
安装 wagtailmath
pip install wagtailmath
将其添加到您的 INSTALLED_APPS
# settings.py
INSTALLED_APPS = (
# ...
"wagtailmath",
# ...
)
在您的 StreamField
内容中使用 MathBlock
from wagtailmath.blocks import MathBlock
class MyPage(Page):
body = StreamField([
('heading', blocks.CharBlock(classname="full title")),
('paragraph', blocks.RichTextBlock()),
('equation', MathBlock())
])
在您的前端模板中使用 mathjax
模板标签来加载 MathJax 库
{% load wagtailmath %}
...
<script src="{% mathjax %}"></script>
贡献
欢迎所有贡献!请参阅 CONTRIBUTING.md
支持的版本
- Python 3.8, 3.9, 3.10, 3.11, 3.12
- Django 4.2, 5.0
- Wagtail 5.2 (LTS), 6.0, 6.1
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。