Mike 项目使用教程
1. 项目介绍
Mike 是一个 Python 实用工具,旨在通过 Git 轻松管理 MkDocs 驱动的文档的多个版本。它特别适用于通过 GitHub Pages 托管文档。Mike 的核心理念是,一旦为特定版本生成了文档,就不应再触及该版本。这意味着您无需担心 MkDocs 中的破坏性更改,因为旧文档(使用旧版本的 MkDocs 构建)已经生成并存储在 gh-pages 分支中。
Mike 的灵活性使其能够将文档放置在 <major>.<minor> 目录中,并提供可选的别名(例如 latest 或 dev),以便轻松创建指向特定版本文档的永久链接。
2. 项目快速启动
安装 Mike
Mike 使用 setuptools,因此安装过程与大多数 Python 项目类似:
pip install mike
配置 MkDocs
在 mkdocs.yml 文件中添加 Mike 插件:
plugins:
- mike:
alias_type: symlink
redirect_template: null
deploy_prefix: ''
canonical_version: null
version_selector: true
css_dir: css
javascript_dir: js
部署文档
使用以下命令部署当前版本的文档:
mike deploy [version] [alias]
例如,部署版本 1.0 并设置别名为 latest:
mike deploy 1.0 latest
推送文档
将文档推送到远程分支:
mike deploy 1.0 latest -p
3. 应用案例和最佳实践
应用案例
Mike 特别适用于需要维护多个版本文档的项目,例如软件库、API 文档或开源项目的文档。通过使用 Mike,您可以轻松管理不同版本的文档,确保每个版本的文档独立且不会因 MkDocs 的更新而受到影响。
最佳实践
- 版本命名规范:建议使用
<major>.<minor>格式命名版本,避免使用补丁号,以便更清晰地管理版本。 - 别名管理:为特别重要的版本设置别名(如
latest或dev),以便用户可以轻松访问最新或开发中的文档。 - 定期清理:定期使用
mike delete --all清理旧版本的文档,避免 gh-pages 分支过于臃肿。
4. 典型生态项目
MkDocs
MkDocs 是一个快速、简单且美观的静态站点生成器,适用于构建项目文档。Mike 与 MkDocs 紧密集成,使得管理多个版本的文档变得非常方便。
GitHub Pages
GitHub Pages 是一个静态站点托管服务,直接从 GitHub 仓库托管您的网站。Mike 通过 Git 管理文档版本,特别适合与 GitHub Pages 结合使用。
shtab
shtab 是一个用于生成 shell 补全脚本的工具。安装 shtab 后,可以使用 mike generate-completion 为 Mike 生成 shell 补全脚本,提高命令行操作效率。
通过以上模块的介绍和实践,您可以快速上手并充分利用 Mike 项目,有效管理 MkDocs 驱动的文档版本。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0133- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
MiniCPM-V-4.6这是 MiniCPM-V 系列有史以来效率与性能平衡最佳的模型。它以仅 1.3B 的参数规模,实现了性能与效率的双重突破,在全球同尺寸模型中登顶,全面超越了阿里 Qwen3.5-0.8B 与谷歌 Gemma4-E2B-it。Jinja00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
MusicFreeDesktop插件化、定制化、无广告的免费音乐播放器TypeScript00