在AnQiCMS中进行内容创作,不仅可以依靠传统的富文本编辑器,新版更是引入了Markdown编辑器,为习惯使用Markdown语法的用户提供了极大的便利。Markdown以其简洁高效的特点,让内容撰写变得更加专注和快速。更令人欣喜的是,通过一些简单的配置,我们还能在网站上优雅地展示复杂的数学公式和直观的流程图。

接下来,我们将详细了解如何在AnQiCMS中启用Markdown编辑器,并确保您的数学公式和流程图能够正确无误地呈现在访问者面前。

开启Markdown编辑器功能

首先,启用Markdown编辑器是所有后续操作的基础。这个过程非常直接,只需在AnQiCMS的后台进行简单的设置。

进入您的AnQiCMS后台管理界面,在左侧导航栏中找到并点击“全局设置”,然后选择“内容设置”。在这个页面中,您会看到一个选项,用于启用或禁用Markdown编辑器。请勾选相应的选项以启用Markdown编辑器。启用后,当您在后台添加或编辑文档时,就可以选择使用Markdown语法来撰写内容了。

为高级内容显示做好准备:引入外部资源

虽然Markdown编辑器本身可以识别数学公式和流程图的语法,但要在网页上将它们渲染成可读的图形或样式,还需要借助一些前端库。这些库通常以JavaScript和CSS文件的形式存在,我们需要将它们引入到网站的公共模板文件中。

在AnQiCMS中,通常我们会在名为base.html的模板文件(位于/template目录下您当前使用的模板文件夹内)中进行这些全局性的引入操作。

1. 美化Markdown内容的默认样式

为了让Markdown内容在网页上呈现出更好的视觉效果,我们可以引入一套通用的Markdown样式库。这通常能让您的文章看起来更专业、更易读。

您可以在base.html文件的<head>标签内,添加以下代码来引入github-markdown-css

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.2.0/github-markdown.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" />

这段代码会从CDN加载一个CSS文件,为您的Markdown内容提供类似于GitHub的默认样式,提升阅读体验。

2. 正确显示数学公式

对于需要展示数学公式的场景,例如科学论文、技术博客等,MathJax是一个非常流行的解决方案,它能将LaTeX、MathML等格式的数学公式渲染成高质量的图像或文本。

同样在base.html文件的<head>标签内,加入以下JavaScript代码,以引入MathJax库:

<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

这段代码会异步加载MathJax的核心脚本,一旦页面内容加载完成,它就会自动扫描页面中的数学公式并进行渲染。

3. 动态展示流程图

流程图是表达复杂逻辑和步骤的有效工具。Mermaid是一个基于文本的JavaScript库,它允许您使用简单的Markdown风格语法来定义流程图、时序图等,并将其渲染成美观的SVG图形。

为了让Mermaid流程图在您的AnQiCMS网站上正常显示,您需要在base.html文件的<head>标签内(或者</body>结束标签之前),添加以下代码:

<script type="module">
    import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
    mermaid.initialize({ startOnLoad: true });
</script>

这段代码通过ES模块的方式加载Mermaid库,并初始化它,使其在页面加载完成后自动查找并渲染流程图代码。

在文档中创建和展示Markdown内容

完成上述配置后,您就可以在AnQiCMS后台的文档编辑页面尽情使用Markdown来撰写内容了。

在文档编辑器的内容区域,您可以使用标准的Markdown语法,包括标题、列表、链接、图片等。对于数学公式,您可以采用LaTeX语法,例如使用$$...$$$...$包裹公式。对于流程图,您可以直接嵌入Mermaid语法块,通常以”`mermaid开头和结尾。

例如,一个简单的数学公式可能这样写:$$E=mc^2$$。 一个流程图可能这样写:

graph TD
    A[开始] --> B{判断};
    B -- 是 --> C[执行操作];
    C --> D[结束];
    B -- 否 --> D;

当您保存包含Markdown内容(尤其是数学公式和流程图)的文档时,AnQiCMS的系统核心会将这些Markdown文本转换为HTML。特别值得一提的是,在AnQiCMS的模板标签archiveDetail中,获取文档内容Content时,如果Markdown编辑器已启用,它会自动进行Markdown到HTML的转换。您也可以通过render=truerender=false参数来手动控制这种转换,以应对特殊需求。这意味着您无需担心内容无法解析的问题,系统会处理好底层转换,并通过之前引入的JavaScript库进行最终渲染。

通过这些步骤,您的AnQiCMS网站将能够充分利用Markdown编辑器的强大功能,不仅让内容创作更高效,还能通过美观的排版、清晰的数学公式和动态的流程图,极大地提升您的内容质量和用户体验。


常见问题解答 (FAQ)

Q1: 为什么我启用了Markdown编辑器并在内容里写了数学公式和流程图,但前台页面上它们却没有被正确渲染,只是显示了原始代码?

A1: 这通常是因为您没有在网站的公共模板文件(例如base.html)中引入渲染数学公式(如MathJax)和流程图(如Mermaid)所需的JavaScript和CSS库。请务必按照文章中“为高级内容显示做好准备:引入外部资源”的步骤,将相应的CDN链接添加到您的base.html文件中,确保这些前端库能够被浏览器加载并执行。

Q2: 我可以直接在AnQiCMS后台的文件管理器中修改base.html文件吗?

A2: 是的,AnQiCMS提供了便捷的模板设计功能。您可以进入后台的“模板设计”区域,找到当前使用的模板,并在线编辑其文件。在/template目录下,找到您正在使用的模板文件夹,然后打开base.html文件进行修改。这种方式方便快捷,但请务必在修改前做好备份,以防不必要的错误。

Q3: 除了在base.html中添加CDN链接,我可以在其他文档或分类的独立模板文件里添加这些代码吗?

A3: 理论上是可以的。如果某个特定的文档或分类页面需要显示数学公式或流程图,而其他页面不需要,您可以在该文档或分类的独立模板文件(例如article_detail.htmlcategory_list.html)中单独引入这些CDN链接。然而,base.html是所有页面共享的基础模板,将这些公共资源放在base.html中是最常见、最方便管理和维护的做法,可以避免重复添加和遗漏。