Markdown Front Matter解析器

解析Hugo/Jekyll/Next.js等静态站点Markdown开头的Front Matter,分离字段与正文,支持表单编辑后合并生成完整文档。简化版YAML解析,非完整规范实现。

免费在线工具
Loading…

使用说明

  1. 把开头带 --- 包裹 Front Matter 的完整 Markdown 文本粘贴到输入框,点击“解析”
  2. 解析后 Front Matter 字段会显示为可编辑表单(每行一个字段),正文 Markdown 会分离显示在右侧文本框;如果输入内容里有简化解析器不支持的复杂写法(如多层嵌套对象),会在“解析提示”区域具体列出是第几行、什么内容被跳过了
  3. 可以直接在表单里修改字段的 key 或 value,数组类型字段用英文逗号分隔多个值;也可以点击“+ 添加字段”新增一个字段,或点击某行的“删除”移除字段
  4. 修改正文文本框内容即可编辑正文
  5. 点击“合并生成完整 Markdown”,会把当前表单里的字段和正文重新组合成一份完整的、带 --- Front Matter 的 Markdown 文本,显示在最下方,可一键复制
  6. 点击“加载示例Front Matter文档”可以快速填入一份包含字符串/日期/布尔/数字/数组等多种字段类型的示例文档

功能介绍

  • 自动识别并分离 Markdown 开头 --- 包裹的 Front Matter 部分与剩余正文内容
  • 简化版 YAML 解析支持:字符串、数字、布尔值、日期格式字符串(原样保留为字符串,不做日期计算)、行内数组写法 tags: [a, b, c]、多行 - item 列表数组
  • 反向操作:把解析出的字段渲染成表单,支持直接编辑字段名/字段值(含新增、删除字段)以及编辑正文,再一键合并生成完整的带 Front Matter 的 Markdown 文本
  • 遇到简化解析器不支持的内容(多层嵌套对象、多层嵌套数组、YAML 锚点引用 &/* 等复杂语法)不会报错崩溃或产出错误数据,而是生成具体到行号的提示信息并跳过该内容
  • 重要限制:这是简化版YAML解析器,不是完整的YAML规范实现,仅覆盖 Hugo/Jekyll/Next.js MDX 等静态站点生成器最常用的 Front Matter 写法,复杂YAML文档请使用专业YAML工具处理

使用场景

静态博客文章批量检查
快速查看Hugo/Jekyll博客文章的Front Matter字段(标题、日期、标签等)是否填写完整、格式是否规范。
Next.js MDX内容迁移
在不同静态站点生成器之间迁移内容时,用表单快速调整Front Matter字段名和取值,再合并导出新文档。
文章元数据批量编辑
临时需要修改某篇文章的发布状态、标签或分类,用表单直接改字段值,无需手动对齐YAML缩进和语法。
内容规范培训与排查
给团队演示Front Matter的YAML语法边界(哪些能解析、哪些不支持),帮助新人理解为什么某些复杂写法在静态站点生成器里会出问题。

常见问题

这个工具支持完整的YAML语法吗?
不支持。这是一个简化版YAML解析器,只覆盖 Front Matter 场景最常用的写法:顶层 key: value(字符串/数字/布尔/日期字符串)、行内数组、多行列表。多层嵌套对象、多层嵌套数组、YAML锚点与引用(&、*)等复杂语法不支持,遇到会生成提示并跳过,不会伪造解析结果。
日期字段会被解析成Date对象吗?
不会。日期格式的字符串(如2024-01-01)会原样作为字符串保留,不会做任何日期计算或时区转换,避免简化解析器对日期做出不准确的假设。
解析提示里说某一行被跳过了,我的数据是不是丢失了?
在解析结果里对应字段确实不会出现(或数组为空),但你的原始输入文本本身没有被修改或丢失,提示信息会告诉你具体是第几行、什么内容不受支持,你可以手动检查原始文档。
表单编辑后合并生成的文档,格式和我原来的完全一样吗?
不完全一样。合并功能会按固定规则重新生成YAML文本(如统一用行内数组格式、必要时补充双引号),不会保留原始文档的注释、字段顺序之外的排版细节,但字段的键值内容会被正确保留。
没有Front Matter的Markdown文档解析会报错吗?
不会报错。工具要求Front Matter必须从文本第一行开始用---包裹,如果检测不到会提示“未检测到Front Matter”,并把全部输入内容当作正文处理,字段表单为空。