diff options
-rw-r--r-- | src/content/dependencies/generateArtistInfoPage.js | 20 | ||||
-rw-r--r-- | src/content/dependencies/generateGroupInfoPage.js | 20 | ||||
-rw-r--r-- | src/strings-default.yaml | 8 |
3 files changed, 48 insertions, 0 deletions
diff --git a/src/content/dependencies/generateArtistInfoPage.js b/src/content/dependencies/generateArtistInfoPage.js index f2fdc5b6..52f3e221 100644 --- a/src/content/dependencies/generateArtistInfoPage.js +++ b/src/content/dependencies/generateArtistInfoPage.js @@ -13,6 +13,7 @@ export default { 'generatePageLayout', 'linkArtistGallery', 'linkExternal', + 'linkGroup', 'transformContent', ], @@ -68,6 +69,10 @@ export default { contextNotes: relation('transformContent', artist.contextNotes), + closeGroupLinks: + artist.closelyLinkedGroups + .map(group => relation('linkGroup', group)), + visitLinks: artist.urls .map(url => relation('linkExternal', url)), @@ -149,6 +154,21 @@ export default { html.tag('p', {[html.onlyIfContent]: true}, + language.encapsulate(pageCapsule, 'closelyLinkedGroups', capsule => + (relations.closeGroupLinks.length === 0 + ? html.blank() + : relations.closeGroupLinks.length === 1 + ? language.$(capsule, 'one', { + group: relations.closeGroupLinks, + }) + : language.$(capsule, 'multiple', { + groups: + language.formatUnitList(relations.closeGroupLinks), + })))), + + html.tag('p', + {[html.onlyIfContent]: true}, + language.$('releaseInfo.visitOn', { [language.onlyIfOptions]: ['links'], diff --git a/src/content/dependencies/generateGroupInfoPage.js b/src/content/dependencies/generateGroupInfoPage.js index 87f35656..31f43208 100644 --- a/src/content/dependencies/generateGroupInfoPage.js +++ b/src/content/dependencies/generateGroupInfoPage.js @@ -5,6 +5,7 @@ export default { 'generateGroupSecondaryNav', 'generateGroupSidebar', 'generatePageLayout', + 'linkArtist', 'linkExternal', 'transformContent', ], @@ -33,6 +34,10 @@ export default { ? relation('generateGroupSidebar', group) : null), + closeArtistLinks: + group.closelyLinkedArtists + .map(artist => relation('linkArtist', artist)), + visitLinks: group.urls .map(url => relation('linkExternal', url)), @@ -63,6 +68,21 @@ export default { html.tag('p', {[html.onlyIfContent]: true}, + language.encapsulate(pageCapsule, 'closelyLinkedArtists', capsule => + (relations.closeArtistLinks.length === 0 + ? html.blank() + : relations.closeArtistLinks.length === 1 + ? language.$(capsule, 'one', { + artist: relations.closeArtistLinks, + }) + : language.$(capsule, 'multiple', { + artists: + language.formatUnitList(relations.closeArtistLinks), + })))), + + html.tag('p', + {[html.onlyIfContent]: true}, + language.$('releaseInfo.visitOn', { [language.onlyIfOptions]: ['links'], diff --git a/src/strings-default.yaml b/src/strings-default.yaml index 5838aa7d..7d85bf15 100644 --- a/src/strings-default.yaml +++ b/src/strings-default.yaml @@ -1073,6 +1073,10 @@ artistPage: nav: artist: "Artist: {ARTIST}" + closelyLinkedGroups: + one: "This artist has a group page: {GROUP}." + multiple: "This artist has group pages: {GROUPS}." + creditList: # album: @@ -1306,6 +1310,10 @@ groupPage: groupInfoPage: title: "{GROUP}" + closelyLinkedArtists: + one: "View artist page: {ARTIST}." + multiple: "View artist pages: {ARTISTS}." + viewAlbumGallery: _: >- View {LINK}! Or browse the list: |