源码湾

Hugo 静态博客引擎:单文件 62MB,100 毫秒生成整站(附双平台包)

源码湾
1小时前发布
资源信息 双平台主程序 + 开箱能跑的示例站点(已配 PaperMod 与 3 篇示例文章),解压即用。
今天的游客额度(10 个)已经用完了。登录之后不限量,也不用再等第二天。
版本
v0.168.0
授权
Apache-2.0
体积
41.9 MB
语言
Go
数据库
无(纯静态,不需要数据库)
演示
https://gohugo.io/
今日额度已用完 登录后不限量下载 去登录

今日下载 0 累计下载 0 还剩 0 个

写博客这件事,很多人卡住的地方不是内容,是环境。装 Hexo 要 Node,装 Jekyll 要 Ruby,再往下还有一堆依赖、版本冲突、node_modules 越滚越大。等你把这些折腾完,写文章的那点兴致已经没了。

Hugo 走的是另一条路:它只有一个可执行文件。Windows 上是个 62MB 的 exe,Linux 上是个 59.7MB 的二进制,解压、运行,就完了。不用装运行时,不用装包管理器,不用联网初始化。

9 万 Star 的老项目(2013 年就开始了),Apache-2.0 协议,商用也放心。

我把 Windows 和 Linux 两个平台都跑了一遍:同一个站点、同一套配置、同一套主题,分别编译,比对产物和耗时。结论先给:它是目前"零依赖建站"里最省心的一个,但它不是给所有人准备的——哪三类人不适合,写在后面。

Hugo 是什么,和 Hexo 差在哪

一句话:你写 Markdown,它把整站编译成 HTML。

编译这两个字是关键。Hexo 是运行时渲染,每次生成都要跑一遍 Node;Hugo 是编译型,一个 Go 二进制把模板、Markdown、资源全部编译成一堆静态文件。所以你拿到的 public 目录,本身就是成品——不需要 PHP,不需要数据库,扔到任何 Web 服务器上就能访问。

实际差别体现在三个地方:

  • 依赖数量:Hexo 装完几百个包,Hugo 零依赖。换电脑、换服务器,不用担心环境不一致。
  • 生成速度:几十篇文章,Hugo 在 100 毫秒这个量级。文章多了差距会更明显,Hexo 通常是秒级往上走。
  • 体积:Hugo 主程序 60MB 出头,看着比 npm 依赖大,但它是"一次到位",不会随着项目变胖。

代价是 Hugo 的模板语法(Go template)比 Hexo 的 EJS 更难上手,想深度改主题得学一阵。普通用户只换主题、改配置的话,碰不到这层。

我的测试环境

两边都是干净环境,没有预装 Go 或 Node:

  • Windows:Windows 11,解压到 D:\hugo,全程用命令行
  • Linux:CentOS Stream 9,x86_64,宝塔面板环境下操作,/usr/local/bin 放二进制

同一个站点骨架(3 篇文章 + PaperMod 主题),两边分别构建,产物做对比。

安装:Windows 就一步

下载 hugo_extended_0.168.0_windows-amd64.zip,解压,里面只有一个 hugo.exe。

想在任何目录都能用,把 exe 所在目录加进 PATH;懒得配就直接在当前目录敲 .\hugo.exe。

验证:

hugo version

能打印出版本号就完事,整个过程不到一分钟,没有任何"安装中,请稍候"。

安装:Linux 也一样简单

tar xzf hugo_extended_0.168.0_linux-amd64.tar.gz
chmod +x hugo
sudo mv hugo /usr/local/bin/
hugo version

chmod +x 这一步别漏,压缩包里是不带执行权限的。装到 /usr/local/bin 之后,任何目录下直接敲 hugo 就行。

为什么用 extended 版:extended 带 LibSass 和 esbuild,能编译 SCSS 和现代 JavaScript。PaperMod、Stack、Blowfish 这些主流主题都要它,普通版会在构建时直接报错。包里给的就是 extended,省得你自己踩这个坑。

建站:五步

第一步,建骨架

hugo new site mysite

生成的目录很干净:content(文章)、layouts(模板)、static(静态资源)、themes(主题)、hugo.toml(配置)。

第二步,放主题

cd mysite/themes
git clone https://github.com/adityatelange/hugo-PaperMod.git

然后把 hugo.toml 里的 theme 改成 "PaperMod"(大小写要和目录名一致,这里容易错)。

第三步,改配置

最少要改这四项:baseURL(写你最终的域名,带 https 和结尾斜杠)、title、languageCode、theme。其他都是可选项。

第四步,写文章

hugo new content posts/我的第一篇文章.md

打开生成的文件,把开头 draft: true 改成 false(草稿默认不构建,改成 true 的时候访问 404 是正常的)。

第五步,本地预览

hugo server -D

浏览器打开 localhost:1313。改文件保存,浏览器会自己刷新,不用手动重启。

