内容组织
页面捆绑
Hugo 0.32
发布了页面相关的图像和其他资源,它们被打包到 Page Bundles
中。
这些术语是相关的,您还需要阅读页面资源和图像处理才能了解全貌。
content/
├── blog/
│ ├── hugo-is-cool/
│ │ ├── images/
│ │ │ ├── funnier-cat.jpg
│ │ │ └── funny-cat.jpg
│ │ ├── cats-info.md
│ │ └── index.md
│ ├── posts/
│ │ ├── post1.md
│ │ └── post2.md
│ ├── 1-landscape.jpg
│ ├── 2-sunset.jpg
│ ├── _index.md
│ ├── content-1.md
│ └── content-2.md
├── 1-logo.png
└── _index.md
上面的文件树显示了三个捆绑包。请注意,主页捆绑包不能包含其他内容页面,但允许包含其他文件(图像等)。
内容源的组织
在 Hugo 中,您的内容应该以反映渲染后的网站的方式组织。
虽然 Hugo 支持任意级别的嵌套内容,但顶层(即 content/<DIRECTORIES>
)在 Hugo 中是特殊的,并且被视为用于确定布局等的内容类型。要了解有关章节的更多信息,包括如何嵌套它们,请参阅章节。
在没有任何其他配置的情况下,以下内容将自动生效
.
└── content
└── about
| └── index.md // <- https://example.org/about/
├── posts
| ├── firstpost.md // <- https://example.org/posts/firstpost/
| ├── happy
| | └── ness.md // <- https://example.org/posts/happy/ness/
| └── secondpost.md // <- https://example.org/posts/secondpost/
└── quote
├── first.md // <- https://example.org/quote/first/
└── second.md // <- https://example.org/quote/second/
Hugo 中的路径分解
以下演示了您的内容组织与 Hugo 网站在渲染时的输出 URL 结构之间的关系。这些示例假设您正在使用漂亮的 URL,这是 Hugo 的默认行为。这些示例还假设您的站点配置文件中有一个键值对 baseURL = "https://example.org/"
。
索引页:_index.md
_index.md
在 Hugo 中具有特殊的作用。它允许您向 home
、section
、taxonomy
和 term
页面添加前置元数据和内容。
您可以为主页创建一个 _index.md
,并在每个内容章节、分类和术语中创建一个。以下显示了 _index.md
的典型放置位置,该位置将包含 Hugo 网站上 posts
章节列表页面的内容和前置元数据
. url
. ⊢--^-⊣
. path slug
. ⊢--^-⊣⊢---^---⊣
. file path
. ⊢------^------⊣
content/posts/_index.md
在构建时,这将输出到具有关联值的以下目标
url ("/posts/")
⊢-^-⊣
baseurl section ("posts")
⊢--------^---------⊣⊢-^-⊣
permalink
⊢----------^-------------⊣
https://example.org/posts/index.html
章节可以根据需要进行深度嵌套。重要的是要理解,为了使章节树完全可导航,至少最底层的章节必须包含一个内容文件。(即 _index.md
)。
章节中的单页
您的每个章节中的单个内容文件将由单个模板渲染。这是一个 posts
中单个 post
的示例
path ("posts/my-first-hugo-post.md")
. ⊢-----------^------------⊣
. section slug
. ⊢-^-⊣⊢--------^----------⊣
content/posts/my-first-hugo-post.md
当 Hugo 构建您的站点时,内容将输出到以下目标
url ("/posts/my-first-hugo-post/")
⊢------------^----------⊣
baseurl section slug
⊢--------^--------⊣⊢-^--⊣⊢-------^---------⊣
permalink
⊢--------------------^---------------------⊣
https://example.org/posts/my-first-hugo-post/index.html
路径说明
以下概念提供了更多关于您的项目组织与构建网站输出时的默认 Hugo 行为之间关系的见解。
section
默认内容类型由内容项存储的章节确定。section
由项目 content
目录中的位置确定。section
不能在前置元数据中指定或覆盖。
slug
slug
是 URL 路径的最后一个部分,由文件名定义,并且可以选择在前言中使用 slug
值进行覆盖。有关详细信息,请参阅 URL 管理。
path
内容的 path
由文件所在部分的路径决定。文件 path
- 基于内容位置的路径,并且
- 不包括 slug
url
url
是完整的 URL 路径,由文件路径定义,并且可以选择在前言中使用 url
值进行覆盖。有关详细信息,请参阅 URL 管理。