Jekyll 静态文件 Static Files
静态文件指的是那些不包含页面头部参数(Front matter)的文件。比如图片、PDF 和其他不需要渲染的内容。
在 Liquid 中可以通过 site.static_files 访问这些静态文件,包含以下元数据:
变量 Variable | 说明 Description |
---|---|
|
文件的相对路径,例如: |
|
文件的最后修改时间,例如: |
|
文件的名称字符串,例如: |
|
文件的基本名称字符串,例如: |
|
文件的扩展名,例如:
|
需注意,上表中的 file
可以是任何文件。可以在你自己的 for 循环逻辑(for loop)中使用,它并非全局的站点变量或页面变量。
给静态文件添加页面头部参数(Front matter)
虽然不能直接向静态文件添加页面头部参数值(Front matter values),但可通过配置文件中的 defaults 属性 设置页面头部参数值(Front matter values)。当 Jekyll 构建站点时,它将使用你设置的页面头部参数值(Front matter values)。
以下是一个示例:
在 _config.yml
文件中,向 defaults
属性添加以下值(配置片段):
defaults:
- scope:
path: "assets/img/"
values:
image: true
建议path
值中的路径,最终文件夹以/
结尾,否则会匹配同名路径内容。比如path: "assets/img/"
会包含 img
文件夹和 img2
文件夹中的内容。
假设你的 Jekyll 站点中有一个这样的路径 assets/img
,img
里面存放图片(静态文件)。当 Jekyll 构建站点时,它会把每个图片都视作具有 image: true
的页面头部参数值(Front matter values)。
如果你想要列出 assets/img
文件夹中所有的图片资源。你可以使用以下的 for 循环来查找 static_files
对象,并获取具有这个页面头部参数(Front matter)的静态文件:
{% assign image_files = site.static_files | where: "image", true %}
{% for myimage in image_files %}
{{ myimage.path }}
{% endfor %}
当构建 Jekyll 站点时,将输出满足这个页面头部参数条件的全部文件的路径。