从零开始搭建个人品牌站
为什么要建这个站
做了几年开发和交易,零散的东西散落在各处——GitHub 上几个仓库,本地几篇草稿,朋友圈里碎片化的想法。没有一个地方能把这些串起来,告诉别人”我是谁,我在做什么”。
个人品牌不是虚荣心。它是一个信号放大器。你写的代码、踩过的坑、做过的项目,如果没人看到,那就只是自娱自乐。一个站点把这些东西聚合在一起,让潜在的合作者、雇主、或者同路人能快速理解你。
还有一个原因:build in public。把构建过程公开记录,逼自己把事情做完,而不是永远停留在”下周再说”。
技术选型
选 Astro 不是因为它新潮。是因为它 content-first——博客和文档天然适合静态生成,不需要客户端 JavaScript 运行时。React 站点加载一堆 JS 只为了渲染一篇文章,这不合理。
Tailwind CSS 4 用了 CSS 原生的 @theme 配置,不再需要 tailwind.config.js。设计 token 直接写在 CSS 里,和浏览器的工作方式更近一步。
Cloudflare Pages 解决分发问题。全球 CDN,零冷启动,免费额度够用。国内访问速度也还行,比 Vercel 和 Netlify 好一些。
三语支持(英文 / 简体中文 / 繁体中文)是一开始就规划的。不是后期加的。i18n 架构如果不在第一天考虑,后面改造成本极高——路由、内容目录结构、hreflang 标签、UI 文案翻译,每个环节都要适配。
架构决策
内容用 Astro Content Collections 管理。每篇内容有 lang 和 translationKey 两个字段,前者标识语言,后者把不同语言版本关联起来。这样语言切换时能精确跳转到对应翻译,而不是回到首页。
目录结构按语言分目录:src/content/blog/en/、src/content/blog/zh-cn/。页面路由也是语言前缀:/en/blog/、/zh-cn/blog/。
设计上选了深色 navy 做主色(65%),灰色做辅助(25%),琥珀色做强调(10%)。字体用 Space Grotesk 做标题——有几何感但不冰冷。正文用 Inter,可读性好。没选 Roboto,太泛了。
下一步
站点骨架搭完了。接下来要做的:填充期权教程内容(从之前的 epub 和 YouTube 转录稿提取)、接入公众号和 X 的发布流程、部署到 Cloudflare Pages。
这是第一篇,后续会持续记录。