Skip to content

Commit 511fe59

Browse files
committed
提交文档站修改
1 parent db40af0 commit 511fe59

77 files changed

Lines changed: 8611 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ backend/config.yaml
120120
deploy/config.yaml
121121
backend/.installed
122122

123+
# 服务器 SSH 连接信息(含私钥路径等敏感信息)
124+
SERVER_INFO.md
125+
123126
# ===================
124127
# 其他
125128
# ===================

AGENT.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,18 @@
158158
| 改后台/用户页面 | `frontend/src/views/{admin,user}/` + 对应 `api/` + `stores/` |
159159
| 部署 / Docker | `deploy/` + `docs/部署指南.md` |
160160
| 本地预览 / 增量推送服务器 | `scripts/deploy-local/` + `docs/本地开发与增量部署指南.md` |
161+
| 文档站(docs.freecode.codes) | `docs-site/`(VuePress 2 + Theme Hope) |
162+
163+
---
164+
165+
## 7. 服务器 SSH 操作(必读)
166+
167+
> **所有涉及 SSH / 服务器操作的任务,必须先读取 `SERVER_INFO.md` 获取连接信息(IP、端口、用户、私钥路径)。**
168+
> 该文件已被 `.gitignore` 排除,不会入库。
169+
170+
- SSH 命令模板:`ssh -i ~/.ssh/id_ed25519 root@47.84.98.213 '<命令>'`
171+
- 文档站静态文件部署在 `/var/www/docs.freecode.codes/`,反代由 Caddy 管理(`/etc/caddy/Caddyfile`)。
172+
- 文档站更新流程:`cd docs-site && pnpm docs:build` → tar 管道上传到 `/var/www/docs.freecode.codes/`
161173

162174
---
163175

docs-site/.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
node_modules/
2+
src/.vuepress/.cache/
3+
src/.vuepress/.temp/
4+
src/.vuepress/dist/
5+
*.log
6+
.DS_Store

docs-site/README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# FreeCode 文档站
2+
3+
基于 VuePress 2 + Theme Hope 的 FreeCode 使用文档站,内容覆盖普通用户教程、API 接入、CLI 配置、第三方客户端、部署运维、管理后台、支付和合规说明。
4+
5+
## 环境要求
6+
7+
- Node.js 18+(已在 Node 24 验证)
8+
- pnpm(可用 `corepack enable` 启用)
9+
10+
## 常用命令
11+
12+
```bash
13+
pnpm install # 安装依赖
14+
pnpm docs:dev # 本地开发预览(默认 http://127.0.0.1:8080)
15+
pnpm docs:build # 构建静态产物到 src/.vuepress/dist
16+
pnpm docs:clean-dev # 清缓存后启动开发
17+
```
18+
19+
## 目录结构
20+
21+
```text
22+
src/
23+
├── README.md # 站点首页
24+
├── .vuepress/
25+
│ ├── config.ts # 主配置
26+
│ ├── theme.ts # Theme Hope 主题配置
27+
│ ├── navbar.ts # 顶部导航
28+
│ ├── sidebar.ts # 侧边栏
29+
│ └── public/ # 静态资源
30+
docs/
31+
├── register/ # 快速开始
32+
├── user/ # 用户中心、API 令牌、用量、订单、渠道
33+
├── token/ # 模型分组介绍
34+
├── api/ # API 接入与错误排查
35+
├── ccswitch/ # CC-Switch 使用
36+
├── cli/ # CLI 配置教程
37+
├── paint/ # 绘图模型教程
38+
├── advanced/ # 第三方接入
39+
├── deploy/ # 部署运维
40+
├── admin/ # 管理后台
41+
├── faq/ # 常见问题
42+
└── tos/ # 条款与政策
43+
```
44+
45+
## 内容维护原则
46+
47+
- 面向公开用户的内容不要包含服务器私钥、真实 token、OAuth secret、支付密钥或内部账号凭据。
48+
- API Key、令牌、密钥在用户文档中统一解释为同一类访问凭据,标题尽量使用“API 令牌”。
49+
- 部署和管理文档以摘要和操作入口为主,敏感部署细节保留在仓库私有文档或服务器私有配置中。
50+
- 修改文档后运行 `pnpm docs:build`,确认 VuePress 能成功生成静态产物。
51+
52+
## 部署
53+
54+
`pnpm docs:build` 后,将 `src/.vuepress/dist` 中的静态文件部署到文档站 Web 根目录。

