2 分钟阅读
https://gohugo.io/templates/files/
Hugo 的 readDir
和 readFile
函数使得遍历项目目录结构和将文件内容写入模板变得容易。
使用 Hugo 的 readDir 和 readFile 模板函数,您可以遍历服务器上站点的文件。
readDir
readDir
函数 返回一个由 os.FileInfo
组成的数组。它以文件的 path
作为单个字符串参数。这个路径可以指向您站点上的任何目录(即服务器文件系统中的目录)。
路径是绝对还是相对并不重要,因为对于 readDir
函数,您站点的根目录(通常是 ./public/
)实际上同时扮演两个角色:
readFile
readfile
函数 从磁盘读取文件并将其转换为字符串,以便由其他 Hugo 函数操纵或按原样添加。readFile
将文件(包括路径)作为传递给该函数的参数。
在模板中使用 readFile
函数时,请确保路径相对于Hugo 项目根目录:
|
|
readFile
示例:将项目文件添加到内容 由于 readFile
是一个函数,因此它仅在模板中可用,而不在内容中可用。然而,我们可以创建一个简单的 简码模板,来调用 readFile
,将第一个参数通过该函数传递,然后允许一个可选的第二个参数将文件通过 Markdown 处理器。将这个 简码添加到内容中的模式如下:
|
|
如果要使用 readFile
为主题创建自定义简码,请注意,简码的使用将参考项目根目录,而不是您的 themes
目录。