HUGO 是一套模版静态化的系统,了解其目录结构有助于创建我们的网站系统
目录结构
以Hyde
主题为例,完整的目录结构如下:
iChochy
├── archetypes 内容模版目录
│ └── default.md 模版文件
├── config.toml 配置文件
├── content 内容目录
├── data 数据目录
├── layouts 网站模版目录
├── static 静态文件目录
└── themes 主题目录
└── hyde Hyde主题目录
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── archetypes 内容模版
│ └── default.md
├── go.mod
├── images
│ ├── screenshot.png
│ └── tn.png
├── layouts 网站模版
│ ├── 404.html 404面目模版
│ ├── _default 默认模版目录
│ │ ├── baseof.html 基础模版
│ │ ├── list.html 列表页面模版
│ │ └── single.html 单页面模版
│ ├── index.html 首页模版
│ └── partials 模块模版目录
│ ├── head.html HEAD模块模版
│ ├── head_fonts.html
│ ├── hook_head_end.html
│ └── sidebar.html
├── static 静态目录
│ ├── apple-touch-icon-144-precomposed.png
│ ├── css
│ │ ├── hyde.css
│ │ ├── poole.css
│ │ ├── print.css
│ │ └── syntax.css
│ └── favicon.png
└── theme.toml 主题配置文件
archetypes
内容模版目录,通过内容模版,使用hugo new
命令创建新的内容文件
default.md
内容模版
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
categories:
- iChochy
tags:
- iChochy
---
使用命令:hugo new posts/iChochy.md
,生成内容文件 content/posts/iChochy.md
---
title: "iChochy"
date: 2020-08-10T18:13:25+08:00
categories:
- iChochy
tags:
- iChochy
---
config.toml
项目的配置文件,列举些常用的参数。如下:
# 基础参数,通过.Site.xxxx获取参数
# 网站标题
title = "回忆中的明天"
# 域名地址
baseURL = "https://ichochy.com/"
# 主题名称
theme = "hyde"
# 网站的语言代码
languageCode = "zh_CN"
# 启用以将相对URL变为绝对URL
canonifyURLs = false
# Hugo 生成静态站点的目录
publishDir = "docs"
# 启用生成robots.txt文件
enableRobotsTXT = false
# 启用自动检测内容中的中文/日语/韩语,让.Summary和.WordCount对于CJK语言正确运行
hasCJKLanguage = false
# 指定.Summary 的长度
summaryLength = 70
# 默认分页数
paginate = 10
# 启用.html后缀地址,默认URL为/filename/,启用为/filename.html
uglyurls = false
# 自定义参数,通过.Site.Params.xxxx获取参数
[params]
postDir = "posts"
layoutReverse = false
copyright = "iChochy"
description = "码农小站,写点Java、Swift和感悟"
# 菜单参数,通过.Site.Menus.main获取参数
# Name为菜单名称、Weight为菜单排序参数、URL为菜单名称
[Menus]
main = [
{Name = "Categories", Weight = 1, URL = "/categories/"},
{Name = "Tags", Weight = 2, URL = "/tags/"},
{Name = "Links", Weight = 3, URL = "/links/"},
{Name = "About", Weight = 4, URL = "/about/"},
{Name = "Feedback", Weight = 5, URL = "/feedback/"}
]
content
内容目录,网站的MD
源文件,通过对应的模版生成静态文件
data
数据目录,存储结构数据,可以用YAML
,JSON
或TOML
格式编写数据文件,可用.Site.Data.xxxx
的方式来获取数据
layouts
模版目录,以.html
文件形式存储模板,这些模板指定如何将内容目录中的源文件呈现到静态网站中
模版包括:主页模版、单页模板、列表模版、分类模版、模块模版等
static
静态文件目录,存储所有静态内容,如:Image,CSS,JavaScript等
当Hugo建立您的网站时,静态目录内的所有文件均按原样复制生成,可有来存储效验文件、CNAME
文件等