MkDocs 配置完全指南:从基础到高级设置

MkDocs 配置完全指南:从基础到高级设置

作为一款优秀的静态网站生成工具,MkDocs 通过简洁的 YAML 配置文件提供了丰富的自定义选项。本文将全面解析 MkDocs 的配置系统,帮助开发者构建更专业的文档网站。

基础配置

必须配置项:site_name

每个 MkDocs 项目必须包含 site_name 配置项,它定义了网站的主标题:

site_name: 我的技术文档

这个值会被传递给主题模板作为 site_name 上下文变量。

网站元信息配置

site_url

设置网站的规范 URL,会在每个页面的 <head> 部分添加 canonical 链接标签:

site_url: https://example.com/docs/

当使用 mkdocs serve 时,服务器会根据这个 URL 的路径部分来模拟远程布局。

site_description 和 site_author

这两个配置项会添加 meta 标签到 HTML 头部:

site_description: 这是关于Python开发的详细文档
site_author: 张三
copyright

设置网站的版权信息,会被主题用于显示版权声明:

copyright: "© 2023 我的公司"

版本控制集成

仓库链接配置

repo_url: https://example.com/project/repo
repo_name: 项目仓库

设置后会在每个页面显示指向仓库的链接。

编辑链接配置

edit_uri 允许用户直接从文档页面跳转到源文件进行编辑:

edit_uri: blob/main/docs/

对于 GitHub/GitLab 仓库,MkDocs 会自动设置合理的默认值。如果需要自定义行为,可以使用更灵活的 edit_uri_template

edit_uri_template: 'blob/main/docs/{path}'

支持以下变量:

  • {path}: 文件路径(如 foo/bar.md)
  • {path_noext}: 不带扩展名的路径
  • {path!q}: URL 编码后的路径

文档结构配置

导航菜单 (nav)

定义网站导航结构的最重要配置:

nav:
  - 首页: index.md
  - 用户指南:
    - 安装: guide/installation.md
    - 使用: guide/usage.md
  - API参考: api.md
  - 问题跟踪: https://example.com/issues/

路径相对于 docs_dir,支持嵌套结构和外部链接。

文件排除规则

exclude_docs

定义不包含在构建中的文件模式:

exclude_docs: |
  *.py
  /private/
  !/private/example.md  # 例外

遵循 .gitignore 格式,默认排除点文件和 templates 目录。

draft_docs (1.6+)

定义草稿文件,这些文件在开发服务器可见但不会构建:

draft_docs: |
  drafts/
  *_unpublished.md
not_in_nav

明确声明不包含在导航中的文件,避免警告:

not_in_nav: |
  /internal.md

验证配置 (1.5+)

控制链接验证的严格程度:

validation:
  nav:
    omitted_files: warn
    not_found: error
  links:
    absolute_links: relative_to_docs
    anchors: warn

绝对链接处理 (1.6+)

新增 relative_to_docs 选项,将 / 开头的链接解析为相对于 docs 目录:

validation:
  links:
    absolute_links: relative_to_docs

这样 /guide/usage.md 会被正确解析并验证。

主题配置

theme:
  name: mkdocs
  custom_dir: my_theme_overrides/
  features:
    - navigation.tabs

支持的主题包括 mkdocs、readthedocs 等,可以通过 custom_dir 覆盖主题文件。

构建目录配置

docs_dir: src
site_dir: public
strict: true
  • docs_dir: 源文档目录(默认 docs)
  • site_dir: 输出目录(默认 site)
  • strict: 严格模式(验证错误时构建失败)

高级功能

多语言支持

theme:
  locale: zh

插件配置

plugins:
  - search
  - markdownextradata:
      data: data.yml

最佳实践建议

  1. 始终设置 site_name
  2. 使用 nav 明确控制导航结构
  3. 启用链接验证(特别是生产环境)
  4. 考虑使用 relative_to_docs 简化跨目录链接
  5. 利用 draft_docs 管理工作流程
  6. 通过 validation 配置尽早发现问题

通过合理配置这些选项,您可以构建出结构清晰、易于维护的专业文档网站。MkDocs 的配置系统既简单又强大,能够满足从个人项目到企业级文档的各种需求。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侯颂翼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值