Page bundles
介紹
頁面包是一個目錄,用來封裝內容及其相關資源。
舉個例子,本網站有一個「關於」頁面和一個「隱私」頁面:
content/
├── about/
│ ├── index.md
│ └── welcome.jpg
└── privacy.md
「關於」頁面是個頁面包。它通過將內容和資源捆綁在一起,邏輯地將資源與內容關聯。頁面包中的資源是 頁面資源,可以通過 Page
物件上的 Resources
方法來訪問。
頁面包分為 葉節點包 和 分支包。
- 葉節點包
- 葉節點包 是一個包含 index.md 文件和零個或多個資源的目錄。類比於一片樹葉,葉節點包位於分支的末端,沒有後代。
- 分支包
- 分支包 是一個包含 _index.md 文件和零個或多個資源的目錄。類比於樹枝,分支包可能有後代,包括葉節點包和其他分支包。頂層目錄有無 _index.md 文件也被視為分支包。這也包括首頁。
比較
頁面包的特徵依據包的類型有所不同。
葉節點包 | 分支包 | |
---|---|---|
Index 文件 | index.md | _index.md |
示例 | content/about/index.md | content/posts/_index.md |
頁面類型 | page |
home , section , taxonomy , 或 term |
模板類型 | single | home, section, taxonomy, 或 term |
後代頁面 | 無 | 零個或多個 |
資源位置 | 與 index 文件相鄰或位於嵌套子目錄中 | 與葉節點包相同,但不包括後代包 |
資源類型 | page , image , video 等 |
除了 page 外的所有資源類型 |
具有 資源類型 page
的文件包括使用 Markdown、HTML、AsciiDoc、Pandoc、reStructuredText 和 Emacs Org Mode 撰寫的內容。在葉節點包中,除了 index 文件外,這些文件僅能作為頁面資源訪問。在分支包中,這些文件僅能作為內容頁面訪問。
葉節點包
葉節點包 是一個包含 index.md 文件和零個或多個資源的目錄。類比於一片樹葉,葉節點包位於分支的末端,沒有後代。
content/
├── about
│ └── index.md
├── posts
│ ├── my-post
│ │ ├── content-1.md
│ │ ├── content-2.md
│ │ ├── image-1.jpg
│ │ ├── image-2.png
│ │ └── index.md
│ └── my-other-post
│ └── index.md
└── another-section
├── foo.md
└── not-a-leaf-bundle
├── bar.md
└── another-leaf-bundle
└── index.md
上面示例中有四個葉節點包:
- about
- 此葉節點包不包含任何頁面資源。
- my-post
- 此葉節點包包含一個 index 文件、兩個
page
類型的資源和兩個image
類型的資源。
-
content-1, content-2
這些是
page
類型的資源,可以通過Page
物件上的Resources
方法訪問。Hugo 不會將這些作為單獨的頁面渲染。 -
image-1, image-2
這些是
image
類型的資源,可以通過Resources
方法訪問。
- my-other-post
- 此葉節點包不包含任何頁面資源。
- another-leaf-bundle
- 此葉節點包不包含任何頁面資源。
分支包
分支包 是一個包含 _index.md 文件和零個或多個資源的目錄。類比於樹枝,分支包可能有後代,包括葉節點包和其他分支包。頂層目錄有無 _index.md 文件也被視為分支包。這也包括首頁。
content/
├── branch-bundle-1/
│ ├── _index.md
│ ├── content-1.md
│ ├── content-2.md
│ ├── image-1.jpg
│ └── image-2.png
├── branch-bundle-2/
│ ├── a-leaf-bundle/
│ │ └── index.md
│ └── _index.md
└── _index.md
上面示例中有三個分支包:
- 首頁
- 此分支包包含一個 index 文件,兩個後代分支包,並且沒有資源。
- branch-bundle-1
- 此分支包包含一個 index 文件,兩個
page
類型的資源和兩個image
類型的資源。 - branch-bundle-2
- 此分支包包含一個 index 文件和一個葉節點包。
無頭包
使用 構建選項 在前端資料中創建未發布的葉節點或分支包,其內容和資源可在其他頁面中包含。