From 06d9ed8c51b1dbf1d79f531f153cdbbbcc1b47a5 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 30 Mar 2024 11:24:00 -0300 Subject: external-links: Internet Archive, Wayback Machine --- src/static/icons.svg | 1 + src/strings-default.yaml | 2 ++ src/util/external-links.js | 13 +++++++++++++ tap-snapshots/test/snapshot/linkExternal.js.test.cjs | 8 ++++++++ test/snapshot/linkExternal.js | 8 ++++++++ 5 files changed, 32 insertions(+) diff --git a/src/static/icons.svg b/src/static/icons.svg index 8393ad80..a2836a46 100644 --- a/src/static/icons.svg +++ b/src/static/icons.svg @@ -14,6 +14,7 @@ + diff --git a/src/strings-default.yaml b/src/strings-default.yaml index 44cff01a..2f0098f4 100644 --- a/src/strings-default.yaml +++ b/src/strings-default.yaml @@ -536,6 +536,7 @@ misc: secretPage: "Homestuck (secret page)" instagram: "Instagram" + internetArchive: "Internet Archive" itch: "itch.io" kofi: "Ko-fi" mastodon: "Mastodon" @@ -549,6 +550,7 @@ misc: tumblr: "Tumblr" twitch: "Twitch" twitter: "Twitter" + waybackMachine: "Wayback Machine" wikipedia: "Wikipedia" youtube: diff --git a/src/util/external-links.js b/src/util/external-links.js index 9130cacc..d82ba47a 100644 --- a/src/util/external-links.js +++ b/src/util/external-links.js @@ -334,6 +334,13 @@ export const externalLinkSpec = [ icon: 'instagram', }, + // The Wayback Machine is a separate entry. + { + match: {domain: 'archive.org'}, + platform: 'internetArchive', + icon: 'internetArchive', + }, + { match: {domain: '.itch.io'}, @@ -494,6 +501,12 @@ export const externalLinkSpec = [ icon: 'twitter', }, + { + match: {domain: 'web.archive.org'}, + platform: 'waybackMachine', + icon: 'internetArchive', + }, + { match: {domains: ['wikipedia.org', '.wikipedia.org']}, platform: 'wikipedia', diff --git a/tap-snapshots/test/snapshot/linkExternal.js.test.cjs b/tap-snapshots/test/snapshot/linkExternal.js.test.cjs index 6bf7bd14..7a012a2e 100644 --- a/tap-snapshots/test/snapshot/linkExternal.js.test.cjs +++ b/tap-snapshots/test/snapshot/linkExternal.js.test.cjs @@ -91,6 +91,8 @@ exports[`test/snapshot/linkExternal.js > TAP > linkExternal (snapshot) > context Fandom Fandom Homestuck +Internet Archive +Internet Archive Instagram tuyoki bravelittletoreador @@ -120,6 +122,8 @@ exports[`test/snapshot/linkExternal.js > TAP > linkExternal (snapshot) > context awkwarddoesart purenonsens Twitter +Wayback Machine +Wayback Machine Wikipedia bani-chan8949 Razzie16 @@ -149,6 +153,8 @@ exports[`test/snapshot/linkExternal.js > TAP > linkExternal (snapshot) > context Fandom Fandom Homestuck +Internet Archive +Internet Archive Instagram itch.io itch.io @@ -178,6 +184,8 @@ exports[`test/snapshot/linkExternal.js > TAP > linkExternal (snapshot) > context Twitter Twitter Twitter +Wayback Machine +Wayback Machine Wikipedia YouTube YouTube diff --git a/test/snapshot/linkExternal.js b/test/snapshot/linkExternal.js index 28ad1427..a21241e3 100644 --- a/test/snapshot/linkExternal.js +++ b/test/snapshot/linkExternal.js @@ -83,6 +83,10 @@ testContentFunctions(t, 'linkExternal (snapshot)', async (t, evaluate) => { // platform: homestuck 'https://homestuck.com/', + // platform: internetArchive + 'https://archive.org/details/a-life-well-lived', + 'https://archive.org/details/VastError_Volume1/11+Renaissance.mp3', + // platform: instagram 'https://www.instagram.com/levc_egm/', @@ -142,6 +146,10 @@ testContentFunctions(t, 'linkExternal (snapshot)', async (t, evaluate) => { 'https://twitter.com/purenonsens/', 'https://twitter.com/circlejourney/status/1202265927183548416', + // platform: waybackMachine + 'https://web.archive.org/web/20120405160556/https://homestuck.bandcamp.com/album/colours-and-mayhem-universe-a', + 'https://web.archive.org/web/20160807111207/http://griffinspacejam.com:80/', + // platform: wikipedia 'https://en.wikipedia.org/wiki/Haydn_Quartet_(vocal_ensemble)', -- cgit 1.3.0-6-gf8a5