Skip to main content

vitepress-course-tools-setup

配置与同步 VitePress 课程文档站的 @smart-cs/vitepress-course-tools:侧栏菜单、PDF 封面目录 tocManifest、商品详情 productDetail、npm 导出脚本。 当用户提到 vitepress-course-tools.config.ts、同步 docs/zh 菜单、tocManifest、productDetail、商品详情 PDF、pdf:export:product、课程 PDF 导出、README 截图配置时使用本 skill,即使用户只说「更新文档站配置」或「对齐侧栏和 PDF 配置」也应触发。

الانتقال إلى التثبيت

معلومات المصدر

المستودع
cklwblove/agent-skills
آخر نشاط في المصدر
٩ يوليو ٢٠٢٦ في ١١:٤٤
لغة SKILL.md المكتشفة
الصينية
النجوم
١
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
3 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
vitepress-course-tools-setup
description
配置与同步 VitePress 课程文档站的 @smart-cs/vitepress-course-tools:侧栏菜单、PDF 封面目录 tocManifest、商品详情 productDetail、npm 导出脚本。 当用户提到 vitepress-course-tools.config.ts、同步 docs/zh 菜单、tocManifest、productDetail、商品详情 PDF、pdf:export:product、课程 PDF 导出、README 截图配置时使用本 skill,即使用户只说「更新文档站配置」或「对齐侧栏和 PDF 配置」也应触发。
# VitePress 课程工具配置 面向使用 `@smart-cs/vitepress-course-tools` 的 VitePress 文档站。目标:磁盘上的 `docs/zh/**/*.md` 与导航、PDF 封面目录、商品详情页保持一致,并补齐 npm 导出命令。 ## 涉及文件 | 文件 | 作用 | |------|------| | `docs/zh/**/*.md` | 文档真源(以磁盘为准) | | `docs/.vitepress/config.mts` | 网站侧栏 / 导航 `link` | | `vitepress-course-tools.config.ts` | PDF、封面、商品详情、截图 | | `scripts/export-site-utils.ts` | 旧版导出脚本中的 `ZH_*_DOCS` 列表(若存在) | | `shared/course-theme-class.ts` | 主题 class,勿在 VitePress 客户端 import 完整 config | | `package.json` | `pdf:*` / `screenshots:*` / `code:pack` 脚本 | `basePath`(config)须与 `docs/.vitepress/config.mts` 的 `base` 完全一致。 ## 工作流 ``` 进度: - [ ] 1. 扫描 docs/zh 实际 .md 文件 - [ ] 2. 同步 docs/.vitepress/config.mts 侧栏 - [ ] 3. 同步 vitepress-course-tools.config.ts → cover.tocManifest - [ ] 4. 同步 scripts/export-site-utils.ts(若项目仍使用该文件) - [ ] 5. 配置或更新 productDetail - [ ] 6. 确认 package.json 导出脚本与依赖 - [ ] 7. 校验(可选运行导出) ``` ### 1. 扫描 docs/zh ```bash find docs/zh -name '*.md' | sort ``` 区分: - 根目录技术文档:`index.md`、`00-*.md` … `10-*.md` - 面试资料:`interview/*.md` 侧栏显示名通常取自文件名(去掉序号前缀与 `.md`),或与现有 `text` 字段风格保持一致。 ### 2. 同步侧栏(config.mts) 在 `zhGuideItems` / `zhInterviewItems` 中: - **link 格式**:`/zh/文件名.md` 或 `/zh/`(index) - **text**:与文档标题或文件名语义一致 - **顺序**:`index` → 编号技术文档 → `interview/` 子目录按文件名排序 常见错误:`link` 指向已改名/删除的文件(如 `05-八股文-医疗AI专题.md` 实际为 `05-八股文-AI专题.md`)。 英文侧栏 `enGuideItems` 仅在 `docs/en/` 存在对应文件时维护。 ### 3. 同步 cover.tocManifest 在 `vitepress-course-tools.config.ts` 的 `cover.tocManifest` 中,条目顺序与侧栏一致: ```ts { title: '侧栏 text', routePath: '/zh/路由' } ``` **routePath 规则**(`cleanUrls: true`): - `index.md` → `/zh/` - `00-项目概览.md` → `/zh/00-项目概览`(无 `.md` 后缀) - `interview/01-简历写法模板.md` → `/zh/interview/01-简历写法模板` `title` 与侧栏 `text` 对齐;`routePath` 与包内 `sourceFileToRoutePath` 一致。 ### 4. 同步 export-site-utils(若存在) `scripts/export-site-utils.ts` 中的 `ZH_GUIDE_DOCS`、`ZH_INTERVIEW_DOCS` 须与侧栏顺序一致,但值为**相对 `docs/zh/` 的路径**(含 `.md`): ```ts 'index.md', '00-项目概览.md', // ... 'interview/01-简历写法模板.md', ``` `readmeScreenshotTargets` 的 `routePath` 同样用 cleanUrls 格式。 ### 5. 配置 productDetail 在 `vitepress-course-tools.config.ts` 增加 `productDetail`(类型 `ProductDetailConfig`)。 **与 cover 的关系**: - `title` / `subtitle` 可与 `cover.mainTitle` / `subTitle` 对齐 - 未写 `intro` 时导出回退到 `cover.descCn` - 未写 `tocSections` 时回退到 `pdf.tocGroups` 或自动生成 **intro 写法**(包内渲染规则): | 语法 | 效果 | |------|------| | 空行 | 分段 | | 行首 `🔹` / `##` / `【标题】` | 小节标题 | | 行首 `•` `-` `*` | 列表 | | 普通行 | 段落 | **tocSections**:按侧栏分组(如「技术文档」「面试资料」),每项 `{ title, note? }`,标题与 tocManifest 一致,note 为一句卖点。 **gallery**:指向 `screenshotsDir` 下 PNG;路径相对项目根。与 `screenshots` 配置或 `readmeScreenshotTargets` 对齐。图片不存在时包内会回退占位图——正式发版前先跑截图。 **exportVariants**:`['classic', 'minimal', 'card']` 或按需子集。 完整字段说明见 [references/product-detail-fields.md](references/product-detail-fields.md)。 ### 6. package.json 脚本 依赖(Git 安装时无 dist,用 `tsx` 直跑 `src/cli`): ```json "@smart-cs/vitepress-course-tools": "github:cklwblove/vitepress-course-tools" ``` 推荐脚本: ```json "pdf:export": "tsx node_modules/@smart-cs/vitepress-course-tools/src/cli/pdf-export.ts --phase=all", "pdf:export:sections": "... --phase=sections", "pdf:export:cover-toc": "... --phase=cover-toc", "pdf:export:merge": "... --phase=merge", "pdf:export:cover": "tsx node_modules/@smart-cs/vitepress-course-tools/src/cli/pdf-cover.ts", "pdf:export:product": "tsx node_modules/@smart-cs/vitepress-course-tools/src/cli/pdf-product-detail.ts", "pdf:build": "npm run docs:build && npm run pdf:export", "screenshots:readme": "tsx scripts/capture-readme-screenshots.ts", "code:pack": "tsx node_modules/@smart-cs/vitepress-course-tools/src/cli/pack-code.ts" ``` `vitepress-course-tools.config.ts` 顶部类型导入: - 有 dist:`import type { CourseToolsConfig } from '@smart-cs/vitepress-course-tools'` - 仅 Git 源码:改引 `./node_modules/@smart-cs/vitepress-course-tools/src/types.ts` ### 7. 校验 ```bash # 侧栏与磁盘一致(人工或 diff) find docs/zh -name '*.md' | sort # 整本课程 PDF(需先 build) npm run docs:build npm run pdf:export # 商品详情 PDF(不依赖 build,但 gallery 图需存在) npm run pdf:export:product npm run pdf:export:product -- --variant classic # README 截图 → productDetail.gallery npm run docs:build && npm run screenshots:readme ``` 成品路径: - 课程 PDF:`artifacts/pdfs/<pdf.name>-guide-zh.pdf` - 商品详情:`artifacts/pdfs/<pdf.name>-product-*.pdf` ## 新增 / 删除文档时的检查单 1. 在 `docs/zh/` 增删 `.md` 2. 更新 `config.mts` 对应 `zhGuideItems` 或 `zhInterviewItems` 3. 更新 `cover.tocManifest` 同序条目 4. 更新 `productDetail.tocSections`(若有分组目录) 5. 更新 `export-site-utils.ts` 的 `ZH_*_DOCS`(若存在) 6. 新章节若需预览图:加入 `screenshots` / `gallery` / `readmeScreenshotTargets` ## 注意事项 - 勿在 `docs/.vitepress/theme/index.js` 中 import 完整 `vitepress-course-tools.config.ts`(会拖入 Node 依赖导致白屏);主题 class 用 `shared/course-theme-class.ts` - `docsBasePath` 在 `export-site-utils.ts` 可能与 `config.mts` 的 `base` 不一致,以 **config.mts 为准** 并统一 - 虚拟商品文案注意平台合规:避免医疗执业、极限词、站外引流;详见项目内 `品文案.md`(若存在) ## 参考 - 包内 README:`node_modules/@smart-cs/vitepress-course-tools/README.md` - 字段速查:[references/product-detail-fields.md](references/product-detail-fields.md) - 同步关系图:[references/config-sync-map.md](references/config-sync-map.md)
عرض على GitHub