无代码加密 无额外授权 版本号:1.0.0
适配PHP:7.4+
最近更新:1.0.0 1个月前
v1.0.0
Mermaid 图表可视化(em_mermaid)
Emlog 插件,把文章正文里的 mermaid 代码块渲染为流程图、时序图、类图、状态图、饼图、甘特图等。
写作方式
正文中任选一种写法,均会被渲染;在 Emlog 后台写文章时点击 Editor.md 工具栏的预览按钮,也会直接显示图形化结果:
- 短代码:
[mermaid] ... [/mermaid] - Markdown 围栏:三个反引号加
mermaid - HTML 代码块:
<pre> ... </pre> - 高亮代码块:
<pre><code> ... </code></pre>
示例:
[mermaid]
graph TD
A[用户提交] --> B{校验通过}
B --> C[写入数据库]
B --> D[返回错误]
[/mermaid]
配置项
| 配置 | 说明 |
|---|---|
| 图表主题 | default / neutral / forest / dark / base |
| 脚本来源 | 本地内置 mermaid 10.9.1,或自定义 CDN 地址 |
| 图表最大宽度 | 40% - 100%,相对正文宽度 |
| 图表字体 | 留空跟随主题 |
| 图表工具栏 | 放大查看、查看源码、下载 SVG |
| 全站加载脚本 | 主题异步加载正文时开启 |
实现要点
- 内容替换走官方轮流接管挂载点
article_content_echo,不改动核心表与核心文件 - 后台预览走官方
adm_writelog_head挂载点,绑定 Editor.md 的loaded和onpreviewing事件 - 资源加载走
index_head与index_footer;默认只在检测到图表的页面输出 mermaid 脚本 - 配置通过
Storage存于storage表,删除插件时由callback_rm用deleteAllName('YES')清空,属绿色插件 - mermaid 初始化使用
securityLevel: strict,图表源码在服务端经htmlspecialchars转义后输出 - 渲染兼容 mermaid 10 的 Promise 形式与旧版回调形式;语法出错时保留源码并在图表框内提示
许可证
本插件以 GNU General Public License v3.0 或更高版本发布,全文见根目录 LICENSE。
内置的 assets/mermaid.min.js 属第三方组件(mermaid 10.9.1),由其自身的 MIT 许可证约束,版权归 mermaid 项目作者所有。



评论一下吧
取消回复