Files
my-skills/wiki/references/mkdocs-nav.md
T

122 lines
4.1 KiB
Markdown
Raw Normal View History

# MkDocs 导航结构参考
本文档记录文档站的 mkdocs.yml 配置和导航组织规范。
## 导航结构
文档站的导航由 `mkdocs.yml` 的 `nav` 字段控制。文档本身不使用 YAML frontmatter。
### 当前目录结构
```
docs/
├── index.md # 首页
├── javascripts/mathjax.js # MathJax 配置
├── algorithm/ # 算法
│ ├── index.md # 章节首页
│ ├── bloom-filter.md
│ ├── bloom-filter-deletion.md
│ ├── counting-bloom-filter.md
│ ├── cuckoo-filter.md
│ ├── heavykeeper.md
│ ├── binary-tree-traversal.md
│ └── queue.md
├── architecture/ # 架构
│ ├── index.md
│ └── cache/
│ ├── index.md
│ ├── cache-breakdown.md
│ ├── cache-avalanche.md
│ └── cache-penetration.md
├── project/ # 项目
│ ├── index.md
│ ├── openapi-billing-architecture.md
│ ├── openapi-billing-resume.md
│ └── qdata/
│ ├── index.md
│ ├── architecture.md
│ ├── data-governance-etl.md
│ ├── deployment.md
│ └── resume.md
└── qiniu-cloud/ # 七牛云
├── index.md
├── architecture.md
├── ansible-automation.md
├── deployment-cicd.md
├── security-auth-data.md
└── resume-tech-points.md
```
### nav 格式示例
```yaml
nav:
- 首页: index.md
- 项目:
- 项目概述: project/index.md
- OpenAPI 计费:
- 架构设计: project/openapi-billing-architecture.md
- 简历亮点: project/openapi-billing-resume.md
- qData:
- 概述: project/qdata/index.md
- 架构设计: project/qdata/architecture.md
- 数据治理: project/qdata/data-governance-etl.md
- 部署方案: project/qdata/deployment.md
- 简历亮点: project/qdata/resume.md
- 架构:
- 架构概述: architecture/index.md
- 缓存:
- 缓存概述: architecture/cache/index.md
- 缓存击穿: architecture/cache/cache-breakdown.md
- 缓存雪崩: architecture/cache/cache-avalanche.md
- 缓存穿透: architecture/cache/cache-penetration.md
- 算法:
- 算法概述: algorithm/index.md
- 布隆过滤器: algorithm/bloom-filter.md
- 布隆过滤器删除: algorithm/bloom-filter-deletion.md
- 计数布隆过滤器: algorithm/counting-bloom-filter.md
- 布谷鸟过滤器: algorithm/cuckoo-filter.md
- HeavyKeeper: algorithm/heavykeeper.md
- 二叉树遍历: algorithm/binary-tree-traversal.md
- 队列: algorithm/queue.md
- 七牛云:
- 概述: qiniu-cloud/index.md
- 架构设计: qiniu-cloud/architecture.md
- Ansible 自动化: qiniu-cloud/ansible-automation.md
- 部署与 CI/CD: qiniu-cloud/deployment-cicd.md
- 安全与认证: qiniu-cloud/security-auth-data.md
- 简历技术亮点: qiniu-cloud/resume-tech-points.md
```
## 添加新文档的步骤
1. **确定章节**:新文档属于哪个顶级章节(algorithm/architecture/project/qiniu-cloud)?是否有子章节?
2. **创建文件**:在对应目录下创建 `.md` 文件(kebab-case 命名)
3. **更新 nav**:在 `mkdocs.yml` 的 `nav` 中对应位置添加条目
4. **更新 index.md**(如需):如果是新子章节,可能需要更新章节的 `index.md`
## Section Index 规范
每个章节目录下的 `index.md` 是该章节的首页/概述页。使用 MkDocs Material 的 `navigation.indexes` 功能:
```yaml
# mkdocs.yml 中启用
theme:
features:
- navigation.indexes
```
`index.md` 通常包含:
- H1 标题(章节名称)
- 一句话概述
- 子文章的链接表格(如有子文章)
## 命名规范
| 类型 | 规范 | 示例 |
|------|------|------|
| 目录名 | 小写 kebab-case | `architecture/`、`qiniu-cloud/` |
| 文件名 | 小写 kebab-case | `cache-breakdown.md` |
| 章节标题 | 中文 | `# 缓存击穿` |
| nav 标签 | 中文 | `缓存击穿: architecture/cache/cache-breakdown.md` |