From 7bb95635ad322352b045274cdfe80e39940dbc08 Mon Sep 17 00:00:00 2001 From: salty Date: Wed, 12 Feb 2025 06:09:02 +0100 Subject: [PATCH] feat(gha): change hide_announce to evaluate again hostname (#2276) --- docs/js/hide_announce.js | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/docs/js/hide_announce.js b/docs/js/hide_announce.js index fe5c9662e..8f6ee9330 100644 --- a/docs/js/hide_announce.js +++ b/docs/js/hide_announce.js @@ -4,25 +4,49 @@ document$.subscribe(function() { const announceElement = document.querySelector('[data-md-component="announce"] .md-banner__inner'); if (announceElement) { + console.log("Announce element found:", announceElement); + const canonicalUrlElement = document.querySelector('link[rel="canonical"]'); if (canonicalUrlElement) { const currentUrl = window.location.href; const canonicalHref = canonicalUrlElement.href; - const normalizeUrl = (url) => { - let normalized = url.replace(/\/+$/, ''); - return normalized; + console.log("Current URL:", currentUrl); + console.log("Canonical URL:", canonicalHref); + + const getBaseUrl = (url) => { + try { + const urlObj = new URL(url); + return `${urlObj.hostname}`; + } catch (error) { + console.error("Invalid URL:", url, error); + return null; + } }; - const normalizedCurrentUrl = normalizeUrl(currentUrl); - const normalizedCanonicalHref = normalizeUrl(canonicalHref); + const currentBaseUrl = getBaseUrl(currentUrl); + const canonicalBaseUrl = getBaseUrl(canonicalHref); - if (normalizedCurrentUrl !== normalizedCanonicalHref) { - announceElement.style.display = 'block'; + if (currentBaseUrl && canonicalBaseUrl) { + console.log("Current Base URL:", currentBaseUrl); + console.log("Canonical Base URL:", canonicalBaseUrl); + + if (currentBaseUrl !== canonicalBaseUrl) { + console.log("Base URLs do NOT match. Showing announce element."); + announceElement.style.display = 'block'; + } else { + console.log("Base URLs match. Element remains hidden (as set by CSS)."); + } + } else { + console.log("Could not extract base URL. Check URLs or browser console."); } + } else { + console.log("Canonical URL element NOT found. Is a canonical URL set?"); return; } + } else { + console.log("Announce element NOT found. Check your selector."); } });