实测数据

同一个站点,29 个页面(3 篇文章 + 分类 + 标签 + 归档 + RSS 等),两边跑出来的结果:

  • Windows:首次构建(含主题 SCSS 和 JS 编译)约 2.2 秒;之后重建 122 毫秒
  • Linux:同一站点构建 82 / 86 / 100 毫秒(连跑三次)
  • 产物:39 个文件、24 个 HTML,总共 190KB 左右

两边产物文件数、HTML 数量完全一致,说明跨平台行为是稳定的,不存在"Windows 上能跑、Linux 上出问题"。

本地开发服务器也很轻:hugo server 起来之后,首页响应 1 毫秒级,改文章热重载基本是即时的。

界面长什么样

这套截图就是实测站点,主题用 PaperMod(本站之前单独介绍过),配置只改了标题和菜单,没动模板:

首页 - Hugo 静态博客引擎:单文件 62MB,100 毫秒生成整站(附双平台包)

首页是极简卡片流,没有侧边栏,文章标题、摘要、日期、阅读时长一目了然。

文章页 - Hugo 静态博客引擎:单文件 62MB,100 毫秒生成整站(附双平台包)

文章页自带面包屑、标签、上一篇/下一篇导航。代码块是吃主题的样式,配合 --minify 生成的 HTML 也很干净。

文章列表 - Hugo 静态博客引擎:单文件 62MB,100 毫秒生成整站(附双平台包)

列表页支持分页,标签和分类是 Hugo 自带的 taxonomy,不用装插件。

深色模式 - Hugo 静态博客引擎:单文件 62MB,100 毫秒生成整站(附双平台包)

深色模式是主题内置的,右上角一键切换,跟随系统也有。

手机端 - Hugo 静态博客引擎:单文件 62MB,100 毫秒生成整站(附双平台包)

手机端不用单独做,响应式直接生效。纯静态站点没有后端请求,慢网络下也能很快出首屏。

一个真实的坑:主题和版本不兼容

这次实测最值得写的一条。我一开始拿的是本地存的一份旧版 PaperMod,构建直接失败:

error building site: render: ... can't evaluate field Author in type *page.siteWrapper

原因是 Hugo 在新版本里移除了 site.Author 这个配置项,而旧版主题的 rss.xml 还在读它。这不是主题坏了,是版本对不上。

解决办法有两个:更新主题到最新版(推荐),或者把主题里那几行改成 site.Params.author。

这件事说明一个规律:Hugo 升级会删旧接口,主题跟不上就会构建失败。 所以升级前先看主题的更新记录,别直接换 Hugo 版本。

上线:把 public 丢给 Nginx

hugo --minify

生成的 public 目录就是完整站点。传上去,Nginx 配一条兜底:

location / {
    try_files $uri $uri/ /index.html;
}

因为是纯静态文件,不用配 PHP、不用连数据库,1 核 1G 的小机器也能扛不少流量。想更省事可以直接扔对象存储 + CDN,连服务器都省了。

--minify 会压缩 HTML/CSS/JS,一般能再小 20% 左右,建议每次都带上。

这几类人适合,这几类不适合

适合:

  • 只想安安静静写博客,不想维护服务器环境的人
  • 内容要塞进 Git 做版本管理、要能随时回滚的人
  • 机器配置低,或者想扔到对象存储上的人(纯静态,成本极低)
  • 需要多语言站点的人,Hugo 的多语言支持是内置的

不适合:

  • 需要评论、搜索、阅读量统计这些动态功能的人。Hugo 本身不带,得额外接第三方(Waline、Twikoo 之类),或者干脆用 WordPress / Typecho
  • 完全不想碰命令行的人。Hugo 没有图形化管理后台,写文章就是改文件
  • 想深度定制主题、又不愿意学 Go template 的人。改主题的门槛比 Hexo 高
  • 需要 CMS 那种"多人协作、在线编辑"的场景

常见问题

源码获取

我这边跑通的完整包:Windows + Linux 双平台主程序 + 一个能直接跑的示例站点(已配好 PaperMod 主题和 3 篇示例文章)+ 使用说明。

解压后进示例站点目录,hugo server 就能看到上面截图里的样子,不用先折腾主题。

下载地址:

https://pan.quark.cn/s/8f9f048b24d3

建议先转存到自己网盘再下载,直链容易失效。手机上打开链接点右下角「保存到网盘」,回头在夸克 App 的「我的网盘」里下载。

包里的主程序是官方原版,没有改过;主题是 PaperMod 上游最新版。想自己编译也可以,Go 环境下 go install github.com/gohugoio/hugo@latest 一条命令的事。

实测说明

本文截图全部来自本站实测环境(源码湾 yuanmawan.com),实测版本 Hugo v0.168.0,许可证 Apache-2.0。

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
OωO
取消