阳光宅男
生活志
博客

Hugo 系统搭建经过

折腾了一段时间,终于把博客从 Typecho 搬到了 Hugo。趁着记忆还热乎,记录一下这次搭建的全过程,也算给自己留个纪念。

为什么从 Typecho 换到 Hugo

Typecho 其实是个很优秀的博客程序,轻量、简洁,我用它用了很久,也挺有感情的。但用着用着,几个痛点就慢慢冒了出来:

  1. 要维护服务器。Typecho 是动态博客,需要 PHP + 数据库环境,服务器万一出点问题,博客就打不开,心里总悬着块石头。
  2. 加载有点慢。虽然 Typecho 已经算轻量了,但每次请求都要过一遍 PHP 和数据库,访问体验还是差点意思。
  3. 搬家很痛苦。文章、插件、主题都耦合在服务器环境里,想换个地方都费劲。

而我想要的是一个快速、省心、内容随手能带走的博客。于是,目光落到了静态博客上。

Hugo 打动我的地方

对比了几个静态博客方案之后,Hugo 的几个特性直接击中了我的需求:

  • 快,快到离谱。用 Go 写的,几百篇文章几乎瞬间构建完成,本地预览刷新基本无感。
  • 零依赖。就一个二进制文件,不需要 Node.js,不需要数据库,扔到哪都能跑。
  • 内容就是文件。所有文章都是 Markdown,配 Git 做版本管理,换主机、换平台,直接把文件拷走就行。
  • 主题生态活跃。想要的功能基本都有现成的主题可以用,也可以自己魔改。

说白了,Hugo 把一个博客该有的"轻盈感"还给了我。

搭建过程

1. 安装 Hugo

Hugo 的安装可以说是所有博客工具里最简单的,没有之一。我下载了官方二进制文件,解压后加进环境变量就完事了,验证一下版本:

hugo version

2. 创建站点

用一条命令就能建出整个站点骨架:

hugo new site sunshine-hugo
cd sunshine-hugo

目录结构很清晰:content/ 放文章,themes/ 放主题,static/ 放静态资源,一目了然。

3. 移植主题 —— 最纠结也最快乐的一步

Hugo 官方主题库里的主题很多,但我第一眼就没打算直接用现成的。原因很简单——我在 Typecho 时代就用着特别喜欢的一套主题,早就看顺眼了,舍不得换。

于是我开始琢磨:能不能把这套 Typecho 主题搬到 Hugo 上来?

这个过程确实花了些功夫。虽然过程有点磨人,但当你看到曾经心爱的主题,在新框架下重新亮起来的那一刻,那种成就感真的很难形容。折腾的过程本身,也是和主题建立感情的过程。

4. 内容迁移

文章的迁移比想象中顺利。因为 Typecho 的文章本质上也是 Markdown 格式(或者可以通过插件导出),所以大部分内容基本可以直接搬到 content/ 目录下,再逐个检查修正 front matter 就行。

5. 本地预览与部署

本地跑起来几乎零成本:

hugo server -D

浏览器打开 localhost:1313 就能实时预览,改完配置和文章还能热刷新。部署就更省心了,构建一次输出纯静态文件,扔到任意静态托管平台就能访问。

搭建完成后的感受

这一套折腾下来,最大的感受就是——省心。

不用再担心服务器挂没挂,不用再惦记着更新 PHP 版本,文章随手就是文件,想备份就推 Git,想搬家就拷目录。速度方面,页面加载几乎是秒开,体验比之前好了不止一个档次。

当然,静态博客也不是没有"代价"。没有了后台管理面板,评论系统、搜索这些都需要借助第三方方案,写作方式也从"在后台敲字"变成了"在编辑器里写 Markdown"。不过对于我这种享受折腾、又追求轻量的宅男来说,这点代价完全值。

写在最后

从 Typecho 到 Hugo,与其说是一次技术栈的更换,不如说是一次"减负"。博客回归到了它最初的模样——一堆干净的文件,一份属于自己的记录。

折腾的过程虽有波折,但每一次把喜欢的东西迁移成功,都让我觉得这一切很值得。

愿我的小站,在 Hugo 的加持下,继续阳光地生长下去。

—— 阳光宅男