docmd.config.json 文件作为文档工作区的核心配置清单。它负责管理站点品牌、导航侧边栏、国际化参数以及静态站点编译器选项。

配置架构格式

JSON 是主要配置格式,支持在并行构建期间跨工作线程进行高性能序列化:

docmd.config.json
{
  "title": "我的技术文档",
  "url": "https://docs.example.com",
  "src": "docs",
  "out": "site",
  "base": "/"
}

对于需要环境变量或程序化逻辑的动态设置,完全支持 docmd.config.tsdocmd.config.js

TypeScript
JavaScript
docmd.config.ts
import { UserConfig } from '@docmd/api';

const config: UserConfig = {
  title: process.env.DOCS_TITLE || '我的技术文档',
  src: 'docs',
  out: 'site'
};

export default config;
docmd.config.js
module.exports = {
  title: process.env.DOCS_TITLE || '我的技术文档',
  src: 'docs',
  out: 'site'
};

核心设置

这些顶层属性配置基础路径和全局编译器选项:

属性 类型 默认值 描述
title String "Documentation" 在导航标头和浏览器标签页中显示的正式站点标题。
url String "" 规范站点 URL。对于搜索引擎优化、sitemap 生成和 OpenGraph 元数据至关重要。
src String "docs" 包含源 Markdown (.md) 文件的相对目录。
out String "site" 编译器生成生产静态包的相对路径。
base String "/" 根 URL 路径前缀(例如托管在子文件夹中时为 /docs/)。
tmp String null 临时构建缓存目录。默认为隔离的系统临时文件夹。
i18n Object null 多语言参数。参阅 多语言指南
plugins Object {} 标准及第三方插件配置映射。参阅 插件指南
engine String "js" 处理引擎:"js""rust"(Alpha 预览)。

品牌与标识

docmd.config.json 中配置品牌 Logo 和浏览器 Favicon:

docmd.config.json
{
  "logo": {
    "light": "assets/images/logo-dark.png",
    "dark": "assets/images/logo-light.png",
    "href": "/",
    "alt": "公司 Logo",
    "height": "32px"
  },
  "favicon": "assets/favicon.ico"
}

UI 布局与行为

配置标头、侧边栏、搜索位置和主题切换:

docmd.config.json
{
  "layout": {
    "spa": true,
    "header": {
      "enabled": true
    },
    "sidebar": {
      "collapsible": true,
      "defaultCollapsed": false
    },
    "optionsMenu": {
      "position": "header",
      "components": {
        "search": true,
        "themeSwitch": true
      }
    }
  }
}

有关全面的视觉自定义选项,请参阅 布局与 UI 区域 指南。

核心编译器选项

微调 docmd 如何解析和转换你的 Markdown 内容:

docmd.config.json
{
  "minify": true,
  "autoTitleFromH1": true,
  "copyCode": true,
  "pageNavigation": true,
  "markdown": {
    "breaks": true
  }
}
选项 类型 默认值 描述
minify Boolean true 压缩编译后的 HTML、CSS 和 JS 资源,以获得最大加载性能。
autoTitleFromH1 Boolean true 当省略 frontmatter title 时,将文档的第一个 # H1 标题用作标题。
copyCode Boolean true 在语法高亮的代码块上渲染“复制代码”按钮。
pageNavigation Boolean true 在文章底部渲染“上一页”和“下一页”导航链接。
markdown.breaks Boolean true 将软换行转换为换行符。如果手动在 80 列处换行,请设置为 false
Git 集成替换 editLink

独立的 editLink 配置已统合到原生 Git 插件 中。它会展示编辑链接、提交时间戳和贡献者元数据。