技术栈
这个网站,
是这样长出来的。
构建如何写成
- Astro(静态生成)
- Node.js / npm(构建环境)
- TypeScript / JavaScript
- Markdown 内容集合
- Vitest / Python(自动化验证)
- Wrangler(本地开发与数据库迁移)
服务如何运转
- Cloudflare Pages(部署)
- Pages Functions(留言、点赞、访客账户与头像接口)
- Cloudflare D1(评论、互动与账户数据)
- 可选账密登录、会话与恢复码
- 站点统计 PV / UV(服务端计数)
呈现如何呈现
- 自托管字体
- 构建期图片优化(WebP + 多档尺寸)
- CSS 动效与 Canvas 2D 交互
- three.js / WebGL(立体场景)
- TypeGPU / WebGPU(主题开关,带降级支持)
- postprocessing / N8AO(后期与环境遮蔽)
- 页面过渡(900 毫秒,CSS 时间轴)
- 跟手光标(白点 + 圆盘 + 涟漪,无位图)
- RSS / Sitemap
源码语言占比
一行一行,
写成现在的样子。
页面、交互、内容,还有它们背后的代码。
- TypeScript65.4%2,409,677 B
- Astro15.7%577,299 B
- CSS5%185,786 B
- Markdown5%183,891 B
- JavaScript3.9%143,341 B
- Python3%109,213 B
- JSON1.2%44,838 B
- SQL0.9%32,662 B
统计范围与口径
构建时读取当前仓库,合计 3,686,707 B。范围为 src、content、functions、scripts、tests、migrations;排除第三方副本、图片、字体、缓存和临时文件,与 GitHub 的语言统计口径不同。
也关于我
留下来的东西。
我叫郑云嘉,是一个大学生。这个博客写我个人的成长经历。
真正留在我身上的东西有四种:钢琴的手感、街舞的肌肉记忆、唱歌的自信,还有相机的眼睛。它们的共同点很有意思——都不是被考级、比赛、证书逼出来的,反而是那些“没用了”之后自己留下来的。
(这段出自《钢琴八级之后》,整篇是这句话的长版本。)
我在这里写随笔、放照片、记一些用 AI 折腾项目的经历。写得好不好另说,先写。
想联系我,发邮件到 [email protected]。
关于北杉郑云嘉 / 大学生
很高兴,
在这里遇见。
我叫郑云嘉,是一个大学生。这个博客写我个人的成长经历。
在这些地方找到我
写随笔,放照片,
也用 AI 折腾一些项目。