46 lines
3.6 KiB
Markdown
46 lines
3.6 KiB
Markdown
# CLAUDE.md
|
||
|
||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||
|
||
## What this repository is
|
||
|
||
A VitePress 1.x documentation site (Chinese, `zh-CN`) for the RXThinkCMF ThinkPHP6 + AntDesign admin framework. There is no application source code here — only Markdown content, VitePress config, and a custom theme. The documented framework's PHP/Vue source lives in separate repositories.
|
||
|
||
Note: much of the body content is shared text across the RXThinkCMF variant docs; some pages (e.g. `zh/introduction.md`, `zh/tech-stack.md`, config metadata in `.vitepress/config/zh.ts`) still say "ElementPlus" while the homepage says "AntDesign". Match the surrounding page's terminology rather than assuming.
|
||
|
||
## Commands
|
||
|
||
```bash
|
||
pnpm install # install dependencies (README uses pnpm; a yarn.lock also exists)
|
||
pnpm docs # dev server (vitepress dev .)
|
||
pnpm docs:build # static build — ALSO the link checker (build fails on dead internal links)
|
||
pnpm docs:preview # preview the built site
|
||
```
|
||
|
||
There is no lint or test tooling. `pnpm docs:build` is the verification step: it fails on broken internal links (only `localhost` links are exempt via `ignoreDeadLinks` in `.vitepress/config/index.ts`). Run it after adding, renaming, or removing pages.
|
||
|
||
## Architecture
|
||
|
||
- **`zh/`** — all documentation content (~140 pages), organized by chapter: `quickstart/`, `guide/`, `architecture/`, `core/`, `modules/`, `tools/`, `api-spec/`, `frontend/`, `generator/`, `deploy/`, `standards/`, `appendix/`, `other/`.
|
||
- **`index.md`** — homepage (hero + features frontmatter).
|
||
- **`.vitepress/config/`**
|
||
- `shared.ts` — global config: light-only appearance, custom `slugify` for anchors, markdown themes, head tags, local search.
|
||
- `zh.ts` — **nav and the entire sidebar tree**. The sidebar is fully manual: every page must be added here or it will not appear in navigation.
|
||
- `index.ts` — locale wiring (root locale is Chinese; the English locale in `en.ts` is commented out/inactive).
|
||
- **`.vitepress/theme/`** — extends the default VitePress theme: sponsors components (`AsideSponsors`, `HomeSponsors`), global component registrations (`VideoModuleLink`, `vImageViewer`), image-viewer plugin, custom styles.
|
||
- **`public/`** — static assets referenced by absolute path (`/logo.png`, `/demo/*.png`, `/banners/`, `/volume1|3|5/`, sponsor images).
|
||
|
||
## Content conventions
|
||
|
||
- **All content is written in Simplified Chinese.**
|
||
- Each page's H1 includes its chapter number matching the sidebar label (e.g. `# 12.3 Git 提交规范`), usually followed by a `:::tip 概述` container.
|
||
- Internal links use absolute paths with an explicit `.html` suffix: `[开发环境准备](/zh/quickstart/environment.html)` — this applies both in Markdown prose and in `zh.ts` sidebar entries.
|
||
- Images are stored under `public/` and embedded with absolute paths, typically as raw HTML `<img src="/demo/1.png"/>`.
|
||
- Markdown attribute delimiter is `%{ ... }%` (not the default `{ ... }`), configured in `shared.ts`.
|
||
- When adding a page: create the file under `zh/`, add the sidebar entry in `.vitepress/config/zh.ts` with its number, then run `pnpm docs:build` to verify links.
|
||
|
||
## Git
|
||
|
||
- The git repository root is the **parent directory** (`.../v3/document`), which contains 9 sibling variant doc sites (ThinkPhp6/ThinkPhp8/Laravel13 × EleVue/AntdVue/NaiveVue). `git status` will show changes outside this directory — only touch files under this project's folder unless asked otherwise.
|
||
- Commit messages follow Conventional Commits as documented in `zh/standards/git.md` (e.g. `docs: 补充多数据库部署文档`), though historical commits here mostly read `签入版本`.
|