executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
mkdocs-shadcnmkdocs-shadcn 主题 Markdown 排版与项目编排。当用户需要编写或修改 mkdocs-shadcn 主题的文档、配置 mkdocs.yml、或询问排版语法时,使用此技能。触发词:mkdocs、shadcn、排版、配置、Markdown、文档、admonition、details、tab、提示框、折叠、标签页、格式化、模板。
Independent GitHub snapshot · Automated classification · Original documentation governs
🔴 CHECKPOINT · 🛑 STOP:开始前确认项目目录和 mkdocs.yml 路径正确。
输入:项目目录路径 输出:配置检查报告,列出问题和建议修复
运行配置检查脚本:
python <mkdocs-shadcn-path>/scripts/check_config.py <项目目录> [--apply]
脚本会自动检查并补充:
theme.name 是否为 shadcnplugins 是否包含必要插件(search)markdown_extensions 是否包含推荐的扩展(admonition, codehilite, fenced_code, footnotes, pymdownx.blocks.details, pymdownx.blocks.tab, pymdownx.progressbar, pymdownx.tabbed, attr_list)nav 导航配置site_name 站点名称如需自动应用修复,添加 --apply 参数。
示例:
# 仅检查
python skills/mkdocs-shadcn/scripts/check_config.py ./my-project
# 检查并自动修复
python skills/mkdocs-shadcn/scripts/check_config.py ./my-project --apply
失败处理:
<mkdocs-shadcn-path>/scripts/ 目录是否完整,重新下载或克隆仓库--apply 后配置未生效 → 手动检查 mkdocs.yml 文件权限,确保可写根据内容特征选择合适语法,进行排版:
| 内容特征 | 选择语法 | 示例 |
|---|---|---|
| 内容较长,非必需阅读 | /// details | /// details | 📖 点击查看详细配置 |
| 问答形式的 FAQ | /// details | ❓ 问题 | /// details | ❓ 什么是 XXX? |
| 多平台/互斥选项 | /// tab | /// tab | Windows / /// tab | macOS |
| 技巧、建议 | !!! tip | !!! tip "最佳实践" |
| 警告、风险 | !!! warning/danger | !!! warning "安全提示" |
| 补充说明 | !!! note/info | !!! note "说明" |
详细语法和示例参考 syntax-guide.md 和 examples.md。
失败处理:
markdown_extensions 是否包含对应扩展,参考配置文档| 两侧是否有空格,结尾是否有 ///输入:Markdown 文件或目录路径 输出:格式化后的文件,符合 mkdocs-shadcn 规范
排版内容完成后,必须运行格式化脚本:
python <mkdocs-shadcn-path>/scripts/format.py <文件或目录路径>
脚本自动处理:
---,H3 上方 ---,H2 后第一个 H3 除外)assets/ 路径转为 /assets 绝对路径)失败处理:
git diff 查看具体改动,手动回滚🔴 CHECKPOINT · 🛑 STOP:新建页面前确认使用正确的模板。
新建页面时,使用终端命令复制 assets/page-template.md 作为起点。
项目初始化时,参考 assets/mkdocs-template.yml 创建配置文件。
| 路径 | 用途 | 使用场景 | 依赖 |
|---|---|---|---|
scripts/check_config.py | 检查并补充 mkdocs.yml 配置 | 项目初始化、配置检查 | Python 3.8+, PyYAML |
scripts/format.py | 格式化 Markdown 文件 | 排版完成后、提交前 | Python 3.8+ |
assets/page-template.md | 页面模板 | 新建页面时复制使用 | 无 |
assets/mkdocs-template.yml | mkdocs.yml 配置模板 | 项目初始化时参考 | 无 |
references/syntax-guide.md | 完整语法手册 | 查询语法细节 | 无 |
references/examples.md | 排版示例 | 参考排版实践 | 无 |
references/configuration.md | 项目配置参考 | 配置 mkdocs.yml | 无 |
🔴 CHECKPOINT · 🛑 STOP:排版前确认内容类型,选择正确的语法。不确定时参考 examples.md。
内容是否需要折叠?
├── 是 → /// details
│ └── FAQ 形式?→ 标题用 ❓ 开头
│
内容是否有多个互斥选项?
├── 是 → /// tab
│ └── 按平台/方式/工具分类
│
内容是否需要突出强调?
├── 是 → !!! tip/note/warning/danger
│
└── 默认 → 直接展示
🔴 CHECKPOINT · 🛑 STOP:排版完成后必须运行格式化脚本,不要跳过。
| # | 反模式 | 为什么不要做 | 替代做法 |
|---|---|---|---|
| 1 | 滥用 /// details 折叠重要内容 | 关键信息被隐藏,用户可能错过 | 核心概念、关键步骤直接展示,仅折叠可选阅读内容 |
| 2 | 使用 !!! warning 强调所有内容 | 警告框失去警示效果,用户产生视觉疲劳 | 区分 tip/note/warning/danger,按严重程度选择 |
| 3 | Tab 标签页内放有依赖关系的内容 | 用户可能跳过前置步骤直接看后续内容 | 有依赖关系的内容使用顺序列表,不要 Tab |
| 4 | H2/H3 标题后不加 --- 分割线 | 章节之间视觉分隔不清晰 | 严格遵循格式化脚本的标题分割线规则 |
| 5 | 图片使用相对路径 ./assets/... | 不同页面层级下路径可能失效 | 使用 /assets/... 绝对路径 |
| 6 | 列表项之间留空行 | 列表间距不一致,影响阅读流畅性 | 同一组列表的列表项之间不留空行 |
| # | 反模式 | 为什么不要做 | 替代做法 |
|---|---|---|---|
| 1 | 缺少 pymdownx.blocks.details 扩展 | /// details 语法无法渲染 | 确保 markdown_extensions 包含所有必需扩展 |
| 2 | theme.name 设置为非 shadcn | 主题样式不生效 | 必须设置为 shadcn |
| 3 | 不运行格式化脚本直接提交 | 标题分割线、图片居中等格式不统一 | 每次排版后必须运行 format.py |
| # | 反模式 | 为什么不要做 | 替代做法 |
|---|---|---|---|
| 1 | 在 Tab 中放完全相同的重复内容 | 浪费空间,没有实际价值 | 每个 Tab 展示有差异的内容(如不同平台的命令) |
| 2 | Details 标题写"点击查看详情" | 标题无信息量,用户不知道内容是什么 | 使用具体描述:❓ 什么是 XXX? 或 📖 XXX 配置说明 |
| 3 | Warning 框内写长篇大论 | 警告框应该简短有力 | 长内容放在正文中,Warning 只保留关键警示 |
| 4 | 在代码块中放配置文件路径 | 路径容易出错,且不易维护 | 使用相对路径或变量,避免硬编码 |
| 5 | 使用过时的语法或插件 | 可能导致兼容性问题 | 参考最新的官方文档,使用推荐的语法 |
| 6 | 在 Details 中放核心概念 | 用户可能错过关键信息 | 核心概念直接展示,仅折叠可选阅读内容 |