官方文档、DoIt主题文档、Hugo配置文件详解、Hugo文档
优点:实时预览、生成速度快、配置简单。
缺点:对比HEXO,漂亮的主题资源少,相关的中文文档也少。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
  | 
#URL 路径区分大小写。影响最终生成的静态资源目录地址,如Docker.md生成的路径为Docker/index.md
#默认值为false,生成的文件夹为docker/index.md
disablePathToLower = true
#自动检测是否包含 中文\日文\韩文,影响预览
hasCJKLanguage = true    
#保留原文件名。已经被移除了,文件名如果包含除-以外的特殊字符会被清除,空格会转化成-
preserveTaxonomyNames = true  
#Permalinks 配置 (https://gohugo.io/content-management/urls/#permalinks)
[Permalinks]
  posts = ":year/:month/:filename"
  | 
 
 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
  | 
---
title: "{{ replace .ContentBaseName  "-" " " | title }}"
subtitle: ""
date: {{ .Date }}
lastmod: {{ .Date }}
draft: true
authors: [Forest]
description: ""
tags: []
categories: []
series: []
series_weight: 1
#首页屏蔽、搜索屏蔽
hiddenFromHomePage: false
hiddenFromSearch: false
#如果使用 typora 编辑文章,通过以下两项设置图片默认路径
typora-root-url: {{.File.Dir | replaceRE "[^\\\\]+\\\\" "../" }}../static/blog/{{.BaseFileName}}
typora-copy-images-to: {{.File.Dir | replaceRE "[^\\\\]+\\\\" "../" }}../static/blog/{{.BaseFileName}}/{{.BaseFileName}}.assets/
---
#Hugo不会发布下面内容:
publishdate 发布日期值设定在未来的内容
draft: true 草案状态设置为真的内容
expirydate 过期日期值设置为过去某事件的内容
  | 
 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
  | 
# 创建blog
hugo new site my_website
cd my_website
# 创建第一篇文章
hugo new posts/first_post.md
# 本地启动网站,去查看 http://localhost:1313
hugo serve -e production -D -F
#生成静态资源到目标位置
hugo -d C:\Users\wxz\Desktop\publish
  | 
 
 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
  | 
[/]: hugo -help
Usage:
  hugo [flags]
  hugo [command]
Available Commands:
  check       包含一些验证检查
  config      打印站点配置信息
  convert     转化内容为其他不同模式
  env         打印Hugo版本和环境信息
  gen         几个有帮助的生成器的集合
  help        关于命令的帮助
  import      从它处导入你的站点
  list        不同类型内容的列表
  new         为站点生成新内容
  server      高效能web服务器
  version     打印Hugo版本号
Flags:
  -b, --baseURL string         对应于站点的域名(和路径),比如 https://spf13.com/
  -D, --buildDrafts            包含标记为草案的内容
  -E, --buildExpired           包含标记为过期的内容
  -F, --buildFuture            包含标记发布日期为未来的的内容
      --cacheDir string        缓存目录 默认是: $TMPDIR/hugo_cache/
      --cleanDestinationDir    从目标目录删除不在static目录中内容
      --config string          配置文件(默认是 path/config.yaml|json|toml)
      --configDir string       配置目录 (默认是 "config")
  -c, --contentDir string      内容目录路径
      --debug                  输出调试信息
  -d, --destination string     输出文件的文件系统路径
      --disableKinds strings   禁用其他不同格式的页面(home, RSS 等)
      --enableGitInfo          为页面添加Git修订版本、日期和作者等信息
  -e, --environment string     构建环境
      --forceSyncStatic        当static文件有变化时copy所有文件
      --gc                     构建后执行一些清理工作 (移除未用的缓存文件)
  -h, --help                   hugo的帮助
      --i18n-warnings          显示丢失的翻译
      --ignoreCache            忽略缓存
  -l, --layoutDir string       layout布局目录
      --log                    启用Log日志
      --logFile string         日志文件路径 (如果设置此选项,自动启动日志)
      --minify                 对支持的输出内容格式最小化(如HTML, XML 等)
      --noChmod                不同步文件的许可模式
      --noTimes                不同步文件的修改时间
      --path-warnings          目标路径重复是打印警告信息
      --quiet                  在安静模式构建
      --renderToMemory         显示在内存中(仅仅在性能测试中有用)
  -s, --source string          读取文件的相对文件系统路径
      --templateMetrics        显示模板执行的指标
      --templateMetricsHints   计算一些改善的提示,当和 --templateMetrics一起使用时
  -t, --theme strings          要使用的主题(位于 /themes/THEMENAME/)
      --themesDir string       主题路径的文件系统路径
      --trace file             写跟踪信息的文件(一般来说无用)
  -v, --verbose                显示冗长的输出
      --verboseLog             记录冗长的日志
  -w, --watch                  监控文件系统变化,并且在必要时重新创建网站文件
使用 "hugo [command] --help" 获得某个命令的更多信息.
  | 
 
1
2
3
4
5
  | 
#post目录下的文章模板,具体配置见“文章内容配置”
archetypes\post.md
#资源文件夹,里面的所有内容都会生成为静态资源文件
static\
  | 
 
Hugo提供的简单代码段,可以生成HTML代码。简介、提供的方法
1
2
3
4
  | 
# 推荐服务启动命令
# --disableFastRender 参数来实时预览你正在编辑的文章页面.
# -e production 命令来开启 评论系统, CDN 和 fingerprint 特性.
hugo serve -e productio --disableFastRender
  | 
 
- 
Typora 设置图片复制到指定目录
1
  | 
my_website_DoIt\static\blog\${filename}\${filename}.assets\
  | 
 
 
- 
设置Hugo 模板 archetypes\default.md,加上 Typora 的资源根目录 typora-root-url ,使用hugo 的 shortcode 自动生成相对路径。
1
2
3
4
  | 
typora-root-url: {{.File.Dir | replaceRE "[^\\\\]+\\\\" "../" }}../static/blog/{{.BaseFileName}}
#也可以单独加上设置图片复制到指定目录
typora-copy-images-to: {{.File.Dir | replaceRE "[^\\\\]+\\\\" "../" }}../static/blog/{{.BaseFileName}}/{{.BaseFileName}}.assets/
  | 
 
 
- 
md和静态资源结构
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
  | 
my_blog
└── content
	└── posts
        ├── first.md
        └── second.md
└── static
	└── blog
        ├── first.assets
        │   ├── image1
        │   ├── image2
        └── second.assets
        │   ├── image1
        │   ├── image2
  | 
 
 
- 
Hugo 设置 config.toml设置文章目录
1
2
  | 
[Permalinks]
  posts = "blog/:filename"
  | 
 
 
- 
md中图片路径
1
  | 

  | 
 
 
- 
最终生成静态资源结构
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  | 
blog
└── first
    ├── first.assets
    │   ├── image1
    │   ├── image2
    └── first.md
└── second
	├── second.assets
    │   ├── image1
    │   ├── image2
    └── second.md
  |