11# RapidAI Website v2
22
3- RapidAI 官网静态站点,基于 Astro 构建,面向 GitHub Pages 部署 。
3+ RapidAI 官网静态站点,基于 Astro 构建。
44
55## 本地开发
66
7+ 安装依赖:
8+
9+ ``` bash
10+ npm install --ignore-scripts
11+ ```
12+
13+ 启动开发服务器:
14+
715``` bash
8- npm install
9- npm run dev
16+ node ./node_modules/astro/bin/astro.mjs dev --host 127.0.0.1 --port 4321
1017```
1118
12- 默认本地地址 :
19+ 本地访问地址 :
1320
1421``` text
15- http://localhost :4321/
22+ http://127.0.0.1 :4321/
1623```
1724
18- ## 构建
25+ 构建:
1926
2027``` bash
21- npm run build
28+ node ./node_modules/astro/bin/astro.mjs build
2229```
2330
2431构建产物输出到 ` dist/ ` 。
2532
26- ## GitHub Pages 部署
27-
28- 项目已经内置 GitHub Pages 部署工作流:
29-
30- - 工作流文件:[ .github/workflows/ci.yml] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/.github/workflows/ci.yml )
31- - 构建方式:Astro 静态站点
32- - 发布目录:` dist/ `
33- - 发布分支:` gh-pages `
34-
35- ### 部署逻辑
36-
37- - 推送到 ` main ` 或 ` master ` 时会自动构建并发布。
38- - ` astro.config.mjs ` 已根据 ` GITHUB_REPOSITORY ` 自动设置 ` base ` ,适配仓库名路径部署。
39- - 如果你使用自定义域名,建议把 ` CNAME ` 文件放到 ` public/CNAME ` 。
40-
41- ### GitHub Pages 设置建议
33+ ## 维护入口总览
4234
43- 1 . 仓库 ` Settings -> Pages `
44- 2 . Source 选择 ` Deploy from a branch `
45- 3 . Branch 选择 ` gh-pages `
46- 4 . Folder 选择 ` / (root) `
35+ 站点的可维护内容主要集中在:
4736
48- ## 内容维护入口
37+ - ` src/data/ ` :结构化数据,适合维护首页、项目、成员、研究院、论文等
38+ - ` src/content/ ` :Markdown 内容,适合维护博客和动态
39+ - ` src/pages/ ` :页面入口,适合调整页面结构和区块顺序
40+ - ` src/components/ ` :可复用组件,适合调整卡片样式、列表样式、分页等
41+ - ` src/styles/global.css ` :全局样式和响应式布局
42+ - ` src/layouts/MainLayout.astro ` :全站头部、页脚、移动端导航
4943
50- 后续大多数动态增删内容,都已经拆到 ` src/data ` 或 ` src/content ` 。
44+ ## 每部分改哪里
5145
52- ### 1. 站点导航和页脚
46+ ### 1. 全站导航、页脚、站点基础信息
5347
54- - 文件:[ src/data/site.ts] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/data/site.ts )
55- - 可维护内容:
48+ - 数据位置:` src/data/site.ts `
49+ - 布局位置:` src/layouts/MainLayout.astro `
50+ - 适合修改:
5651 - 顶部导航
5752 - 页脚栏目
5853 - 页脚品牌说明
54+ - 移动端汉堡菜单
5955
60- ### 2. 首页内容
56+ ### 2. 首页
6157
62- - 文件:[ src/data/home.ts] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/data/home.ts )
63- - 可维护内容:
58+ - 页面入口:` src/pages/index.astro `
59+ - 数据位置:` src/data/home.ts `
60+ - 相关组件:
61+ - ` src/components/Hero.astro `
62+ - ` src/components/SectionIntro.astro `
63+ - ` src/components/DynamicProjectsGrid.astro `
64+ - 适合修改:
6465 - 首页 Hero 文案
65- - Hero 按钮
66- - Hero 右侧卡片
67- - 首页统计卡
68- - 首页信号卡
69- - 首页栏目入口卡
70-
71- ### 3. 项目卡片
72-
73- - 文件:[ src/data/projects.ts] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/data/projects.ts )
74- - 可维护内容:
66+ - 首页按钮
67+ - 首页统计卡片
68+ - 首页信号区块
69+ - 首页各栏目入口卡片
70+
71+ ### 3. 项目页
72+
73+ - 页面入口:` src/pages/projects.astro `
74+ - 数据位置:` src/data/projects.ts `
75+ - 相关组件:
76+ - ` src/components/DynamicProjectsGrid.astro `
77+ - ` src/components/ProjectCard.astro `
78+ - ` src/components/GitHubStars.astro `
79+ - 适合修改:
7580 - 项目名称
76- - 分类
77- - 摘要
78- - GitHub 仓库地址
79- - 兜底收藏数
81+ - 项目分类
82+ - 项目简介
83+ - 项目链接
84+ - Star 兜底数字
8085
8186说明:
8287
83- - 如果填写了数字型 ` stars ` ,页面可在 GitHub 请求失败时显示兜底值。
84- - 如果留空,页面会显示 ` 仓库 ` ,不会显示错误占位。
88+ - 后续新增项目,优先改 ` src/data/projects.ts `
89+ - ` GitHubStars.astro ` 只负责显示卡片右上角的 Star 文案
8590
86- ### 4. 研究院与论文
91+ ### 4. 成员页
8792
88- - 文件:[ src/data/research.ts] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/data/research.ts )
89- - 可维护内容:
93+ - 页面入口:` src/pages/members.astro `
94+ - 数据位置:
95+ - ` src/data/members.ts `
96+ - ` src/data/community.ts `
97+ - 相关组件:
98+ - ` src/components/DynamicMembersGrid.astro `
99+ - 适合修改:
100+ - 成员姓名
101+ - GitHub 用户名
102+ - 角色标签
103+ - 成员简介
104+ - 社区加入说明
105+
106+ ### 5. 研究院页
107+
108+ - 页面入口:` src/pages/research.astro `
109+ - 数据位置:
110+ - ` src/data/research.ts `
111+ - ` src/data/publications.ts `
112+ - 相关组件:
113+ - ` src/components/PublicationCards.astro `
114+ - ` src/components/SectionIntro.astro `
115+ - 适合修改:
90116 - 研究院首屏文案
91117 - 招募说明
92118 - 研究院概述卡片
93119 - 高亮信息卡片
94120 - 管理团队
95121 - 学术委员会规则
96- - 论文与成果列表
97-
98- ### 5. 社区加入说明
99-
100- - 文件:[ src/data/community.ts] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/data/community.ts )
101- - 可维护内容:
102- - 成员页加入说明卡
103- - 申请链接
104-
105- ### 6. 成员信息
106-
107- - 文件:[ src/data/members.ts] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/data/members.ts )
108- - 可维护内容:
109- - 成员姓名
110- - GitHub 用户名
111- - 角色
112- - 简介
113-
114- ### 7. 博客文章
115-
116- - 目录:[ src/content/blog] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/content/blog )
117- - 每篇文章为一个 Markdown 文件
118- - 可维护内容:
119- - 标题
122+ - 论文卡片区
123+
124+ 维护建议:
125+
126+ - 研究院介绍类内容改 ` src/data/research.ts `
127+ - 论文、预印本、技术报告统一改 ` src/data/publications.ts `
128+ - 不要直接在 ` src/pages/research.astro ` 里手写论文条目
129+
130+ ### 6. 论文卡片
131+
132+ - 数据位置:` src/data/publications.ts `
133+ - 渲染组件:` src/components/PublicationCards.astro `
134+ - 页面挂载位置:` src/pages/research.astro `
135+ - 每条论文建议维护字段:
136+ - ` title `
137+ - ` authors `
138+ - ` venue `
139+ - ` year `
140+ - ` type `
141+ - ` summary `
142+ - ` links `
143+
144+ 后续新增论文时,直接在 ` src/data/publications.ts ` 追加一项即可。
145+
146+ ### 7. 博客
147+
148+ - 内容目录:` src/content/blog `
149+ - 页面入口:
150+ - ` src/pages/blog/index.astro `
151+ - ` src/pages/blog/[slug].astro `
152+ - ` src/pages/blog/page/[page].astro `
153+ - 相关组件:
154+ - ` src/components/BlogList.astro `
155+ - ` src/components/Pagination.astro `
156+ - 适合修改:
157+ - 博客标题
120158 - 摘要
121159 - 日期
122160 - 作者
123161 - 标签
124- - 封面图
162+ - 封面
125163 - 正文
126164
127165### 8. 近期动态
128166
129- - 目录: [ src/content/updates] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/content/updates )
130- - 每条动态为一个 Markdown 文件
131- - 可维护内容 :
132- - 标题
133- - 简述
167+ - 内容目录: ` src/content/updates `
168+ - 页面入口: ` src/pages/update.astro `
169+ - 适合修改 :
170+ - 动态标题
171+ - 简介
134172 - 日期
135173 - 标签
136174
175+ ### 9. Publications 页面
176+
177+ - 页面入口:` src/pages/publications.astro `
178+ - 当前作用:
179+ - 作为跳转页
180+ - 自动跳转到 ` research#research-publications `
181+
182+ 如果以后仍然保持“研究院页面统一展示论文”,这里通常不需要改。
183+
184+ ### 10. 全局样式和移动端适配
185+
186+ - 样式位置:` src/styles/global.css `
187+ - 适合修改:
188+ - 页面间距
189+ - 卡片样式
190+ - 响应式断点
191+ - 移动端导航展开样式
192+ - 论文卡片区样式
193+
137194## 常见操作
138195
139196### 新增一个项目
140197
141- 编辑 [ src/data/projects.ts] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/data/projects.ts ) ,按现有对象格式新增一项。
198+ 编辑 ` src/data/projects.ts ` ,按现有对象格式追加一项。
199+
200+ ### 新增一位成员
201+
202+ 编辑 ` src/data/members.ts ` ,按现有对象格式追加一项。
203+
204+ ### 新增一篇论文
205+
206+ 编辑 ` src/data/publications.ts ` ,按现有对象格式追加一项。
207+
208+ 示例:
209+
210+ ``` ts
211+ {
212+ title : " Your Paper Title" ,
213+ authors : " Author A, Author B, Author C" ,
214+ venue : " Conference / Journal / arXiv" ,
215+ year : " 2026" ,
216+ type : " Conference" ,
217+ summary : " 用 1 到 2 句话概括论文做了什么、解决了什么问题。" ,
218+ links : [
219+ {
220+ label: " Paper" ,
221+ href: " https://example.com/paper"
222+ },
223+ {
224+ label: " Code" ,
225+ href: " https://github.com/example/repo"
226+ }
227+ ]
228+ }
229+ ```
230+
231+ 字段建议:
232+
233+ - ` title ` :论文标题
234+ - ` authors ` :作者列表,直接写成字符串
235+ - ` venue ` :会议、期刊、arXiv 或研究院内部报告名
236+ - ` year ` :年份,统一用字符串
237+ - ` type ` :如 ` Conference ` 、` Journal ` 、` Preprint ` 、` Tech Report `
238+ - ` summary ` :一小段摘要式说明
239+ - ` links ` :可放 ` Paper ` 、` Code ` 、` Project ` 、` Poster ` 等链接
142240
143241### 新增一篇博客
144242
145- 在 [ src/content/blog] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/content/blog ) 下新增 ` .md ` 文件,参考现有文章 frontmatter。
243+ 在 ` src/content/blog ` 下新增一个 ` .md ` 文件,参考现有文章的 frontmatter。
146244
147245### 新增一条动态
148246
149- 在 [ src/content/updates] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/content/updates ) 下新增 ` .md ` 文件。
247+ 在 ` src/content/updates ` 下新增一个 ` .md ` 文件。
248+
249+ ### 调整研究院页面区块顺序
250+
251+ 编辑 ` src/pages/research.astro ` 。
150252
151- ### 新增一条论文
253+ ### 调整首页区块顺序
152254
153- 编辑 [ src/data/research.ts] ( /Users/joshuawang/projects/_self/RapidAIWebSitev2/src/data/research.ts ) 里的 ` publications ` 数组。
255+ 编辑 ` src/pages/index.astro ` 。
256+
257+ ### 调整全站头部或页脚
258+
259+ 编辑:
260+
261+ - ` src/layouts/MainLayout.astro `
262+ - ` src/data/site.ts `
154263
155264## 目录说明
156265
157266``` text
158267src/
159- components/ 页面组件
268+ components/ 复用组件
160269 content/ 博客与动态 Markdown 内容
161- data/ 可手动维护的数据配置
270+ data/ 结构化维护数据
162271 layouts/ 页面布局
163272 pages/ 路由页面
164273 styles/ 全局样式
@@ -167,3 +276,10 @@ public/
167276.github/workflows/
168277 ci.yml GitHub Pages 自动部署
169278```
279+
280+ ## 当前建议的维护原则
281+
282+ - 文案和条目优先放到 ` src/data/ ` 或 ` src/content/ `
283+ - 页面文件 ` src/pages/ ` 主要负责组装,不负责堆大量数据
284+ - 重复使用的展示结构优先抽到 ` src/components/ `
285+ - 样式统一放到 ` src/styles/global.css `
0 commit comments