下载&安装
https://github.com/gohugoio/hugo
进入 releases 下载对应平台二进制文件
如果需要支持 scss 文件,需下载 extended 版本
添加二进制文件路径到 PATH
以全局使用
配置文件
TOML 格式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
baseURL = "https://northes.io/"
languageCode = "zh-cn"
title = "Northes"
theme = "hugo-tania"
[params]
titleEmoji = "😃"
[menu]
header = [
{ name = "Articles", url = "/articles/", weight = 1 },
{ name = "About", url = "/about/", weight = 2 },
]
[markup.highlight]
noClasses = false
lineNos = true
|
YAML 格式
如不习惯TOML
格式,可改为YAML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# 基础地址
baseurl: "https://example.com"
# 语言代码
languageCode: "en-us"
# 标题
title: "Hugo Tania"
# 主题名称
theme: "hugo-tania"
# 首页展示的条数
paginate: 6
params:
titleEmoji: '😃'
socialOptions:
github: https://github.com/WingLim
email: [email protected]
# 菜单
menu:
header:
- name: Articles # 名称
url: "/articles/" # 相对URL
weight: 1 # 权重,升序
- name: "About"
weight: 2
url: "/about"
- name: "Rss"
url: "/index.xml"
weight: 3
markup:
highlight:
noClasses: false
lineNos: true
goldmark:
renderer:
unsafe: true #渲染原始html
|
文章前置信息
模板
一般为\archetypes
目录下的default.md
文件
1
2
3
4
5
6
|
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
author : "Northes"
---
|
通过命令新建文件时会包含于文件内
1
|
$ hugo new /posts/kubectl.md
|
可选参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
---
# 文章标题
title: "title"
# 副标题
subtitle: "subtitle"
# 文章创建时间
date: 2021-05-28T12:09:13+08:00
# 是否为草稿状态,为草稿状态时不加 -D 运行参数文章不可见
draft: true
# 作者
author: "Northes"
# 简介
description: "这是一篇文章"
# 上次修改时间
lastmod: 2021-05-29T12:09:13+08:00
# 发布日期,在日期之前不会显示
publishDate: 2021-05-29T12:09:13+08:00
# 过期日期,在日期之后不再显示
expiryDate: 2021-05-29T12:09:13+08:00
---
|
命令
创建网站
1
|
$ hugo new site SiteName
|
创建文章
1
|
$ hugo new posts/my-first-post.md
|
构建网站
1
2
3
4
|
$ hugo
-D 包含标记为 draft (草稿)的内容
-F 包含发布日期为未来的内容
|
运行开发服务器
1
2
3
4
|
$ hugo server
-p 指定端口
... 继承hugo的父命令
|
查看版本
部署
目前仅尝试过部署到 Vercel
平台,部署时遇到的坑有
Error: Error building site: failed to render pages: render of "page" failed: "/vercel/path0/themes/hugo-tania/layouts/_default/single.html:14:38": execute of template failed: template: _default/single.html:14:38: executing "main" at <.GetTerms>: can't evaluate field GetTerms in type *hugolib.pageState
这是 Vercel
上版本不匹配造成的,可通过在项目根目录下新建 vercel.json
文件指定 Hugo 版本解决
1
2
3
4
5
6
7
|
{
"build": {
"env": {
"HUGO_VERSION": "0.83.1"
}
}
}
|
查看本机版本
1
2
|
$ hugo version
hugo v0.83.1-5AFE0A57 windows/amd64 BuildDate=2021-05-02T14:38:05Z VendorInfo=gohugoio
|