diff --git a/88x31/index.html b/88x31/index.html
index f4ae45d..4a5d8a8 100644
--- a/88x31/index.html
+++ b/88x31/index.html
@@ -60,7 +60,7 @@
The little badges from around my site, all in one spot
-
+
diff --git a/dev-info/index.html b/dev-info/index.html
index aac6035..7e66da9 100644
--- a/dev-info/index.html
+++ b/dev-info/index.html
@@ -66,7 +66,7 @@
Tech Stack
-
+
@@ -133,7 +133,7 @@
-
+
@@ -238,11 +238,11 @@
-
+
Languages
diff --git a/js/music.js b/js/music.js
index 34e7957..9ce74cf 100644
--- a/js/music.js
+++ b/js/music.js
@@ -156,6 +156,9 @@ console.log(`
const lockBtn = $("#ly-lock");
const recentBox = $("#recent");
const topBox = $("#top");
+ // transparent 1x1 — keeps
valid (src required) while showing the ♪
+ // placeholder via CSS (.mnp-art:not(.has-art)) when there's no real art
+ const BLANK_ART = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
// ---- state --------------------------------------------------------------
// track: { song, artist, album, art, trackId, url, start, end, duration, live }
@@ -180,9 +183,11 @@ console.log(`
npTitle.textContent = "—";
npArtist.textContent = "";
npAlbum.textContent = "";
- npArt.removeAttribute("src");
+ npArt.src = BLANK_ART;
npArt.classList.remove("has-art");
npLink.removeAttribute("href");
+ npLink.removeAttribute("target");
+ npLink.removeAttribute("rel");
progress.hidden = true;
resetAccent();
return;
@@ -194,8 +199,9 @@ console.log(`
npArtist.textContent = track.artist || "";
npAlbum.textContent = track.album || "";
if (track.art) { npArt.src = track.art; npArt.classList.add("has-art"); }
- else { npArt.removeAttribute("src"); npArt.classList.remove("has-art"); }
- if (track.url) npLink.href = track.url; else npLink.removeAttribute("href");
+ else { npArt.src = BLANK_ART; npArt.classList.remove("has-art"); }
+ if (track.url) { npLink.href = track.url; npLink.target = "_blank"; npLink.rel = "noopener"; }
+ else { npLink.removeAttribute("href"); npLink.removeAttribute("target"); npLink.removeAttribute("rel"); }
// progress bar only makes sense for a live track with real timestamps
progress.hidden = !(track.live && track.start && track.end);
if (!progress.hidden) barDur.textContent = mmss(track.duration);
diff --git a/music/index.html b/music/index.html
index ab11115..d8b55df 100644
--- a/music/index.html
+++ b/music/index.html
@@ -46,8 +46,8 @@
-
-
+
+