« get me outta code hell

content: generateAlbumReleaseInfo: "music by (track artists)" for vgm - 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>2026-06-22 20:13:22 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-06-22 20:13:22 -0300
commit0d0a19651db5d0dd8aa93ad40a0bc4bd0c6ca74c (patch)
tree84bc0616acbc2cab804a08be03f30f0b46a132e9 /src
parent7165bd2b73ab52a81a47fa6727faf6607b6c47ae (diff)
content: generateAlbumReleaseInfo: "music by (track artists)" for vgm preview
Diffstat (limited to 'src')
-rw-r--r--src/content/dependencies/generateAlbumReleaseInfo.js12
-rw-r--r--src/content/dependencies/generateReleaseInfoBlock.js2
-rw-r--r--src/strings-default.yaml5
3 files changed, 18 insertions, 1 deletions
diff --git a/src/content/dependencies/generateAlbumReleaseInfo.js b/src/content/dependencies/generateAlbumReleaseInfo.js
index 0d1db309..6ea2a7fc 100644
--- a/src/content/dependencies/generateAlbumReleaseInfo.js
+++ b/src/content/dependencies/generateAlbumReleaseInfo.js
@@ -8,6 +8,9 @@ export default {
     artistContributionsLine:
       relation('generateReleaseInfoContributionsLine', album.artistContribs),
 
+    trackArtistContributionsLine:
+      relation('generateReleaseInfoContributionsLine', album.trackArtistContribs),
+
     listenLineOrList:
       relation('generateListenLineOrList', album),
   }),
@@ -15,6 +18,8 @@ export default {
   data(album) {
     const data = {};
 
+    data.albumStyle = album.style;
+
     data.date = album.date;
     data.dateStyle = album.dateStyle;
 
@@ -50,6 +55,13 @@ export default {
             chronologyKind: 'album',
           }),
 
+          data.albumStyle === 'in-game vgm' &&
+            relations.trackArtistContributionsLine.slots({
+              stringKey: capsule + '.musicBy',
+              featuringStringKey: capsule + '.musicBy.featuring',
+              chronologyKind: null,
+            }),
+
           (data.dateStyle === 'released'
             ? language.$(capsule, 'released', {
                 date: language.formatDate(data.date),
diff --git a/src/content/dependencies/generateReleaseInfoBlock.js b/src/content/dependencies/generateReleaseInfoBlock.js
index 93d889ab..b73fd63f 100644
--- a/src/content/dependencies/generateReleaseInfoBlock.js
+++ b/src/content/dependencies/generateReleaseInfoBlock.js
@@ -31,7 +31,7 @@ export default {
         continue;
       }
 
-      if (html.isBlank(item)) {
+      if (html.isBlank(item) || !item) {
         continue;
       }
 
diff --git a/src/strings-default.yaml b/src/strings-default.yaml
index a14d774d..15602471 100644
--- a/src/strings-default.yaml
+++ b/src/strings-default.yaml
@@ -290,6 +290,11 @@ releaseInfo:
 
   from: "From {ALBUM}."
 
+  musicBy: >-
+    Music by {ARTISTS}.
+  musicBy.featuring: >-
+    Music by {ARTISTS}, featuring {FEATURING}.
+
   wallpaperArtBy: "Wallpaper by {ARTISTS}"
   bannerArtBy: "Banner by {ARTISTS}"