简单介绍
Hugo是一个静态web网站生成器。同类软件有:hexo,Jekyll。相比后两个,我更喜欢Hugo,它由go语言编写,速度快,直接一个二进制程序,没有任何依赖,就很简洁。
使用方法
创建一个website 项目
1hugo new site <projectName>
进入项目目录
1cd <projectName>
添加主题, 主题网站: https://themes.gohugo.io
1git init
2git submodule add <主题git地址> themes/<主题名称>
打开hugo.toml文件,添加下面内容设置主题
1theme = '<主题名称>'
创建文章
1hugo new posts/<文章名称>.md
在 content/posts/ 目录下可以找到刚刚创建的<文章名称>.md文件,内容类似这样:
1+++
2date = '2025-08-30T02:02:00+08:00'
3draft = true
4title = 'Test'
5+++
上面的被 “+++” 括起来的叫 ”Front Matter“,就是记录了文章的一些信息。
- date 是文章创建的日期
- draft 表示是不是草稿状态,当要正式发布时,改为false
- title 表示文章名称,可以改
常见Front Matter 参数
- title: 页面或文章的标题。
- date: 文章的创建日期。
- draft: 布尔值(true 或 false),如果设置为 true,则该文章被视为草稿,默认不会被构建(除非使用 hugo -D 命令)。
- summary: 简短的文章摘要或描述,通常用于 SEO 和网站列表页。
- author: 文章的作者。
- tags: 文章的标签,通常是一个字符串数组。例如:tags: [“Hugo”, “建站”, “技巧”]。
- categories: 文章的分类,与标签类似,但通常用于更宽泛的主题归类。例如:categories: [“技术”, “教程”]。
- featured_image: 文章的特色图片或封面图片的路径。
- weight: 用于控制内容的排序,通常数字越小,文章在列表中的位置越靠前。
- lastmod: 文章最后修改的日期。
- toc: 布尔值(true 或 false),用于控制是否在页面上生成目录(Table of Contents)。``
- aliases: 一个字符串数组,用于设置该页面的别名或旧 URL,当访问这些别名时会自动重定向到新 URL,这对于更改文章的 URL 很重要
运行本地web server,查看网站效果
1hugo server
运行结果部分内容如下
1Built in 1 ms
2Environment: "development"
3Serving pages from disk
4Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
5Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
6Press Ctrl+C to stop
找到 http://localhost:1313/ 到浏览器访问即可
构建静态站点
1hugo
生成的静态站点文件在public目录中,找个静态网站托管平台托管即可。
清理缓存
1hugo --gc
或者
1rm -rf public
总结
简单记录下hugo的使用方法。