靜態檔案

靜態檔案是不包含任何前端資訊的檔案。它們包括影像、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 迴圈中)。它不是全域網站或頁面變數。

將前置資料新增至靜態檔案

雖然你無法直接將前置資料值新增至靜態檔案,但你可以透過設定組態檔中的 defaults 屬性 來設定前置資料值。當 Jekyll 建置網站時,它會使用你設定的前置資料值。

以下是一個範例

在你的 _config.yml 檔案中,將下列值新增至 defaults 屬性

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

這假設你的 Jekyll 網站有一個資料夾路徑為 assets/img,其中儲存了影像(靜態檔案)。當 Jekyll 建置網站時,它會將每個影像視為具有 image: true 前置資料值。

假設你想要列出所有包含在 assets/img 中的影像資源。你可以使用這個 for 迴圈來檢視 static_files 物件,並取得具有這個前置資料屬性的所有靜態檔案

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

當你建置你的網站時,輸出會列出符合這個前置資料條件的每個檔案的路徑。