For AI agents: the complete documentation index is available at https://lazygophers.github.io/pamphlet/llms.txt, the full documentation bundle is available at https://lazygophers.github.io/pamphlet/llms-full.txt, and this page is available as Markdown at https://lazygophers.github.io/pamphlet/reference/frontmatter.md.
  • 简体中文
  • frontmatter 参考

    没有配置文件。 全部配置都写在源文档开头的 frontmatter 里 —— 那两行 --- 中间的部分。

    ---
    spec: 1
    title: 架构方案
    lang: zh-CN
    toc:
      enable: true
      deep: 3
    ---

    这么定的理由是:一份源文档 = 一个产物,配置跟着文档走,拷贝文档就等于拷贝配置。多一个配置文件就多一处「文档在这、设置在那」的脱节。

    认识的字段

    只有六个。写别的会报 DOC-102 警告并列出这份清单 —— 不静默忽略,因为静默忽略会让你以为配置生效了。

    字段类型缺省说明
    spec整数不填 = 不检查这份文档要求的最低编译器语法版本
    title字符串第一个 # 标题产物的 <title>
    theme字符串default用哪一套内置主题
    lang字符串zh-CN产物 <html lang="…">
    toc布尔或对象关目录
    engines对象—自定义引擎:外部命令,图源走 stdin、SVG 走 stdout

    spec

    spec: 1

    作用是单一的:标记「这是一本 pamphlet 的源文档」。当前编译器支持的版本是 1。

    写得比编译器支持的高会报 DOC-101,提示升级。不是整数报 DOC-103。

    它不再触发多套解析器行为 —— 只维护一套解析器。见安装页的兼容性承诺。

    title

    title: 架构方案

    不填时按这个顺序找:文档里第一个 # 一级标题 → 都没有就用字面量 pamphlet。

    theme

    theme: editorial

    内置主题按文档类型分,每套长什么样见内置主题。

    命令行的 --theme 压过这个字段 —— 一次性的意图应该能盖过文档的长期设定。

    名字不认识报 DOC-106,退回 default 继续编译:主题错了只影响长相,内容是对的。

    lang

    lang: en

    写进产物的 <html lang="…">。缺省 zh-CN。

    它影响屏幕阅读器怎么念、浏览器怎么断行和拼写检查,不影响编译器的任何行为。

    toc

    最简写法:

    toc: true

    完整写法:

    toc:
      enable: true
      deep: 3
      skipTabs: true
      position: side
    子字段类型缺省说明
    enable布尔false不显式打开就没有目录
    deep1–6 的整数2收到第几级标题
    skipTabs布尔true目录里跳过 Tab 生成的标题
    positiontop / sideside常驻侧边菜单,或收在正文开头

    目录是纯静态的:一段嵌套列表加锚点链接,零 JavaScript。

    一级标题(#)不进目录 —— 它是文档标题本身。deep 超出 1–6 报 DOC-103。

    skipTabs 为什么缺省是 true

    Tab 面板在语义上是同一话题的几种视角,出现在目录里会让读者以为它们是不同章节。

    但 Tab 标题为了无障碍和深链被做成了真标题,注定会进文档大纲 —— 所以目录这一侧必须有这个开关。

    position 放哪一侧

    缺省是 side:一个常驻的侧边菜单,纯 CSS sticky,零 JavaScript。窄屏(< 60rem)自动退回文档顶部。

    想让目录收在正文开头、跟着页面一起往下滚:

    toc:
      position: top

    这两个值之外的写法报 DOC-103 错误 —— 不静默退回缺省,否则你会以为写的那个值生效了。

    engines

    engines:
      myengine:
        langs: [foo]
        command: [mytool, --svg]
    只支持 command

    command 这条路可以用了;http(远程渲染服务)还没写,写了会得到一条 DOC-104 说明。

    将来的形态见接一个自定义图表引擎。

    诊断定位到具体字段

    frontmatter 的诊断指向出问题那个字段所在的行,不是笼统地指向 ---:

    error[DOC-103] toc.deep 必须是 1 到 6 之间的整数
      --> 方案.md:5:3
      |
    5 |   deep: 9
      |   ^^^^