« get me outta code hell

external-links: bandcamp artistRelease & officialRelease contexts - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-06-16 17:15:43 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-06-16 17:17:48 -0300
commit3088824a38be4ee2f8b9765ce6aabd94391674a8 (patch)
tree7fa885121cccb005dea6378f69113a4d9045d0cb /src
parent8cde27ffa0258f90650824b31fb2057163da7ad0 (diff)
external-links: bandcamp artistRelease & officialRelease contexts
Diffstat (limited to 'src')
-rw-r--r--src/external-links.js27
-rw-r--r--src/strings-default.yaml7
2 files changed, 33 insertions, 1 deletions
diff --git a/src/external-links.js b/src/external-links.js
index d0583b73..247b70f4 100644
--- a/src/external-links.js
+++ b/src/external-links.js
@@ -30,6 +30,9 @@ export const externalLinkContexts = [
   'generic',
   'group',
   'track',
+
+  'artistRelease',
+  'officialRelease',
 ];
 
 export const isExternalLinkContext =
@@ -255,6 +258,30 @@ export const externalLinkSpec = [
   },
 
   {
+    match: {
+      domain: '.bandcamp.com',
+      context: 'artistRelease',
+    },
+
+    platform: 'bandcamp.artistRelease',
+    handle: {domain: /^[^.]+/},
+
+    icon: 'bandcamp',
+  },
+
+  {
+    match: {
+      domain: '.bandcamp.com',
+      context: 'officialRelease',
+    },
+
+    platform: 'bandcamp.officialRelease',
+    handle: {domain: /^[^.]+/},
+
+    icon: 'bandcamp',
+  },
+
+  {
     match: {domain: '.bandcamp.com'},
 
     platform: 'bandcamp',
diff --git a/src/strings-default.yaml b/src/strings-default.yaml
index ec46e676..fe6681ed 100644
--- a/src/strings-default.yaml
+++ b/src/strings-default.yaml
@@ -650,7 +650,12 @@ misc:
     amazonMusic: "Amazon Music"
     appleMusic: "Apple Music"
     artstation: "ArtStation"
-    bandcamp: "Bandcamp"
+
+    bandcamp:
+      _: "Bandcamp"
+
+      artistRelease: "Bandcamp (artist's release)"
+      officialRelease: "Bandcamp (official release)"
 
     bgreco:
       _: "bgreco.net"