# tio-boot-docs
**Repository Path**: ppnt/tio-boot-docs
## Basic Information
- **Project Name**: tio-boot-docs
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: https://tio-boot.litongjava.com/
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 1
- **Created**: 2023-12-15
- **Last Updated**: 2026-10-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# tio-boot-docs
`tio-boot-docs` 是 tio-boot 项目的文档站点,基于 VuePress 构建。
## 项目地址
* 文档主站:https://tio-boot.com/
* GitHub Pages:https://litongjava.github.io/tio-boot-docs/
* Gitee 仓库:https://gitee.com/ppnt/tio-boot-docs/tree/main/docs
## 文档地址
* 主站:https://tio-boot.com/
* 备用地址:https://env-00jxgnx7m5of-static.normal.cloudstatic.cn/tio-boot-docs/
## 本地开发
### 1. 切换 Node.js 版本
```bash
nvm use 20.13.1
```
### 2. 安装依赖
```bash
pnpm install
```
### 3. 启动开发服务器
```bash
pnpm docs:dev
```
## 构建文档
修改章节后先运行 `pnpm docs:check`,检查本地链接、侧边栏、顶部导航、遗漏的章节页面和连续编号。脚本不访问网络、不改写文件;链接、导航或编号错误返回非零退出码,短内容占位页作为人工审阅清单输出。它不验证外部链接、页内锚点或代码示例语义。
本次补全文档及剩余缺口见 [文档维护记录](./docs-maintenance.md)。
章节按 13 个学习主题分组,78 个目录使用连续编号与英文名称。阅读顺序见[文档导航](./docs/zh/guide.md),旧路径映射见 [legacy-paths.json](./docs/.vuepress/config/legacy-paths.json),构建时生成兼容跳转。
AI 检索入口与数据字段见 [AI 检索说明](./docs/ai-retrieval.md)。构建后运行 `pnpm docs:check-ai` 核验单页 Markdown、JSON/JSONL、内容哈希与旧页面跳转;所有检索产物随站点一起部署。
站内浏览与搜索在线使用,资源按需加载;浏览器和 CDN 使用正常的 HTTP 缓存。AI 检索页面提供 JSONL、检索目录和完整文档下载,保存后可供本地检索工具离线读取。
`pnpm docs:test` 执行浏览器测试,覆盖在线搜索、语料下载、章节别名、历史跳转和旧缓存退役。测试需先安装 Playwright Chromium,或设置 `PLAYWRIGHT_CHANNEL=chrome` 使用已安装的 Chrome。
发布时保留 `service-worker.js` 退役脚本及 `_headers`:已安装旧版离线功能的浏览器更新后,会清理本站对应作用域的缓存、注销旧 Service Worker,并重新打开当前地址。新访客不会注册 Service Worker。其他静态服务器也应对该脚本设置 `Cache-Control: no-cache`,并让带查询参数的请求返回同一脚本;不要将其改成 404 或首页。
执行以下命令:
```bash
pnpm docs:build
```
构建过程中内存不足时,可以增加 Node.js 最大可用内存:
```bash
NODE_OPTIONS="--max-old-space-size=8192" pnpm docs:build
```
构建完成后,生成文件位于:
```bash
docs/.vuepress/dist
```
可以使用以下命令查看构建结果:
```bash
ls docs/.vuepress/dist
```
## 部署到 Cloudflare Pages
使用 Wrangler 部署构建后的静态文件:
```bash
NODE_OPTIONS="--max-old-space-size=8192" pnpm docs:build
npx wrangler pages deploy docs/.vuepress/dist --project-name=tio-boot-docs
```
各部分含义:
- NODE_OPTIONS="--max-old-space-size=8192":允许 Node.js 最多使用约 8GB 内存
- wrangler pages deploy:部署到 Cloudflare Pages
- docs/.vuepress/dist:本地待上传的静态文件目录
- --project-name=tio-boot-docs:部署到名为 tio-boot-docs 的 Pages 项目
执行后,Wrangler 会把该目录中的 HTML、JavaScript、CSS、图片等文件上传到 Cloudflare。它不会上传整个项目源码
## 使用 http-server 部署
创建 systemd 服务文件:
```bash
vi /lib/systemd/system/tio-boot-docs.service
```
写入以下内容:
```ini
[Unit]
Description=tio-boot-docs HTTP Server
After=network.target
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/http-server -p 10062 /root/code/tio-boot-docs/docs/.vuepress/dist
[Install]
WantedBy=multi-user.target
```
保存后重新加载 systemd 配置:
```bash
systemctl daemon-reload
```
启用开机启动:
```bash
systemctl enable tio-boot-docs
```
启动服务:
```bash
systemctl start tio-boot-docs
```
查看服务状态:
```bash
systemctl status tio-boot-docs
```
停止服务:
```bash
systemctl stop tio-boot-docs
```
重启服务:
```bash
systemctl restart tio-boot-docs
```
服务启动后,可通过服务器的 `10062` 端口访问文档站点。
## 稳定的文档地址
对外引用文档时,使用不带章节编号的别名。例如:
- java-openai 章节:
- java-openai 单篇文章:
- t-io 章节:
别名通过静态跳转页和部署重定向指向当前章节,保留查询参数与页内锚点。目录继续使用 `序号_英文`,内部 Markdown 相对链接指向真实源文件。章节编号变化时,只需维护映射,源码仓库 README 无需再次改号。
映射见 [chapter-aliases.json](./docs/.vuepress/config/chapter-aliases.json);完整页面跳转由 [legacy-paths.json](./docs/.vuepress/config/legacy-paths.json) 维护。构建后发布站点即可生效。