docs-site/deploy.sh

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/usr/bin/env bash
2+
# =============================================================================
3+
# 文档站一键发布脚本
4+
# 用法: cd docs-site && bash deploy.sh
5+
# 功能: 本地构建 → 上传服务器 → 验证
6+
# =============================================================================
7+
set -euo pipefail
8+
9+
# ── 配置 ──────────────────────────────────────────────
10+
REMOTE_HOST="47.84.98.213"
11+
REMOTE_USER="root"
12+
SSH_KEY="$HOME/.ssh/id_ed25519"
13+
REMOTE_DIR="/var/www/docs.freecode.codes"
14+
SITE_URL="https://docs.freecode.codes"
15+
# ─────────────────────────────────────────────────────
16+
17+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
18+
cd "$SCRIPT_DIR"
19+
20+
echo "▶ 构建文档站..."
21+
pnpm docs:build 2>&1 | grep -vE "INVALID_ANNOTATION|comment ignored|Help:.*pure" || true
22+
23+
DIST="src/.vuepress/dist"
24+
if [ ! -d "$DIST" ]; then
25+
echo "❌ 构建产物目录不存在: $DIST"
26+
exit 1
27+
fi
28+
29+
PAGE_COUNT=$(find "$DIST" -name "*.html" | wc -l)
30+
SIZE=$(du -sh "$DIST" | cut -f1)
31+
echo "✅ 构建完成: ${PAGE_COUNT} 个页面, ${SIZE}"
32+
33+
echo "▶ 上传到服务器 ${REMOTE_HOST}:${REMOTE_DIR} ..."
34+
tar czf - -C "$DIST" . | \
35+
ssh -i "$SSH_KEY" -o StrictHostKeyChecking=accept-new "${REMOTE_USER}@${REMOTE_HOST}" \
36+
"rm -rf ${REMOTE_DIR}/* && cd ${REMOTE_DIR} && tar xzf - && chown -R www-data:www-data ${REMOTE_DIR} && chmod -R 755 ${REMOTE_DIR}"
37+
echo "✅ 上传完成"
38+
39+
echo "▶ 验证线上..."
40+
sleep 1
41+
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "$SITE_URL/" 2>/dev/null || echo "000")
42+
if [ "$HTTP_CODE" = "200" ]; then
43+
echo "✅ 发布成功! $SITE_URL (HTTP $HTTP_CODE)"
44+
else
45+
echo "⚠️ 线上验证返回 HTTP $HTTP_CODE(可能是 Cloudflare 缓存延迟,稍后再试)"
46+
fi

docs-site/package.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "freecode-docs",
3+
"version": "1.0.0",
4+
"description": "FreeCode 使用文档站",
5+
"private": true,
6+
"type": "module",
7+
"scripts": {
8+
"docs:dev": "vuepress dev src",
9+
"docs:build": "vuepress build src",
10+
"docs:clean-dev": "vuepress dev src --clean-cache"
11+
},
12+
"devDependencies": {
13+
"@vuepress/bundler-vite": "2.0.0-rc.28",
14+
"@vuepress/plugin-slimsearch": "2.0.0-rc.128",
15+
"sass-embedded": "^1.80.0",
16+
"vue": "^3.5.0",
17+
"vuepress": "2.0.0-rc.28",
18+
"vuepress-theme-hope": "2.0.0-rc.106"
19+
}
20+
}

0 commit comments

Comments
 (0)