From e95166f08080ec370a482786c3c60bea5c8eb3ea Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 23 Aug 2025 15:23:43 -0300 Subject: content: listTracksNeedingLyrics --- src/content/dependencies/listTracksNeedingLyrics.js | 9 +++++++++ src/listing-spec.js | 8 ++++++++ src/strings-default.yaml | 17 +++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 src/content/dependencies/listTracksNeedingLyrics.js diff --git a/src/content/dependencies/listTracksNeedingLyrics.js b/src/content/dependencies/listTracksNeedingLyrics.js new file mode 100644 index 00000000..655bf2a0 --- /dev/null +++ b/src/content/dependencies/listTracksNeedingLyrics.js @@ -0,0 +1,9 @@ +export default { + contentDependencies: ['listTracksWithExtra'], + + relations: (relation, spec) => + ({page: relation('listTracksWithExtra', spec, 'needsLyrics', 'truthy')}), + + generate: (relations) => + relations.page, +}; diff --git a/src/listing-spec.js b/src/listing-spec.js index 142c5976..a47bd38c 100644 --- a/src/listing-spec.js +++ b/src/listing-spec.js @@ -178,6 +178,7 @@ listingSpec.push({ directory: 'tracks/with-lyrics', stringsKey: 'listTracks.withLyrics', contentFunction: 'listTracksWithLyrics', + seeAlso: ['tracks/needing-lyrics'], }); listingSpec.push({ @@ -194,6 +195,13 @@ listingSpec.push({ seeAlso: ['all-midi-project-files'], }); +listingSpec.push({ + directory: 'tracks/needing-lyrics', + stringsKey: 'listTracks.needingLyrics', + contentFunction: 'listTracksNeedingLyrics', + seeAlso: ['tracks/with-lyrics'], +}); + listingSpec.push({ directory: 'tags/by-name', stringsKey: 'listArtTags.byName', diff --git a/src/strings-default.yaml b/src/strings-default.yaml index 3e07382f..fa884848 100644 --- a/src/strings-default.yaml +++ b/src/strings-default.yaml @@ -2332,6 +2332,23 @@ listingPage: title.withDate: "{ALBUM} ({DATE})" item: "{TRACK}" + # listTracks.needingLyrics: + # List tracks, chunked by album (which are sorted by date, + # falling back alphabetically) and in their usual track order, + # displaying only tracks which are marked as needing lyrics. + # The chunk titles also display the date each album was released, + # and tracks' own custom "Date First Released" fields are totally + # ignored. + + needingLyrics: + title: "Tracks - which need Lyrics" + title.short: "...which need Lyrics" + + chunk: + title: "{ALBUM}" + title.withDate: "{ALBUM} ({DATE})" + item: "{TRACK}" + other: # other.allSheetMusic: -- cgit 1.3.0-6-gf8a5