CONTENT MANAGEMENT

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 文件和一個葉節點包。

無頭包

使用 構建選項 在前端資料中創建未發布的葉節點或分支包,其內容和資源可在其他頁面中包含。