批量生成 Markdown:n8n 工作流


2025-09-20-batch-generation-of-markdown-with-n8n-workflow

Batch Generation of Markdown Files: n8n Workflow

在日常内容生产中,处理大量草稿文件时,手动操作效率低且易出错。借助 Python 脚本与 n8n 工作流,可以实现从草稿到带 FrontMatter 的 Markdown 文件的全自动化处理。

  1. 整体流程概览

批量生成 Markdown 的流程可以分为三个阶段:

阶段一:批量触发 • 使用 Python 脚本扫描草稿目录,筛选符合条件的文件(.md、.txt)。 • 构建包含文件名的 JSON 数据。 • 通过 HTTP POST 请求发送至 n8n Webhook。 • 输出触发结果(成功 [SUCCESS] / 失败 [ERROR]),便于监控批量处理进度。

阶段二:工作流处理 • n8n Webhook 接收请求,触发后续工作流。 • 读取草稿内容和 FrontMatter 模板文件。 • 标记数据来源,区分正文与模板。 • 合并模板与正文数据,形成统一输入流。 • 自动解析日期、标题、slug。 • 生成完整 FrontMatter 并拼接正文。

阶段三:Markdown 输出 • 将生成的 Markdown 内容转换为二进制格式。 • 写入指定目录,文件名沿用原始基础名,扩展名 .md。 • 批量完成 Markdown 文件生成,确保格式统一。

  1. 批量触发脚本说明

功能 • 遍历指定草稿目录,筛选 .md 和 .txt 文件。 • 将文件名封装为 JSON 负载,通过 HTTP POST 请求发送至 n8n Webhook。 • 输出每个文件的触发状态,便于监控。

脚本逻辑 • 使用 Python 的 os 模块遍历目录。 • 使用 requests 库发送 HTTP 请求。 • 异常处理保证网络请求稳定性。 • 支持批量触发工作流,自动化处理草稿文件。

运行方式

cd ~/n8n/workflow python3 “ContentTXT + FrontMatter to ContenMD.py”

•   如报 requests 模块不存在,请先执行:pip3 install requests。
•   若脚本目录和草稿目录不在同一级,可通过调整 DRAFTS_DIR 路径或从上级目录执行。

  1. n8n 工作流节点解析

Webhook 节点 • 接收 Python 脚本发送的文件名请求。 • 触发后续处理节点。

读取文件节点 • Read Chinese Content:读取草稿正文内容。 • Read ZH Front Matter Template:读取 FrontMatter 模板(frontmatter.txt),提供统一字段结构。

设置来源节点 • Set Chinese Source 和 Set Template Source:标记数据来源,区分正文与模板。

合并节点 (Merge Inputs) • 合并正文与模板数据,形成统一输入流。

生成 Markdown 节点 (Generate Markdown) • 自动解析日期、标题、slug。 • 拼接模板 FrontMatter 与正文。 • 输出完整 Markdown 文件内容,确保 FrontMatter 统一。

转换为二进制节点 (Convert to Binary) • 将字符串内容编码为 Base64,便于文件系统写入。

写入文件节点 (Save Markdown) • 将生成的 Markdown 文件写入 /data/posts/。 • 文件名保留原始基础名,扩展名 .md。

运行方式

http://localhost:5678 workflow - Execute workflow

  1. 附件与文件说明 • ContentTXT + FrontMatter to ContenMD.json n8n 工作流配置文件,定义节点及连接关系,实现自动化生成 Markdown 流程。 • ContentTXT + FrontMatter to ContenMD.py Python 脚本,批量扫描草稿并触发 Webhook。 • frontmatter.txt FrontMatter 模板文件,存放统一字段结构,保证生成 Markdown 文件格式一致。

  1. 分段运作方式总结
    1. 触发阶段:Python 脚本扫描目录 → 发送 POST 请求 → 批量触发工作流。
    2. 处理阶段:Webhook 接收 → 读取文件与模板 → 数据标记 → 合并 → 生成 Markdown 内容。
    3. 输出阶段:内容编码 → 写入文件 → 生成完整 Markdown 文件。

通过分段运作方式,流程更加清晰,每个阶段职责明确,便于监控和排错。

  1. 总结 • Python 脚本 + n8n 工作流实现了从草稿到 Markdown 的全自动化批量处理。 • 自动解析日期、标题、slug,并生成统一 FrontMatter。 • 适用于博客、知识库、文档批量转换场景。 • 提高生产效率,降低人工操作错误,增强内容管理的可维护性。