1203 字
6 分钟
从零搭一个博客:为什么我最后选了 Astro

这是「搭建这个博客」系列的第 1 篇。另外两篇是 2 给静态博客接一个能登录的后台 和 3 卡了我半天的那些坑。

起因#

说简单点:我想要一个自己的地方写字。

不想发在别人的平台上——排版不能改、数据不在自己手里、说不定哪天就没了。所以决定自己搭一个。

我不是前端工程师,平时也就写写脚本。所以我给自己定的要求很低:能跑起来、好看、以后写文章不折腾。

先把 WordPress 排除掉#

第一反应当然是 WordPress,毕竟”建站”两个字搜索引擎第一个推的就是它。

但想了下我的实际需求:我就写点技术笔记,一年可能几十篇。为了这个去租服务器、装 PHP、配数据库、装插件、还得记着升级和备份——服务器一旦不维护,就是被挂马的重灾区。

相比之下,静态博客的好处太明显了:

  • 页面是提前生成好的纯静态文件,快
  • 扔到 CDN 上就行,免费
  • 没有数据库、没有后台入口,几乎没什么可攻击的
  • 文章就是 Markdown 文件,在 Git 里,永远不会丢

它唯一的问题就是:写文章要改文件、还要 push。这个后面我专门写了一篇解决它(就是本系列第 2 篇)。

为什么是 Astro + Fuwari#

框架我看了 Hugo、Hexo、Astro。最后选 Astro 的原因很朴素:

  • 它默认就是静态生成,不用我去理解什么渲染模式
  • 生态好,图片优化、代码高亮、搜索、站点地图都有现成集成
  • 想加点交互组件也不难(它支持 Svelte / React 这些)

主题选了 Fuwari(开源,MIT)。原因更朴素:一眼看过去顺眼——左边个人卡、右边文章列表,二次元风格的封面图,暗色模式也好看。

选主题这事我建议别纠结太久。好看、能改,就够了。反正代码在自己手里,不满意随时换。

第 1 步:本地先跑起来#

Terminal window
git clone <主题仓库> 我的博客
cd 我的博客
pnpm install
pnpm dev

需要 Node 20+ 和 pnpm。跑起来后打开 http://localhost:4321 就能看到默认样子。

这里有个小建议:先别急着改东西,先跑一遍 pnpm build 和 pnpm preview,确认”原样是能构建的”。不然一会儿改坏了,你分不清是环境问题还是自己改错了。

第 2 步:把它变成”我的”博客#

Fuwari 把所有能改的东西都集中在一个文件里:src/config.ts。

站点标题、副标题、语言(我改成 zh_CN)、主题色、banner 大图、头像、导航栏、社交链接、每页显示几篇文章、音乐播放器……全在这儿。改这一个文件,站点的”身份”就变了。

我的做法是:先把这里改到自己满意,再动别的。因为后面改组件的时候,你会需要一个”确定没问题”的基线。

第 3 步:汉化(有个小坑)#

主题自带多语言,中文文案在 src/i18n/languages/zh_CN.ts。改文案很直接。

但如果你要新增一个词条,注意了:不是只改中文文件就行。得先在 i18nKey.ts 里加 key,然后把全部 10 个语言文件都补上——少一个就是构建报错(类型检查过不去)。

我第一次就是这么踩的:改完中文,一构建,红字一片。

第 4 步:部署上线(免费)#

代码推到自己 GitHub 仓库后:

  1. Cloudflare Dashboard → Workers & Pages → 创建 Pages 项目 → 连接这个仓库
  2. 构建命令填 pnpm run build,输出目录填 dist
  3. 绑定自己的域名,HTTPS 证书 Cloudflare 自动签

然后你会发现一件很爽的事:以后每次 git push,它自动重新构建部署,一分钟左右就上线。

这个”提交即上线”的闭环特别重要——它让后面加后台变成可能(后台写完文章 = 一次提交 = 自动部署)。

现在的样子#

搭完之后陆陆续续又加了些东西:侧栏加了文章/分类/标签的统计、补了两个总览页、右下角加了回到顶部、侧栏塞了个音乐播放器。都是小东西,但用起来舒服很多。

整个过程最大的感受是:别追求一次到位。先上线一个能用的,再慢慢加。

下一篇讲怎么给这个纯静态的站接一个能登录的后台,让它变得”能写”。


系列导航:1 从零搭一个博客 · 2 给静态博客接一个能登录的后台 · 3 卡了我半天的那些坑

从零搭一个博客:为什么我最后选了 Astro
https://56076077.xyz/posts/blog-setup/
作者
Nskdfh
发布于
2026-09-17
许可协议
CC BY-NC-SA 4.0