多语言文档 Markdown 编辑器使用说明

多语言文档 Markdown 编辑器 使用文档
多语言文档 Markdown 编辑器 使用文档

模块简介

本模块为现有“内容管理-文档管理”增加 Markdown 导入、编辑、预览、草稿和安全展示能力。它不会替换原有富文本功能;每篇文档可独立选择“富文本”或“Markdown”内容格式。

已发布的 Markdown 内容会同时保存原文、经过安全处理的 HTML 和原文档兼容内容。模块停用后,原文档系统仍可展示已经发布的兼容内容。

安装与启用

模块依赖:

  • Vendor >= 4.8.0
  • I18nDocument >= 1.6.0
  • ModStart >= 5.0.0

操作步骤:

  1. 登录系统后台。
  2. 进入“模块管理-本地模块”。
  3. 找到“多语言文档 Markdown 编辑器”。
  4. 安装并启用模块。
  5. 刷新后台页面,进入“内容管理-文档管理”检查新增和编辑页面。

模块不会修改文档系统官方文件或新增独立菜单,而是通过模块自身的兼容代理在原有文档管理页面中提供 Markdown 能力。

模块配置

配置项 默认值 说明
前台渲染模式 server server 直接输出保存时生成的安全 HTML;client 在浏览器中解析原文,并在输出前再次执行安全处理
Markdown 导入上限 5 MB 允许设置为 1~5 MB;超过上限的文件不能导入
草稿自动保存间隔 30 秒 Markdown 内容发生变化后,按该间隔保存草稿

生产环境建议保持 server 模式。只有完成目标浏览器兼容性、安全和性能验证后,才建议灰度使用 client 模式。

新建 Markdown 文档

  1. 进入“内容管理-文档管理”。
  2. 点击“增加”。
  3. 选择父级、语言、图标并填写标题。
  4. 在“内容格式”中选择“Markdown”。
  5. 通过以下任意方式输入内容:
    • 点击“导入 Markdown”,选择本地 .md.markdown 文件;
    • 直接把 Markdown 内容粘贴到编辑器;
    • 点击“从富文本生成草稿”,把当前富文本内容转换成 Markdown 草稿。
  6. 使用“源码”“分屏”“预览”检查内容和效果。
  7. 确认页面没有未处理的资源警告。
  8. 点击“确定”保存文档。

导入成功后,页面会显示文件名、字符数、行数、标题结构和资源检查结果。

编辑已有文档

  1. 在文档管理列表中找到目标语言的文档并点击编辑。
  2. 如果该文档已经使用 Markdown,编辑器会加载已保存原文;存在自动草稿时优先恢复草稿。
  3. 修改内容并通过分屏或预览模式检查结果。
  4. 点击“确定”发布新内容。

如果系统提示内容已被其他窗口修改,应先复制当前未保存内容,再刷新页面核对最新版本。只有管理员明确确认其他修改可以丢弃时,才使用“强制覆盖”。

Markdown 文件要求

  • 文件扩展名必须为 .md.markdown,扩展名不区分大小写。
  • 文件编码必须为 UTF-8;支持带 UTF-8 标记的文件。
  • 常见系统换行符会统一转换为 LF
  • 文件大小不得超过模块配置的上限。
  • 相对图片或附件路径只会被识别并提示,不会自动上传或改变路径。
  • 本地文件地址、磁盘路径和网络共享路径会被标记为危险资源。

相对图片示例:

![产品图片](images/product.png)

发布前应替换为已经上传到站点的可访问地址:

![产品图片](/data/image/2026/08/24/product.png)

支持的常用语法

模块支持标题、段落、粗体、斜体、链接、图片、列表、引用、代码、表格、任务列表、删除线和分隔线等常用语法。

出于安全和跨环境兼容考虑,模块不启用流程图、数学公式、内嵌页面或不受控 HTML。

前台展示方式

server 模式

保存文档时,服务端解析 Markdown、清理危险内容,并把安全结果写入兼容内容字段。该模式是默认和推荐模式,对搜索、旧模板和模块停用回退的兼容性最好。

client 模式

页面获得 Markdown 原文后在浏览器中解析,并在写入页面前再次清理危险内容。如果浏览器解析失败,页面继续使用服务端 HTML。

多语言说明

  • 每种语言拥有独立的 Markdown 原文、草稿、渲染 HTML 和版本摘要。
  • 编辑一种语言不会覆盖其他语言。
  • 新建或编辑时应先确认“语言”选项是否正确。
  • 同一篇文档的不同语言可以分别使用富文本或 Markdown,发布前建议保持结构和资源一致。

安全限制

模块会清理或阻止脚本、内嵌页面、表单控件、事件属性、不受控样式、危险协议、本地磁盘路径和网络共享路径。允许的链接为站内相对地址以及常见安全网络和邮件地址。

常见问题

导入失败

按照页面返回的具体原因检查登录状态、文件扩展名、文件编码、文件大小及请求频率。若返回内容格式异常,重新登录后重试;仍失败时检查应用、运行环境和反向代理日志。

图片在编辑器中显示、前台无法访问

检查图片是否仍使用本机相对路径。先通过系统上传图片,再把地址替换为站内路径或安全网络地址。

提示存在并发修改

说明当前页面打开后,服务器上的同一语言内容又被其他窗口更新。不要直接覆盖,先备份当前编辑内容并核对差异。

停用模块后是否还能显示文档

可以。已发布内容同步写入原文档兼容字段;停用模块后原有文档系统仍可展示兼容 HTML,但 Markdown 编辑、草稿和原文管理功能不可用。

数据与运维

  • Markdown 扩展数据表为 i18n_document_markdown,实际表名会叠加项目数据库前缀。
  • 原文保存在 sourceMarkdown,安全 HTML 保存在 renderedHtml
  • 原文档兼容字段同步保存安全 HTML,不应手工只更新其中一个字段。
  • 模块停用或代码回滚不会自动删除 Markdown 原文表。
  • 执行数据库迁移、批量修复或删除孤儿记录前必须备份数据库。

只读检查孤儿扩展记录:

php artisan I18nDocumentMarkdown:AuditOrphans

只有在人工确认记录确实可以删除且已有备份时,才可使用 --delete

更新: 2026-08-24 19:27:44
QQ
微信
客服