← 返回文章列表
实战方法论 2026-05-08

Hugo+Vercel建站:从零到自动部署

Hugo Vercel 建站

最近折腾了个网站,用的Hugo+Vercel。

踩了些坑,记录一下。

为什么选这个组合

Hugo:静态网站生成器,速度快,主题多。 Vercel:部署平台,免费额度够用,自动部署。

简单说就是:Hugo管内容,Vercel管上线。

不用买服务器,不用配环境,push代码自动部署。

挺香的。

完整流程

第一步:Hugo初始化

# 安装Hugo(Mac用brew,其他看官网)
brew install hugo

# 创建新站
hugo new site my-site
cd my-site

第二步:选主题

Hugo社区有很多主题,我用的Paper。

git init
git submodule add https://github.com/nanxiaobei/hugo-paper themes/paper

主题的文档要认真看。配置不对,样式会出问题。

第三步:content结构

Hugo的文章放在content/posts/目录下。

hugo new posts/my-first-post.md

会生成一个带frontmatter的md文件。

第四步:config配置

hugo.toml是配置文件。

基础配置:

baseURL = 'https://example.com/'
languageCode = 'zh-cn'
title = '我的网站'
theme = 'paper'

中文站需要配置:

defaultContentLanguage = 'zh-cn'
hasCJKLanguage = true

不然英文站默认间距,中文排版会很难看。

第五步:Vercel导入

  1. 把Hugo项目推到GitHub
  2. Vercel里Import Project
  3. 选Hugo模板,Vercel会自动识别

关键配置:

# Build Command
hugo

# Output Directory
public

第六步:自动部署

配置好了,每次push到GitHub,Vercel自动构建部署。

不用手动hugo build,不用手动上传。

push之后等一两分钟,网站就更新了。

踩过的坑

坑一:中文slug问题

Hugo默认用文件名作为URL。

文件名是中文,URL就是中文编码。

我建议在frontmatter里手动指定slug:

---
title: "我的文章"
slug: "my-first-post"
---

英文slug看着干净,也不容易出问题。

坑二:frontmatter不规范

这个我单独写过一篇,详见[hugo-frontmatter-trap.md]。

简单说就是:格式错了文章不显示。

YAML缩进、引号、日期格式,都要注意。

坑三:draft:true

新建的文章默认是草稿。

draft: true  # 草稿,不显示
draft: false  # 正式,发布

发布前记得改成false。

坑四:本地预览

每次改完想预览:

hugo server --buildDrafts

--buildDrafts参数会显示草稿文章。

我的配置

给有需要的朋友参考。

hugo.toml

baseURL = 'https://your-site.vercel.app/'
languageCode = 'zh-cn'
title = 'AI经验图书馆'
theme = 'paper'
defaultContentLanguage = 'zh-cn'
hasCJKLanguage = true
enableRobotsTXT = true

[params]
  description = "AI实践经验分享"
  author = "niorn"

[taxonomies]
  tag = "tags"
  category = "categories"

Vercel的Build Command写hugo,Output Directory写public

搞定。

总结

Hugo+Vercel是个不错的组合。

Hugo负责生成,Vercel负责部署。

自动部署是真的香。写完push,网站就更新了。

主要避坑点:

  • 中文站记得加CJK配置
  • frontmatter格式要规范
  • draft改成false再发布
  • slug建议用英文

剩下的,照着主题文档来就行。