你现在正在读的这篇文章,本身就是这篇教程最好的产物。这个博客从想法到上线,用了不到半天的时间。我想把整个过程记录下来,既是对自己的一次复盘,或许也能给想搭个人站的人一些参考。

起点:一个想法

事情开始得很简单——我想有一个自己的博客。不是什么大平台上的账号,而是一个完全属于自己的、可以自由支配的角落。

这个念头其实存在很久了,但一直卡在同一个地方:选什么工具?用什么设计?写到什么时候才能像样?后来想通了,这些问题只有在真正动手之后才会有答案。于是我把「想搭博客」这个任务交给了 Claude,我只需要告诉他我想要什么,他来落地。

设计方向:一次推倒重来

第一版的设计是复古手绘风——暖米黄的底色、砖红的点缀、手绘边框,想营造一种旧杂志的质感。在做出来之前我觉得这个方向挺好的,但真正看到成品之后,感觉不太对劲。说不上哪里不好,就是觉得「这不是我的东西」。

然后推倒重来。

第二版的方向完全不同:暗黑底色、朱红点缀、直角无圆角、颗粒噪点纹理。灵感来自深夜的书房——安静、沉、有重量感。这次没有犹豫,看到成品就知道「对了」。

设计有时候不是找到最好的,而是排除掉所有不对的,剩下的那个就是了。

技术选型:意外走了一条最朴素的路线

原本的计划是用 Astro —— 一个现代化的静态站点生成器,零 JS 默认输出,内容用 Markdown 管理,是目前最推荐的个人博客方案。但在实际搭建时遇到了一个问题:当前环境的网络限制导致 npm 无法安装任何包。

这意味着不能用任何 Node.js 框架,不能装依赖,不能跑构建命令。

解决方案比想象中简单:直接写纯静态 HTML。不用框架,不用构建工具,不需要任何依赖。就是一个 HTML 文件加一个 CSS 文件加几个页面——打开浏览器就能看,扔到任何静态托管服务上就能跑。

后来发现这个「被迫的选择」其实有很多好处:

  • 零依赖 —— 不会因为某个包版本升级而炸掉
  • 极速加载 —— 没有 JavaScript 框架的开销,页面几乎是瞬间渲染
  • 完全可控 —— 每一个像素都由自己决定,不用跟框架的默认行为打架
  • 部署简单 —— 不需要构建步骤,上传即上线

当然也有代价:每次新增文章需要手动创建 HTML 文件、更新列表页、更新搜索索引。但对一个个人博客来说,这不是什么大问题——文章不会多到让这些操作变得不可接受,而且这个过程本身也可以工具化。

设计系统:几个关键决策

配色是这个博客最核心的设计决策。整个调色板只有六个颜色:

  • 墨黑 #0a0a08 —— 背景,不是纯黑,有一点暖调,不刺眼
  • 朱红 #c93c2a —— 强调色,中国的传统红色,用在标题、链接、装饰线上
  • 琥珀金 #b8860b —— 辅助色,克制地用在标签和代码高亮上
  • 三个灰色层次 —— 从暖白到暗灰,构建文字的信息层级

选字体花了一些心思。中文博客的字体选择其实不多——好看的免费中文字体就那几个。最终用了 Noto Serif SC 作为标题和正文的字体,它是 Google 和 Adobe 合作开发的思源宋体,衬线字形在暗色背景上阅读感很好。英文字体搭配了 EB Garamond,用在文章编号和一些装饰性元素上。

还有一个不起眼但重要的细节:全局的颗粒噪点纹理。在纯色背景上用 SVG 生成一个微妙的噪点叠加层,让页面看起来有 tactile 的质感,不那么「数码」。这个效果很微弱,几乎察觉不到,但去掉之后页面会感觉「太干净了」。

工作流:人与 AI 协作写博客

这个博客有一个特别的运作方式:文章由我来构思和撰写,但技术实现由 AI 完成。具体来说:

  • 我告诉 Claude 想写什么主题和大概的想法
  • 他根据这个方向写出完整的文章
  • 同时自动生成符合博客风格的 HTML 页面
  • 更新首页的文章列表、搜索索引和 Sitemap
  • 我只需要审阅确认,然后上传到 Cloudflare Pages

最有趣的部分是,我们还为此创建了一个专用的技能(Skill)。这个技能记录了博客的所有设计规范、HTML 模板、写作风格指南和更新流程。以后在任何新对话中,只要调用这个技能,就能以完全一致的风格输出文章——就像是给 AI 写了一本这个博客的「品牌手册」。

部署:最简单的一步

博客用的是 Cloudflare Pages 的 Direct Upload 方式部署。不需要 GitHub,不需要 CI/CD,不需要构建命令。在 Cloudflare 后台创建一个 Pages 项目,把文件压缩包拖进去,点一下部署,等十几秒就好了。

部署完成之后会获得一个 `*.pages.dev` 的域名,也可以绑定自己的域名。Cloudflare 的免费套餐对一个个人博客来说完全够用,而且全球 CDN 加速,国内访问速度也不错。

一些想法

搭建这个博客最大的感受是:不要等「准备好了再开始」。第一版的设计不满意,推倒重来就好了;技术方案遇到限制,换一条路就好了。重要的是先有一个能跑起来的东西,然后再慢慢打磨。

这个博客现在还很新,只有两篇文章。但它已经在运转了,这就是最好的开始。


2026 年 6 月 15 日
于 LLF工作站