{
  "url": "https://unifast.dev/zh-CN/docs/packages/node/custom-heading-id/",
  "locale": "zh-CN",
  "title": "customHeadingId()",
  "description": "通过 {#custom-id} 语法为标题设置自定义 ID。",
  "section": "packages",
  "body": "```ts\nimport { customHeadingId } from \"@unifast/node\";\n```\n\n## 签名\n\n```ts\nfunction customHeadingId(): UnifastPlugin\n```\n\n## 参数\n\n无。\n\n## 用法\n\n```ts\nimport { compile, customHeadingId } from \"@unifast/node\";\n\nconst md = `# Introduction {#intro}`;\n\nconst result = compile(md, {\n  plugins: [customHeadingId()],\n});\n// The heading gets id=\"intro\" instead of the auto-generated slug\n```\n\n## 示例\n\n### 自定义 ID\n\n在标题末尾使用 `{#custom-id}` 语法即可指定 `id` 属性。花括号所在的部分会从渲染文本中移除：\n\n```ts\nimport { compile, customHeadingId } from \"@unifast/node\";\n\nconst md = `## Getting Started {#getting-started}`;\n\nconst result = compile(md, { plugins: [customHeadingId()] });\nconsole.log(result.output);\n// <h2 id=\"getting-started\">Getting Started</h2>\n```\n\n### 未使用自定义 ID 的标题\n\n不使用 `{#...}` 语法的标题会保持不变。它们会使用从标题文本生成的默认 slug：\n\n```ts\nimport { compile, customHeadingId } from \"@unifast/node\";\n\nconst md = `## Getting Started`;\n\nconst result = compile(md, { plugins: [customHeadingId()] });\nconsole.log(result.output);\n// <h2 id=\"getting-started\">Getting Started</h2>\n```\n\n### 类名和任意属性\n\n花括号语法还支持 `.class` 以及 `key=value` 形式：\n\n```ts\nimport { compile, customHeadingId } from \"@unifast/node\";\n\nconst md = `## API Reference {#api .docs data-level=2}`;\n\nconst result = compile(md, { plugins: [customHeadingId()] });\nconsole.log(result.output);\n// <h2 id=\"api\" class=\"docs\" data-level=\"2\">API Reference</h2>\n```",
  "alternates": [
    {
      "locale": "en",
      "url": "https://unifast.dev/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "ja",
      "url": "https://unifast.dev/ja/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/ja/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "zh-CN",
      "url": "https://unifast.dev/zh-CN/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/zh-CN/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "zh-TW",
      "url": "https://unifast.dev/zh-TW/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/zh-TW/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "ko",
      "url": "https://unifast.dev/ko/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/ko/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "fr",
      "url": "https://unifast.dev/fr/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/fr/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "it",
      "url": "https://unifast.dev/it/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/it/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "es",
      "url": "https://unifast.dev/es/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/es/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "pt-BR",
      "url": "https://unifast.dev/pt-BR/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/pt-BR/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "de",
      "url": "https://unifast.dev/de/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/de/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "ru",
      "url": "https://unifast.dev/ru/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/ru/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "hi",
      "url": "https://unifast.dev/hi/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/hi/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "id",
      "url": "https://unifast.dev/id/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/id/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "tr",
      "url": "https://unifast.dev/tr/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/tr/docs/packages/node/custom-heading-id.json"
    },
    {
      "locale": "vi",
      "url": "https://unifast.dev/vi/docs/packages/node/custom-heading-id/",
      "api": "https://unifast.dev//api/vi/docs/packages/node/custom-heading-id.json"
    }
  ]
}
