0

Airtableに保存された特定のデータを使用して、11tyで構築されたNetlify上のWebサイトがあります。Airtable を使用して、私のクライアントはこの Web サイトの特定の情報 (写真やその他の情報) を変更し、Airtable にいる間に Netlify の Webhook を送信するボタンを押して、からの最新情報を使用して Web サイトを再構築できます。エアテーブル。

画像の場合、ビルドごとに次の Gulp タスクがあります。

  • "Images" Airtable テーブル内のすべてのレコードを調べ (それらの API はファイル名と URL を提供します)、それらを JSON 形式の変数にリストします。
  • 次に、このリストを、前回のビルド中に作成され、ファイルに保存されたリストと比較します。(portfoliocache.json)
  • これらのリストが同じ場合、Airtable の画像は最後のビルド以降変更されていないことを意味するため、何もせず、帯域幅を節約します。
  • ただし、これらのリストが異なる場合は、「画像」フォルダー内のすべてのファイルを削除し、それらを Airtable からダウンロードしてから最適化し、新しい画像を「画像」フォルダーに配置します。portfoliocache.json新しいリストで上書きされます。これには時間がかかり、Netlify のビルドに数分かかるため、Airtable イメージが変更された場合にのみこれを行います。

これは私のローカル Node.js 環境ではうまく機能しますが、Netlify はソースとして Git リポジトリを使用するため、毎回同じ PortfolioCache.json と同じ "images" フォルダーを使用するため、Netlify ビルドごとにすべてのイメージが再ダウンロードされます。 .

portfoliocache次のビルドで最新のイメージ リストが表示されるように、Netlify ビルド中に自分と私の "images" フォルダーを更新して保存する方法はありますか? ビルド中に Git リポジトリのファイルを更新する方法はありますか?

ここで私のコードを表示することが関連するかどうかはわかりませんが、必要に応じて喜んで表示します。

4

1 に答える 1