Skip to content

Commit c5c657f

Browse files
committed
docs(readme): 优化文档结构和部署说明
- 重新组织README核心特性为多个细分部分,突出零配置部署和内容管理能力 - 增加详细的自动文件夹扫描及文档中心功能介绍 - 明确部署方式,支持任意路径自动适配和一键部署 - 添加代码质量工具使用指南及开发文档 - 更新本地开发和项目结构说明 - 美化文档排版,增加表情图标,提升阅读体验 - 修改部署脚本调用方式,简化使用流程
1 parent 683bf88 commit c5c657f

2 files changed

Lines changed: 167 additions & 49 deletions

File tree

readme.md

Lines changed: 167 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,38 @@
22

33
一个纯前端部署的个人主页生成系统。
44

5-
## 特性
5+
## ✨ 核心特性
66

7-
- ✅ 纯前端部署,无需服务器和数据库
8-
- ✅ 通过 YAML 配置文件一站式管理站点内容
9-
- ✅ 支持 Markdown 内容创作,自动渲染为响应式网页
10-
- ✅ 内置多种主题(明亮、暗黑、学术),支持运行时切换
11-
- ✅ 响应式设计,完美适配各种设备
12-
- ✅ 支持 PDF 在线预览和文件下载
13-
- ✅ 可部署到 GitHub Pages,零成本托管
7+
### 🎯 零配置部署
8+
9+
-**纯前端部署**,无需服务器和数据库
10+
-**通用路径适配**,支持子目录和根域名部署
11+
-**一键部署**到 GitHub Pages,零成本托管
12+
-**自动化脚本**,清理、构建、部署一步完成
13+
14+
### 📝 强大的内容管理
15+
16+
-**YAML 配置文件**一站式管理站点内容
17+
-**Markdown 创作**,自动渲染为响应式网页
18+
-**自动文件夹扫描**,在 `content/` 下创建文件夹即可自动生成页面
19+
-**文档中心**,支持层级结构、面包屑导航、双向链接
20+
-**自动文件扫描**,引用文件自动在文件页面展示
21+
-**新闻时间轴**,支持多种事件类型和论文状态
22+
23+
### 🎨 丰富的展示功能
24+
25+
-**多主题支持**(明亮、暗黑、学术、玻璃),支持运行时切换
26+
-**国际化(i18n)**,支持中英文切换
27+
-**响应式设计**,完美适配各种设备
28+
-**汉堡菜单**,移动端自动收纳次要导航
29+
-**PDF 在线预览**和文件下载
30+
31+
### 🔧 开发者友好
32+
33+
-**配置驱动**,通过 `collections` 控制文档集合
34+
-**安全更新机制**,fork 后可安全获取上游更新
35+
-**Git merge strategy**,自动保护用户内容
36+
-**代码质量工具**(ESLint、Stylelint、Prettier)
1437

1538
## 快速开始
1639

@@ -33,12 +56,8 @@ npm run init
3356
# 本地开发
3457
npm run dev
3558

36-
# 构建和部署
37-
# 子目录部署 (yourusername.github.io/ppage)
38-
./scripts/deploy.sh
39-
40-
# 根域名部署 (yourusername.github.io 或自定义域名)
41-
./scripts/deploy.sh root
59+
# 构建和部署(自动适配任意路径)
60+
npm run deploy
4261
```
4362

4463
### 方式二:直接使用示例模板
@@ -58,55 +77,103 @@ npm install
5877
# 本地开发
5978
npm run dev
6079

61-
# 构建和部署
62-
# 子目录部署 (yourusername.github.io/ppage)
63-
./scripts/deploy.sh
64-
65-
# 根域名部署 (yourusername.github.io 或自定义域名)
66-
./scripts/deploy.sh root
80+
# 构建和部署(自动适配任意路径)
81+
npm run deploy
6782
```
6883

69-
## 文档
84+
## 📚 文档
7085

7186
- [USER_GUIDE.md](./USER_GUIDE.md) - 详细使用文档
7287
- [INIT_GUIDE.md](./INIT_GUIDE.md) - `ppage init` 命令使用指南
7388
- [UPDATE_GUIDE.md](./UPDATE_GUIDE.md) - 如何安全地更新 fork 的代码
89+
- [LINT.md](./LINT.md) - 代码质量工具使用指南
7490

75-
## 🚢 部署
91+
## 💡 主要功能
7692

77-
PPage 支持两种部署方式,自动适配不同的访问路径:
93+
### 自动文件夹扫描
7894

79-
### 子目录部署(默认)
95+
`content/` 目录下创建任何文件夹,系统会自动:
8096

81-
适用场景:`yourusername.github.io/ppage``domain.com/ppage`
97+
- 扫描并识别文件夹
98+
- 生成导航菜单项
99+
- 创建对应的路由和页面
82100

