目录结构

Directory Structure - 目录结构

https://gohugo.io/getting-started/directory-structure/

​ Hugo的CLI脚手架会创建一个项目目录结构,然后使用该单个目录作为输入来创建一个完整的站点。

新建站点脚手架

​ 从命令行运行hugo new site example会创建一个带有以下元素的目录结构:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
example/
├── archetypes/
│   └── default.md
├── assets/
├── content/
├── data/
├── layouts/
├── public/
├── static/
├── themes/
└── config.toml

目录结构说明

​ 以下是每个目录的高级概述,并提供了链接到Hugo文档中各自部分的链接。

  • archetypes

    您可以使用hugo new命令在Hugo中创建新的内容文件。默认情况下,Hugo将创建带有datetitle(从文件名推断)和draft = true的新内容文件。这节省了时间,并为使用多个内容类型的站点促进了一致性。您还可以创建自己的原型(archetypes),其中包含自定义的预配置前置元数据字段。

  • assets

    存储需要由Hugo Pipes处理的所有文件。只有使用.Permalink.RelPermalink的文件将被发布到public目录。

  • config

    Hugo带有大量的配置指令config目录是存储这些指令的地方,以JSON、YAML或TOML文件的形式存储。每个根设置对象都可以作为自己的文件,并按环境结构化。设置最少且不需要环境感知的项目可以在其根目录使用单个config.toml文件。

    许多站点可能不需要任何配置,但Hugo提供了大量的配置指令,用于更精细的指导如何构建您的站点。注意:config目录不会默认创建。

  • content

    您站点的所有内容都将位于此目录中。Hugo中的每个顶层文件夹都被视为内容章节。例如,如果您的站点有三个主要章节——博客(blog)、文章(articles)和教程(tutorials)——则在content/blogcontent/articlescontent/tutorials中将会有三个目录。Hugo使用章节来分配默认内容类型

  • data

    此目录用于存储在生成站点时Hugo可以使用的配置文件。您可以按YAML、JSON或TOML格式编写这些文件。除了将这些文件添加到此文件夹中外,您还可以创建从动态内容中提取的数据模板

  • layouts

    存储模板,以.html文件的形式指定如何将您的内容视图渲染为静态站点。模板包括列表页面主页分类法模板局部单页模板等。

  • static

    存储所有的静态内容:图片、CSS、JavaScript等。当Hugo构建您的站点时,static目录内的所有资源都将按原样复制。一个使用static目录的好例子是在Google Search Console上验证站点所有权,您希望Hugo复制完整的HTML文件而不修改其内容。

​ 从 Hugo 0.31 版本开始,您可以有多个静态目录。

  • resources

    缓存一些文件以加速生成。也可以由模板作者用于分发已构建的 Sass 文件,这样您就不必安装预处理器。注意:默认情况下不会创建resources 目录。

另请参阅

最后修改 May 22, 2023: 第一次提交 (9f24e27)