MuleRun 可通过模板引擎、字段映射、外部工具链、命名策略及验证机制导出结构化 Markdown 文件。具体包括:一、用 Jinja2 模板渲染数据;二、字段级 Markdown 格式转换;三、调用 pandoc 等工具增强排版;四、参数化设置导出路径与文件名;五、自动校验语法与结构有效性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 MuleRun 进行数据抓取或自动化任务后,希望将结果导出为结构清晰、可读性强的 Markdown 文件,则需配置其格式化输出行为。MuleRun 本身不直接生成 .md 文件,但可通过内置模板引擎、字段映射与后处理指令控制输出内容结构。以下是实现该目标的具体操作路径:
一、启用模板化 Markdown 输出
MuleRun 支持通过自定义 Jinja2 模板控制最终输出格式,将结构化数据(如 JSON 或表格)渲染为标准 Markdown 文本。此方式无需外部工具介入,全部在 MuleRun 流程内完成。
1、在 MuleRun 项目根目录下创建 templates/ 子目录,并新建文件 output.md.j2。
2、在该文件中编写符合 Markdown 语法的模板,例如使用 {{ item.title }} 渲染标题,{{ item.tags | join(', ') }} 渲染标签列表。
3、在任务配置 YAML 中添加 output_template 字段,值设为 templates/output.md.j2。
4、运行任务时,MuleRun 将自动将提取数据注入模板并写入指定路径的 .md 文件。
二、配置字段映射与 Markdown 元素转换
为确保原始字段(如 HTML 片段、富文本摘要)能安全转义并适配 Markdown 语义,需在字段级设置格式化规则。该步骤避免生成非法嵌套或破坏文档结构的输出。
1、在数据源 schema 定义中,为 target_field 字段添加 format: markdown 属性。
2、若字段含 HTML 内容,启用 html_to_md 转换器,在 pipeline 配置中加入 transform: html_to_md 指令。
3、对含链接或图片的字段,设置 auto_link: true,使纯 URL 自动转为 [text](url) 格式。
4、对多行文本字段启用 wrap_text: true,防止长段落溢出预览宽度。
三、集成外部 Markdown 工具链导出
当模板引擎无法满足复杂排版需求(如 Mermaid 图表、数学公式、多级折叠列表)时,可将 MuleRun 输出的中间 JSON 或 CSV 文件交由外部工具二次加工,生成增强型 Markdown。
1、在 MuleRun 任务末尾添加 shell 命令执行节点,调用 pandoc 命令:pandoc -f json -t markdown --wrap=none -o result.md input.json。
2、若需保留表格样式,添加 --filter pandoc-fignos 参数以支持编号引用。
3、对于含图像路径的字段,配合 --extract-media ./media 参数,自动将相对路径图片复制至 media/ 目录并修正链接。
4、在 MuleRun 的 post_hook 中配置该命令,确保每次任务完成即触发完整导出流程。
四、设置默认导出路径与文件命名策略
避免手动移动或重命名输出文件,应通过参数化方式固化导出位置与文件名逻辑,提升可复用性与团队协作效率。
1、在全局 config.yaml 中定义 export_base_dir: ./exports,作为所有导出文件的根目录。
2、在任务配置中使用 {{ now | strftime('%Y%m%d_%H%M%S') }} 动态生成时间戳后缀。
3、结合任务名称与数据维度,构造 filename: "{{ task_name }}_{{ platform }}_{{ now | strftime('%Y%m%d') }}.md"。
4、启用 overwrite: false 防止意外覆盖历史版本,MuleRun 将自动追加序号如 _v2。
五、验证 Markdown 输出有效性
导出文件必须通过基础语法校验与渲染一致性检查,否则可能在 Obsidian、Typora 或 GitHub 页面中显示异常。该验证应在导出后立即执行,而非依赖人工抽查。
1、在 post_hook 中调用 markdownlint-cli2 命令:npx markdownlint-cli2 "**/*.md" --fix。
2、添加 validate_frontmatter: true 配置项,强制检查 YAML 元数据块是否存在且格式正确。
3、对含代码块的字段,启用 language_inference: true,使 ``` 后自动补全语言标识(如 python、json)。
4、运行 mulerun validate --output-format markdown 指令,触发内置结构校验器扫描链接有效性与标题层级连续性。
















