Hugo 进阶

好好读官网文档,整理要点

参考 Hugo 快速上手指南 可以快速把用户的内容部署成个人网站。

适配主题过程中遇到的问题,可以在创建一个新 Hugo 主题 获得部分解答。

剩下的问题,只能好好读官网文档,不断验证才能找到答案了。

内容篇

参见 CONTENT MANAGEMENT 与内容相关的部分,其余内容见 配置篇。

如何在 Hugo 中组织和管理内容?

在 Hugo 中,内容组织是通过在文件系统中创建和管理内容文件来实现的。这些内容文件通常存储在 content/ 目录下,并且可以进一步组织成不同的子目录,以表示不同的内容类型或分类。每个内容文件都需要一个前置元数据块,用于定义内容的属性,如标题、日期、分类等。

Hugo 支持多种内容类型,包括页面(Page)、单页(Single page)和列表(List)。页面是独立的内容项,单页是只有一个内容项的列表,而列表则是多个内容项的集合,通常用于博客文章或产品页面。见 配置篇。

Hugo 还提供了内容分类和标签功能,允许用户通过 taxonomies 来组织和关联内容。此外,Hugo 支持内容摘要的自动生成,以及手动设置摘要和权重,以便在生成网站时更好地控制内容的展示。见 配置篇。

文件结构

Hugo 网站内容组织基于文件结构,通过 Page Bundles 管理页面相关的图片和资源,同时支持内容嵌套,以反映渲染后的网站结构。

输入的内容都放在 content 目录下。content 下的一级子目录叫做 Section,其中内容默认的 type 就是这个目录名。对应文档见 Content organization

$ hugo env
$ find . -type d |xargs ls -ld
drwxr-xr-x  11 liyan  wheel  352 Jun 20 11:21 .
drwxr-xr-x   3 liyan  wheel   96 Jun 20 11:21 ./archetypes
drwxr-xr-x   2 liyan  wheel   64 Jun 20 11:21 ./assets
drwxr-xr-x   3 liyan  wheel   96 Jun 20 11:23 ./content
drwxr-xr-x   2 liyan  wheel   64 Jun 20 11:23 ./content/posts
drwxr-xr-x   2 liyan  wheel   64 Jun 20 11:21 ./data
drwxr-xr-x   2 liyan  wheel   64 Jun 20 11:21 ./i18n
drwxr-xr-x   2 liyan  wheel   64 Jun 20 11:21 ./layouts
drwxr-xr-x   2 liyan  wheel   64 Jun 20 11:21 ./static
drwxr-xr-x   2 liyan  wheel   64 Jun 20 11:21 ./themes

页面默认的网站路径:Single pages in sections

Sections

Hugo 通过 功能支持将内容组织成结构化的方式,使得内容管理更加清晰。

所以带有 _index.md 文件的内容目录 和 顶层内容目录(即使没有 _index.md 文件)都是 Section,也被称为分支包(branch bundle)。

Content formats

Hugo 支持多种内容格式,包括 Markdown、HTML、Emacs Org Mode、AsciiDoc、Pandoc 和 reStructuredText,并且可以在同一网站中混合使用这些格式。见 Content formats

Content types

Content types

Hugo 网站介绍了如何使用其相关内容功能,通过前置参数和配置选项来列出与当前页面相关的内容。

Related content

内容的组织

Markdown attributes

Markdown attributes

配置篇

从 版本之后,默认的配置文件是 yaml.toml

根据文件类型(type)设置文章在网站上的路径。

配置文章链接格式,参见 Permalinks

模版篇

TEMPLATES

Template lookup order

Hugo 网站模板查找顺序页面主要介绍了 Hugo 如何根据特定的参数选择合适的模板来渲染页面,这些参数包括页面类型(Kind)、布局(Layout)、输出格式(Output Format)、语言(Language)、类型(Type)和部分(Section)。

Template lookup order

Home page

主页内容文件:content/_index.md

模版 lookup order 1: layouts/index.html.html

Homepage template

Homepage template

Taxonomy templates

Taxonomy templates

开发篇

Last updated on 2024-06-20 18:11
Built with Hugo