tsteinke11306/trevor-steinke-portfolio
GitHub: tsteinke11306/trevor-steinke-portfolio
一个部署在 GitHub Pages 上的个人作品集网站,包含自托管的联系表单后端和隐私优先的分析统计系统。
Stars: 0 | Forks: 0
# Trevor Steinke - IT 作品集
实时作品集网站请访问 [trevorsteinke.com](https://trevorsteinke.com)
## 关于
IT 技术员作品集,展示技能、项目和职业发展。采用简洁现代的设计构建,并部署在带有自定义域名的 GitHub Pages 上。
## 功能
- **响应式设计** - 适配所有设备
- **暗黑模式** - 系统偏好检测 + 手动切换
- **联系表单** - 将提交内容直接发送至邮箱
- **分析统计** - 自托管、注重隐私的页面追踪
- **社交分享** - 使用 Open Graph 标签实现精美的链接预览
## 技术栈
| 层级 | 技术 |
|-------|------------|
| 前端 | HTML, CSS, JavaScript |
| 托管 | GitHub Pages |
| DNS | Cloudflare |
| 联系 API | VPS 上的 Node.js(端口 8443) |
| 分析统计 | VPS 上的 SQLite + Node.js |
## 基础设施
```
trevorsteinke.com (GitHub Pages)
├── Static HTML/CSS/JS
└── Contact form → api.trevorsteinke.com:8443
├── POST /api/contact (send email)
├── POST /api/analytics (track views)
└── GET /api/analytics/stats (dashboard)
Analytics Dashboard: trevorsteinke.com/analytics.html
```
## 服务
- **联系表单后端** - VPS 上的 `portfolio-contact.service`
- **反向代理** - Caddy(端口 8443)
- **电子邮件** - Gmail SMTP 中继 → 收件箱
## 更新内容
直接编辑 `index.html`。更改将通过 GitHub Pages 自动部署。
对于服务器端的更改(联系/分析),请通过 SSH 登录 VPS:
```
systemctl restart portfolio-contact
```
## 分析统计登录
- URL:https://trevorsteinke.com/analytics.html
- 凭证存储在 `/root/portfolio-contact/.env` 中
*由 Trevor Steinke 构建并维护*
标签:GitHub Pages, GNU通用公共许可证, MITM代理, Node.js, SQLite, Web前端, 个人主页, 后端开发, 多模态安全, 数据可视化