83-
```bash
84-
# 1. 配置 public/config.yml 中的 deploy 信息
85-
# 2. 执行部署(自动清理、构建、部署)
86-
./scripts/deploy.sh
101+
通过 `public/config.yml` 中的 `collections` 配置控制:
102+
103+
```yaml
104+
collections:
105+
tutorials:
106+
enabled: true # 是否启用
107+
showInNavigation: true # 是否在导航栏显示
108+
showInMobile: false # 移动端是否直接显示
109+
order: 1 # 导航顺序
87110
```
88111
89-
### 根域名部署
112+
### 文档中心
113+
114+
强大的文档管理系统,支持:
115+
116+
- **层级结构**:通过 `parent` 字段建立父子关系
117+
- **智能排序**:支持置顶、优先级、order 多级排序
118+
- **面包屑导航**:自动生成文档路径
119+
- **双向链接**:自动识别文档间引用
120+
121+
### 自动文件扫描
122+
123+
在 Markdown 中引用文件,系统会自动:
124+
125+
- 扫描所有 Markdown 中的文件链接
126+
- 在文件页面自动展示
127+
- 支持 PDF 预览和下载
128+
129+
### 新闻时间轴
130+
131+
展示学术动态和重要事件:
132+
133+
- 支持多种事件类型(论文、获奖、会议等)
134+
- 论文状态追踪(已接收、在线、已发表)
135+
- 时间轴展示,直观易读
136+
137+
## 🚢 部署
138+
139+
PPage 使用**相对路径构建**,自动适配任何部署路径,无需手动配置 base path。
90140

91-
适用场景:`yourusername.github.io` 或自定义域名 `yourdomain.com`
141+
### 一键部署
92142

93143
```bash
94144
# 1. 配置 public/config.yml 中的 deploy 信息
95-
# 2. 执行根域名部署(自动清理、构建、部署)
96-
./scripts/deploy.sh root
145+
deploy:
146+
repository: "https://github.com/yourusername/yourrepo"
147+
branch: "gh-pages"
148+
customDomain: "" # 可选,填写自定义域名
149+
150+
# 2. 执行部署(自动清理、构建、部署)
151+
npm run deploy
97152
```
98153

154+
### 支持的部署场景
155+
156+
✅ **子目录部署**:`yourusername.github.io/ppage`
157+
✅ **根域名部署**:`yourusername.github.io`
158+
✅ **自定义域名**:`yourdomain.com`
159+
160+
**自动适配原理**:
161+
162+
- 构建时使用 `base: './'` 相对路径
163+
- 运行时通过 `window.location.pathname` 动态检测部署路径
164+
- 无需手动配置,一次构建随处可用
165+
99166
### 手动构建
100167

101168
```bash
102-
# 子目录部署构建(base = /ppage/)
103-
npm run build:subdir
169+
# 清理旧文件
170+
npm run clean
104171
105-
# 根域名部署构建(base = /
106-
npm run build:root
172+
# 构建(自动使用相对路径
173+
npm run build
107174
108-
# 自定义 base path
109-
VITE_BASE_PATH=/custom/ npm run build
175+
# 预览构建结果
176+
npm run preview
110177
```
111178

112179
更多部署细节请查看 [USER_GUIDE.md 的部署指南](./USER_GUIDE.md#-部署指南)。
@@ -121,21 +188,74 @@ npm run update
121188
```
122189

123190
**受保护的文件**(更新时不会被覆盖):
191+
124192
- `public/config.yml` - 你的站点配置
125193
- `content/` - 你的所有内容
126194
- `public/assets/` - 你的资源文件
127195
- `scripts/deploy.sh` - 你的部署脚本
128196

129197
详细更新流程请查看 [UPDATE_GUIDE.md](./UPDATE_GUIDE.md)。
130198

131-
## 技术栈
199+
## 🔧 技术栈
200+
201+
- **前端框架**:React 18 + Vite
202+
- **路由**:React Router 6
203+
- **Markdown 渲染**:markdown-it
204+
- **配置解析**:js-yaml
205+
- **样式**:CSS Modules + CSS Variables
206+
- **代码质量**:ESLint + Stylelint + Prettier
207+
- **国际化**:React Context 自定义 i18n
208+
209+
## 🛠️ 开发指南
210+
211+
### 本地开发
212+
213+
```bash
214+
# 安装依赖
215+
npm install
216+
217+
# 启动开发服务器
218+
npm run dev
219+
220+
# 代码检查
221+
npm run lint
222+
223+
# 代码格式化
224+
npm run format
225+
226+
# 自动修复问题
227+
npm run lint:fix
228+
```
229+
230+
### 项目结构
231+
232+
```
233+
ppage/
234+
├── content/ # 内容目录
235+
│ ├── pages/ # 文档页面
236+
│ ├── posts/ # 博客文章
237+
│ ├── files/ # 文件资源
238+
│ └── tutorials/ # 自定义文档集合
239+
├── public/
240+
│ ├── config.yml # 站点配置文件
241+
│ └── assets/ # 静态资源
242+
├── src/
243+
│ ├── components/ # React 组件
244+
│ ├── pages/ # 页面组件
245+
│ ├── utils/ # 工具函数
246+
│ ├── config/ # 配置解析
247+
│ ├── i18n/ # 国际化
248+
│ └── themes/ # 主题样式
249+
└── scripts/ # 工具脚本
250+
├── deploy.sh # 部署脚本
251+
├── init.js # 初始化脚本
252+
└── update.js # 更新脚本
253+
```
254+
255+
## 🤝 贡献
132256
133-
- React 18 + Vite
134-
- React Router
135-
- markdown-it
136-
- js-yaml
137-
- CSS Modules + CSS Variables
257+
欢迎提交 Issue 和 Pull Request!
138258
139-
## License
259+
## 📝 License
140260
141-
MIT
261+
MIT License - 详见 [LICENSE](LICENSE) 文件

src/App.jsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ function AppContent() {
3232
useEffect(() => {
3333
async function loadConfigs() {
3434
try {
35-
console.log('[App] config:', config)
36-
console.log('[App] config.collections:', config?.collections)
3735
// 传递完整的 config 给 folderScanner
3836
const configs = await generateFolderConfigs(config)
3937
// 过滤掉 posts 和 pages,它们已经有专门的页面

0 commit comments

Comments
 (0)