参考 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
Related content
Hugo 网站介绍了如何使用其相关内容功能,通过前置参数和配置选项来列出与当前页面相关的内容。
内容的组织
Markdown attributes
配置篇
从 版本之后,默认的配置文件是 yaml.toml
Permalinks
根据文件类型(type)设置文章在网站上的路径。
配置文章链接格式,参见 Permalinks
模版篇
Template lookup order
Hugo 网站模板查找顺序页面主要介绍了 Hugo 如何根据特定的参数选择合适的模板来渲染页面,这些参数包括页面类型(Kind)、布局(Layout)、输出格式(Output Format)、语言(Language)、类型(Type)和部分(Section)。
Home page
主页内容文件:content/_index.md
模版 lookup order 1: layouts/index.html.html