本地文件模板
遍历本地文件
借助Hugo的readDir
和readFile
模板函数,您可以遍历服务器上网站的文件。
使用readDir
readDir
函数返回一个os.FileInfo
结构的数组。它以文件的path
作为单个字符串参数。这个路径可以是网站中的任何目录(即服务器文件系统上的目录)。
路径是绝对路径还是相对路径都没有关系,因为对于readDir
函数来说,您的网站的根目录(通常为./public/
)实际上同时扮演了以下两个角色:
- 文件系统的根目录
- 当前工作目录
使用readFile
readfile
函数从磁盘上读取文件,并将其转换为字符串,以便由其他Hugo函数处理或作为原样添加。readFile
函数以文件(包括路径)作为传递给函数的参数。
要在模板中使用readFile
函数,请确保路径相对于您的Hugo项目的根目录:
{{ readFile "/content/templates/local-file-templates" }}
readFile
示例:将项目文件添加到内容中
因为readFile
是一个函数,所以它只在模板中而不是在内容中可用。然而,我们可以创建一个简单的短代码模板,调用readFile
函数,将第一个参数传递给函数,然后允许可选的第二个参数将文件传递给Markdown处理器。在内容中添加这个短代码的模式如下:
{{< readfile file="/path/to/local/file.txt" markdown="true" >}}