From 5d8222e5ae944d7a94d5035a9c14d4b8ddef0f91 Mon Sep 17 00:00:00 2001 From: Ricardo Date: Sun, 22 Feb 2026 16:24:43 +0100 Subject: [PATCH] fix: vendor Alpine.js and lite-youtube-embed locally instead of CDN jsdelivr CDN outages (503) break Alpine.js loading, making all interactive components non-functional. Bundle vendor JS/CSS locally to eliminate external CDN dependency. --- _includes/layouts/base.njk | 8 +- css/lite-yt-embed.css | 95 +++++++++++++ js/vendor/alpine-collapse.min.js | 1 + js/vendor/alpine.min.js | 5 + js/vendor/lite-yt-embed.js | 225 +++++++++++++++++++++++++++++++ package-lock.json | 45 ++++++- package.json | 3 + 7 files changed, 375 insertions(+), 7 deletions(-) create mode 100644 css/lite-yt-embed.css create mode 100644 js/vendor/alpine-collapse.min.js create mode 100644 js/vendor/alpine.min.js create mode 100644 js/vendor/lite-yt-embed.js diff --git a/_includes/layouts/base.njk b/_includes/layouts/base.njk index 043268e..247dca5 100644 --- a/_includes/layouts/base.njk +++ b/_includes/layouts/base.njk @@ -71,13 +71,13 @@ var _pfQueue = []; function initPagefind(sel, opts) { _pfQueue.push([sel, opts]); } - - + + {# Alpine.js components — MUST load before Alpine core (Alpine.data() registration via alpine:init) #} - - + + {# Graceful no-JS fallback: show content that Alpine would normally control #}