从零搭建个人博客:一些过程与心得

2118 字
11 分钟
从零搭建个人博客:一些过程与心得

一、为什么想要写博客?#

说实话,最直接的原因是:我发现自己正在慢慢丢失”把思考变成文字”的能力。工作中的文档追求效率与准确,聊天则追求及时与简洁,那些需要静下心来梳理的、属于自己的文字,却越来越少。

常常有些事情在心中萦绕许久,觉得非记录下来不可,但真坐在电脑前时,想法又像雾一样散开了。

搭建这个博客,就是给自己一个”不得不写”的契机。更私心一点来说,我希望老了之后回头看,知道自己在某个特定的时空,喜欢过什么、思考过什么、又因为什么而感动过。那些真正塑造了我的东西,值得被留下来。

二、从 WordPress 迁移:一个更轻量的选择#

其实早在几年前,我就用 WordPress 搭过个人博客。那是一个功能非常完善的系统——有后台管理、插件生态、可视化编辑器,几乎什么都能做。但用得越久,越觉得有些不对劲:

  • 过于笨重:一个简单的博客背后,需要 PHP 运行环境、MySQL 数据库、定期备份和安全更新。每次登录后台,看到的都是”有 X 个插件需要更新”,而我只是想写一篇文章而已。
  • 维护成本高:服务器偶尔被扫描、数据库报错、缓存插件冲突……这些运维琐事逐渐消磨了写作的热情。
  • 写作体验割裂:WordPress 的古腾堡编辑器虽然强大,但真正写长文时,我还是更习惯本地的 Markdown 编辑器。每次都要复制粘贴、调整格式,很打断心流。

后来我开始关注静态站点生成器。这类工具直接把 Markdown 文件编译成 HTML,没有数据库、没有后台,只需一个简单的托管服务就能运行。而 Astro 就是我在对比了 Hugo、Hexo、VuePress 之后,最终选择的框架。

三、为什么选择 Astro 框架?#

在静态博客方案中,Astro 有几个特别吸引我的点:

  • 岛屿架构:只在必要的地方加载 JavaScript,其余部分纯静态输出,性能极佳。
  • 对 Markdown 的一等支持:可以直接在 src/pages 里写 .md.mdx 文件,自动转换为页面。
  • 组件灵活性:如果以后想在博客里加入交互组件(比如画廊、评论区),可以用 React/Vue/Svelte 等,但默认又不引入任何多余的 JS。
  • 开发体验好:HMR 很快,配置简单,同时生态里有大量主题和集成可供选择。

对我来说,Astro 刚好踩在”足够简单”和”足够强大”的平衡点上,既不强迫你写复杂的前端代码,又在你想扩展时保留全部可能性。而且它生成的静态文件尺寸很小,非常适合部署在类似 EdgeOne Pages 这样的一站式托管平台上。

四、从零开始的搭建流程#

整个搭建过程比我预想的要顺畅很多,但也踩了几个小坑,在这里简单分享一下。

环境准备与初始化
首先确保本地安装了 Node.js(建议使用 LTS 版本)。然后通过一行命令创建新项目:

Terminal window
npm create astro@latest

按照提示选择模板(我选了 “Starter Kit” 并稍作精简),再选择是否安装 TypeScript 等依赖。完成后进入项目目录,安装依赖:

Terminal window
npm install

这时已经可以看到一个可运行的初始站点了。

选择一个主题或从头构建
Astro 官网上有主题市场,你可以直接 git clone 一个现成主题。不过我自己更倾向于从空白项目开始,慢慢搭出一个符合”时光碎语”气质的界面——留白舒适、字体优雅、支持暗色模式。

主要工作集中在 src/pages/src/components/ 下。我写了一个简单的博客布局,并利用 Astro 的内容集合(Content Collections)来管理文章,这样能自动为每篇文章生成类型安全的 frontmatter 校验。

一个小坑:如果你不熟悉 Astro 的内容集合,建议先阅读官方文档。它虽然多写几行配置,但对后期维护帮助巨大。

