静态文件

静态文件是不包含任何 YAML 前置数据的文件。这些文件包括图像、PDF 和其他未渲染内容。

它们可以通过 site.static_files 在 Liquid 中访问,并包含以下元数据

变量 描述

file.path

文件的相对路径,例如 /assets/img/image.jpg

file.modified_time

文件上次修改的 `时间`,例如 2016-04-01 16:35:26 +0200

file.name

文件字符串名称,例如 image.jpg 对应 image.jpg

file.basename

文件字符串基本名称,例如 image 对应 image.jpg

file.extname

文件的扩展名,例如 .jpg 对应 image.jpg

请注意,在上述表格中,file 可以是任何内容。它是在你自己的逻辑中(例如在 for 循环中)使用的任意设置变量。它不是全局网站或页面变量。

向静态文件添加 YAML 前置数据

虽然你无法直接向静态文件添加 YAML 前置数据值,但你可以通过配置文件中的 defaults 属性 设置 YAML 前置数据值。当 Jekyll 构建网站时,它将使用你设置的 YAML 前置数据值。

这是一个示例

在你的 _config.yml 文件中,将以下值添加到 defaults 属性

defaults:
  - scope:
      path: "assets/img"
    values:
      image: true

这假设你的 Jekyll 网站有一个文件夹路径 assets/img,其中存储了图像(静态文件)。当 Jekyll 构建网站时,它将把每张图像都视为具有 image: true 前端值。

假设你想列出所有包含在 assets/img 中的图像资产。你可以使用此循环在 static_files 对象中查找并获取具有此前端属性的所有静态文件

{% assign image_files = site.static_files | where: "image", true %}
{% for myimage in image_files %}
  {{ myimage.path }}
{% endfor %}

当你构建你的网站时,输出将列出满足此前端条件的每个文件的路径。