跳到正文

部分

Markdoc 使用部分(partials)来跨文档重用内容。一个独立的 Markdoc 文件存储内容,并通过 partial 标签引用。

以下是将 header.md 文件作为部分包含的示例。

{% partial file="header.md" /%}

注册部分

您通过将文件名映射到 config 对象 中的抽象语法树(AST)节点来定义部分。默认的 partial 标签 会查看此配置以包含正确的内容。

/** @type {import('@markdoc/markdoc').Config} */
const config = {
  partials: {
    'header.md': Markdoc.parse(`# My header`)
  }
};

const doc = `
{% partial file="header.md" /%}
`;

const ast = Markdoc.parse(doc);

const content = Markdoc.transform(ast, config);

如果您希望 partial 标签表现不同,可以在 Config.tags 中覆盖它。

传递变量

部分就像其他任何标签一样,因此您可以将 变量 作为 属性 传递给它们,例如:

{% partial file="header.md" variables={name: "My header name"} /%}

并像在常规 Markdoc 文档中一样访问这些变量:

{% $name %}