Files
shizhui_website/docs/PROJECT.md

96 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ShiZhui 网站 项目文档
> 本文档记录项目的方案、技术选型、结构与运维信息,随项目推进持续更新。
## 1. 项目概述
- **域名**shizhui.xyz已可 ping 通)
- **定位**:展示型网站(作品集 / 产品展示),非运营、非社交
- **内容方向**:电子工程、软件工程、通信、机器人类产品
- **维护者背景**嵌入式工程师Web 经验较少,需求是"结构清晰、长期可增量维护"
## 2. 技术选型
| 项 | 选择 | 说明 |
|----|------|------|
| 站点类型 | 静态站点SSG | 无后端、无数据库,安全面小、易运维 |
| 框架 | Astro 5 | 语法接近 HTML组件化内容用 Markdown将来可按需加交互组件 |
| 内容 | Markdown / MDX | 博客与项目内容用 Markdown 编写,便于维护 |
| 样式 | 原生 CSSCSS 变量主题) | 工程/极简科技风,暗色调,无重型 UI 框架 |
| 语言 | 中文为主 | |
| 部署 | Nginx 托管静态文件 | Ubuntu 26 服务器 |
| HTTPS | Let's Encryptcertbot | 免费证书,自动续期 |
| 内容管理 | 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 配置。