配置与集成
为了让博客更好用,我添加了几个官方集成:

  • @astrojs/rss:生成 RSS 订阅源。
  • @astrojs/sitemap:自动生成站点地图。
  • 搜索功能:一开始想自己写,后来直接用了开源的 Pagefind,它扫描生成的静态文件即可提供离线搜索。

另外评论系统我接入了 giscus(基于 GitHub Discussions),干净无广告。

部署到腾讯云 EdgeOne Pages
之前在 GitHub Pages 或 Vercel 上部署过很多项目,但这次我想试试国内的服务。腾讯云 EdgeOne Pages 的体验出乎意料地好:

  1. 将项目代码推送到 GitHub 仓库。
  2. 登录腾讯云 EdgeOne Pages 控制台,点击”新建项目”,关联你的 GitHub 仓库。
  3. 构建命令填写 npm run build,输出目录为 dist
  4. 环境变量一般不需要额外设置,EdgeOne Pages 会自动识别 Astro 项目。

点击部署后,大约一分钟就会生成一个 *.edgeone.app 的预览域名。我顺手绑定自己的 blog.90svip.cn,并在域名服务商处添加了 CNAME 解析。

当那个熟悉的地址终于显示出我亲手构建的页面时,那种把想法一步步变成现实的成就感确实难以言喻。

五、写作计划与内容方向#

博客的主标题是”时光碎语”,副标题是”关于生活、设计与美学的碎片收集”。这个定位已经大致勾勒出了内容的方向。

目前计划中的文章主要分为三个板块:

  • 🎨 设计美学:分享我在日常中发现的关于设计、摄影和视觉语言的思考。比如喜欢的配色方案、某个让我在街上驻足的橱窗陈列、或是某张让我看了很久的照片。

  • 🛠️ 技术笔记:记录与博客搭建、优化、脚本编写相关的技术沉淀。比如这篇关于从 WordPress 迁移到 Astro 的记录,就属于技术笔记。

  • 📝 生活随想:最贴近”碎语”的那部分。可能是某本书的读后感、某部电影的观后感,或者是某个雨天的下午坐在窗边时脑海里一闪而过的念头。

这样的分类能让博客的结构保持清晰,也为三种不同的写作节奏留出空间——灵感来了可以写碎碎念,脑子清醒时可以写技术笔记,有余力时就写设计美学。

六、一些感想#

在搭建博客的过程中,我最大的体会是:这件事的意义不在于技术本身,而在于它为写作这件事清除了障碍

当所有的环境都配置好、主题打磨完毕,当你打开编辑器,看到那个属于你的、干净整洁的书写空间,心里自然会涌起一种”该写点什么了”的念头。从 0 到 1 完成一个站点,不仅仅意味着学会了某个工具,更重要的是你见证了”创造”本身的过程——一点一点把无形的想法,变成有形的、可以被别人看到和触摸到的东西。

这大概就是编程和写作最迷人的地方:你把想法变成代码或文字,然后在瞬间看到结果。遇到问题,就用努力去解决;解决了,就离自己想要的东西更近一步。

当然,搭建一个站点的技术过程只是一次性的,真正的挑战在于坚持更新。我希望”时光碎语”不会成为一个三分钟热度的站点。不管有没有读者,我都会写下去。那些塑造了我的光影,值得被散落在时光的碎片里。


这就是我的博客搭建过程和一些零碎的感想。如果你也对搭建个人博客感兴趣,不妨从今天开始动手试试。有什么问题或想法,欢迎在评论区交流。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
从零搭建个人博客:一些过程与心得
https://blog.90svip.cn/posts/startblog/
作者
小北
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
暂无相关文章
随机文章 随机推荐

评论区

Profile Image of the Author
小北
我很感谢那些任凭时光流逝却依旧陪在我身边的人。
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
1
分类
1
标签
4
总字数
2,357
运行时长
0
最后活动
0 天前

文章目录