在blogdown+Hugo+xmin站点中配置非博客文件的方法
解决方法:让content/misc/下的文件不生成独立博客条目,但可被引用
Hugo提供的headless页面机制正好匹配你的需求:这类页面不会生成独立的URL或页面文件,但能在指定页面(比如你的_index.md)中通过模板语法调用内容,同时还能保持清晰的项目结构,完全避免隐藏文件带来的维护混乱。
1. 处理单个文件
如果只想让content/misc/下的某几个文件不被识别为博客条目,直接在目标文件的前置元数据(以YAML格式为例)里添加headless: true即可:
--- title: "我的非博客内容" headless: true --- # 正文内容 ...
设置后,Hugo不会为这个文件生成独立页面,但你依然可以在其他页面(比如content/misc/_index.md)中调用它的内容,示例模板代码:
{{ with .Site.GetPage "/misc/your-file-name" }} {{ .Content }} {{ end }}
2. 处理整个content/misc/目录
如果想让content/misc/下的所有文件都不生成独立页面,更高效的方式是在该目录的_index.md中设置headless: true:
--- title: "杂项内容汇总" headless: true --- # 这里可以写目录的介绍内容 ...
这样整个misc目录下的所有文件都会被标记为headless,Hugo不会为它们生成独立页面,但你可以在_index.md中遍历调用所有内容,示例模板代码:
{{ range .Site.GetPage "/misc" .Pages }} <h3>{{ .Title }}</h3> {{ .Summary }} {{ end }}
额外补充
你提到的隐藏文件(文件名以.开头)虽然能实现不生成页面,但会让项目结构变得不直观;而headless机制既保留了清晰的目录层级,又能精准控制页面生成行为,xmin主题对Hugo原生机制支持良好,不需要修改主题文件就能直接生效。
内容的提问来源于stack exchange,提问作者Hans W.
相关产品推荐
相关产品推荐

