Hugo的Page Bundle
缘起
页面及图片的组织模式,是从Hugo 0.32起开始有的一个功能。在此之前,每篇文章就是一个 .md
文件,这样的缺点是如果这篇文章需要引用到图片或其它附件,图片和其它附件的文件都需要保存在 static
文件夹下。 有了page bundle之后,可以在 content
文件夹下为每篇文章建立一个文件夹,所有的文件都可以放在这个文件夹下。
Leaf Bundle
文章的名字是文件夹,这里的my-post对应的是filename,不是title。文章的内容在这个文件夹下的index.md里。文章的照片可以存在这个文件夹、甚至于更下一层的文件夹。
├── posts
│ ├── my-post
│ │ ├── image1.jpg
│ │ ├── image2.png
│ │ └── index.md
Branch Bundle
content/
├── _index.md
├── branch-bundle-2
│ ├── branch-content1.md
│ ├── branch-content2.md
│ ├── image1.jpg
│ ├── image2.png
│ └── _index.md
└── branch-bundle-3
├── _index.md
└── a-leaf-bundle
└── index.md
这里的 content
branch-bundle-2
和 branch-bundle-3
都是branch bundle
branch bundle和普通的section很相似,2个区别
- _index.md
- branch bundle下可以放非
.md
的文件。
Headless
一个页面可以是 headless
即表示这个页面是不会生成html文件的,但是可以通过 site.GetPage
得到页面内容
使用ox-hugo
在ox-hugo的0.8版之后,就支持了page bundle。暂似乎只有leaf bundle会用到。在导出时加入
:EXPORT_FILE_NAME: index
:EXPORT_HUGO_SLUG: hugo-bundles
:EXPORT_HUGO_BUNDLE: 2018/2018-05-24_hugo-bundles #要建的文件夹名
这样就会将这篇文章建立一个文件夹,=:EXPORT_HUGO_SLUG:= 的作用应该就是将文件夹名和链接名可以区分。
参考
https://scripter.co/hugo-leaf-and-branch-bundles/ https://www.kengrimes.com/ox-hugo-tutorial/