初始化:Astro 站点 + Sveltia CMS 后台 + 部署配置
This commit is contained in:
95
docs/PROJECT.md
Normal file
95
docs/PROJECT.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# ShiZhui 网站 项目文档
|
||||
|
||||
> 本文档记录项目的方案、技术选型、结构与运维信息,随项目推进持续更新。
|
||||
|
||||
## 1. 项目概述
|
||||
|
||||
- **域名**:shizhui.xyz(已可 ping 通)
|
||||
- **定位**:展示型网站(作品集 / 产品展示),非运营、非社交
|
||||
- **内容方向**:电子工程、软件工程、通信、机器人类产品
|
||||
- **维护者背景**:嵌入式工程师,Web 经验较少,需求是"结构清晰、长期可增量维护"
|
||||
|
||||
## 2. 技术选型
|
||||
|
||||
| 项 | 选择 | 说明 |
|
||||
|----|------|------|
|
||||
| 站点类型 | 静态站点(SSG) | 无后端、无数据库,安全面小、易运维 |
|
||||
| 框架 | Astro 5 | 语法接近 HTML,组件化,内容用 Markdown,将来可按需加交互组件 |
|
||||
| 内容 | Markdown / MDX | 博客与项目内容用 Markdown 编写,便于维护 |
|
||||
| 样式 | 原生 CSS(CSS 变量主题) | 工程/极简科技风,暗色调,无重型 UI 框架 |
|
||||
| 语言 | 中文为主 | |
|
||||
| 部署 | Nginx 托管静态文件 | Ubuntu 26 服务器 |
|
||||
| HTTPS | Let's Encrypt(certbot) | 免费证书,自动续期 |
|
||||
| 内容管理 | Gitea + Sveltia CMS | 自托管 Git + 在线写作后台,详见 `docs/CMS.md` |
|
||||
|
||||
### 设计风格
|
||||
- 工程 / 极简科技风
|
||||
- 暗色调为主
|
||||
- 强调可读性与信息密度
|
||||
|
||||
## 3. 站点板块
|
||||
|
||||
- 首页(Home):简介 + 精选项目/文章入口
|
||||
- 关于(About):个人/团队介绍、技能方向
|
||||
- 项目 / 产品(Projects):硬件/软件/通信/机器人作品展示
|
||||
- 技术博客(Blog):技术文章
|
||||
- 联系方式(Contact)
|
||||
|
||||
## 4. 工程结构
|
||||
|
||||
```
|
||||
shizhui_website/
|
||||
├── docs/ # 项目文档(本目录)
|
||||
│ ├── PROJECT.md # 项目总览(本文件)
|
||||
│ └── DEPLOY.md # 部署与运维记录
|
||||
├── public/ # 静态资源(直接拷贝,不经构建)
|
||||
├── src/
|
||||
│ ├── components/ # 复用组件
|
||||
│ ├── layouts/ # 页面布局
|
||||
│ ├── pages/ # 路由页面(文件即路由)
|
||||
│ ├── content/ # Markdown 内容集合(blog / projects)
|
||||
│ └── styles/ # 全局样式与主题变量
|
||||
├── astro.config.mjs # Astro 配置
|
||||
├── package.json
|
||||
└── tsconfig.json
|
||||
```
|
||||
|
||||
## 5. 内容维护方式(给非前端的你)
|
||||
|
||||
- **加一篇博客**:在 `src/content/blog/` 新建一个 `.md` 文件,填好顶部 frontmatter(标题、日期、摘要),写正文即可。
|
||||
- **加一个项目**:在 `src/content/projects/` 新建一个 `.md` 文件,填好 frontmatter(名称、分类、简介、链接),写详情即可。
|
||||
- 改完后本地 `npm run build`,再部署。
|
||||
|
||||
## 6. 常用命令
|
||||
|
||||
```bash
|
||||
npm install # 安装依赖
|
||||
npm run dev # 本地开发预览(默认 http://localhost:4321)
|
||||
npm run build # 构建到 dist/
|
||||
npm run preview # 预览构建结果
|
||||
```
|
||||
|
||||
## 7. 待办 / 路线图
|
||||
|
||||
- [x] 技术选型与方案确定
|
||||
- [x] 工程骨架搭建
|
||||
- [x] 首页 / 关于 / 项目 / 博客 / 联系页面
|
||||
- [x] 暗色主题样式
|
||||
- [x] 本地构建验证(`npm run build` 通过,8 页生成)
|
||||
- [x] 在线内容管理方案确定(Gitea + Sveltia CMS,见 `docs/CMS.md`)
|
||||
- [ ] 服务器环境部署(Nginx + HTTPS)
|
||||
- [ ] 自托管 Gitea + Sveltia CMS 在线编辑后台
|
||||
- [ ] 域名解析与上线
|
||||
|
||||
### 已实现功能
|
||||
- 响应式暗色主题(CSS 变量,工程/极简科技风)
|
||||
- 内容集合:`blog`(博客)+ `projects`(项目),均用 Markdown + frontmatter
|
||||
- 项目页支持按分类(硬件/软件/通信/机器人)前端筛选
|
||||
- 博客 RSS 订阅(`/rss.xml`)、站点地图(sitemap)、SEO 与 OG 标签
|
||||
- 站点信息集中在 `src/site.config.ts`(标题、导航、社交链接、邮箱)
|
||||
|
||||
## 8. 安全备注
|
||||
|
||||
- **务必**尽快更换服务器 root 密码,并改用 SSH 密钥登录、关闭密码登录。
|
||||
- 凭据不写入仓库与文档(本文件不记录任何密码)。
|
||||
- 静态站点无后端,攻击面主要在服务器 SSH 与 Nginx 配置。
|
||||
Reference in New Issue
Block a user