From 41794c8b80dd9d08465fcb2aa0832c15269659d7 Mon Sep 17 00:00:00 2001
From: "(quasar) nebula"
Date: Tue, 4 May 2021 21:41:06 -0300
Subject: IMAGINE IF YOU WILL A WORLD WHEREIN INDENTS WORKED
---
upd8.js | 644 ++++++++++++++++++++++++++++++++++------------------------------
1 file changed, 339 insertions(+), 305 deletions(-)
diff --git a/upd8.js b/upd8.js
index e17005dd..4ac3ab41 100755
--- a/upd8.js
+++ b/upd8.js
@@ -2338,8 +2338,8 @@ function validateWriteObject(obj) {
return {success: true};
}
-async function writeData(subKey, directory, data) {
- const paths = writePage.paths('', 'data.' + subKey, directory, {file: 'data.json'});
+async function writeData(subKey, directory, file, data) {
+ const paths = writePage.paths('', 'data.' + subKey, directory, {file});
await writePage.write(JSON.stringify(data), {paths});
}
@@ -2975,10 +2975,12 @@ function writeNewsIndex() {
${strings.link.newsEntry(entry, {to})}
${transformMultiline(entry.bodyShort, {strings, to})}
- ${entry.bodyShort !== entry.body && `${strings.link.newsEntry(entry, {
- to,
- text: strings('newsIndex.entry.viewRest')
- })}
`}
+ ${entry.bodyShort !== entry.body && fixWS`
+ ${strings.link.newsEntry(entry, {
+ to,
+ text: strings('newsIndex.entry.viewRest')
+ })}
+ `}
`).join('\n')}
@@ -3120,18 +3122,19 @@ function writeAlbumPage(album) {
duration: strings.count.duration(track.duration),
track: strings.link.track(track, {to})
};
- return `${
- (track.artists === album.artists
- ? strings('trackList.item.withDuration', itemOpts)
- : strings('trackList.item.withDuration.withArtists', {
- ...itemOpts,
- by: `${
- strings('trackList.item.withArtists.by', {
- artists: getArtistString(track.artists, {strings, to})
- })
- }`
- }))
- }`;
+
+ const content = (track.artists === album.artists
+ ? strings('trackList.item.withDuration', itemOpts)
+ : strings('trackList.item.withDuration.withArtists', {
+ ...itemOpts,
+ by: html.tag('span', {class: 'by'},
+ strings('trackList.item.withArtists.by', {
+ artists: getArtistString(track.artists, {strings, to})
+ })
+ )
+ }));
+
+ return `${content}`;
};
const commentaryEntries = [album, ...album.tracks].filter(x => x.commentary).length;
@@ -3185,100 +3188,108 @@ function writeAlbumPage(album) {
},
main: {
- content: fixWS`
- ${generateCoverLink({
- strings, to,
- src: to('media.albumCover', album.directory),
- alt: strings('misc.alt.albumCover'),
- tags: album.artTags
- })}
- ${strings('albumPage.title', {album: album.name})}
-
- ${[
- album.artists && strings('releaseInfo.by', {
- artists: getArtistString(album.artists, {
- strings, to,
- showContrib: true,
- showIcons: true
- })
- }),
- album.coverArtists && strings('releaseInfo.coverArtBy', {
- artists: getArtistString(album.coverArtists, {
- strings, to,
- showContrib: true,
- showIcons: true
- })
- }),
- album.wallpaperArtists && strings('releaseInfo.wallpaperArtBy', {
- artists: getArtistString(album.wallpaperArtists, {
- strings, to,
- showContrib: true,
- showIcons: true
- })
- }),
- album.bannerArtists && strings('releaseInfo.bannerArtBy', {
- artists: getArtistString(album.bannerArtists, {
- strings, to,
- showContrib: true,
- showIcons: true
- })
- }),
- strings('releaseInfo.released', {
- date: strings.count.date(album.date)
- }),
- +album.coverArtDate !== +album.date && strings('releaseInfo.artReleased', {
- date: strings.count.date(album.coverArtDate)
- }),
- strings('releaseInfo.duration', {
- duration: strings.count.duration(albumDuration, {approximate: album.tracks.length > 1})
+ content: call(() => {
+ const releaseInfoParts = [
+ album.artists && strings('releaseInfo.by', {
+ artists: getArtistString(album.artists, {
+ strings, to,
+ showContrib: true,
+ showIcons: true
})
- ].filter(Boolean).join('
\n')}
-
- ${commentaryEntries && `${
- strings('releaseInfo.viewCommentary', {
- link: `${
- strings('releaseInfo.viewCommentary.link')
- }`
- })
- }
`}
- ${album.urls.length && `${
- strings('releaseInfo.listenOn', {
- links: strings.list.or(album.urls.map(url => fancifyURL(url, {album: true, strings})))
+ }),
+ album.coverArtists && strings('releaseInfo.coverArtBy', {
+ artists: getArtistString(album.coverArtists, {
+ strings, to,
+ showContrib: true,
+ showIcons: true
+ })
+ }),
+ album.wallpaperArtists && strings('releaseInfo.wallpaperArtBy', {
+ artists: getArtistString(album.wallpaperArtists, {
+ strings, to,
+ showContrib: true,
+ showIcons: true
+ })
+ }),
+ album.bannerArtists && strings('releaseInfo.bannerArtBy', {
+ artists: getArtistString(album.bannerArtists, {
+ strings, to,
+ showContrib: true,
+ showIcons: true
+ })
+ }),
+ strings('releaseInfo.released', {
+ date: strings.count.date(album.date)
+ }),
+ +album.coverArtDate !== +album.date && strings('releaseInfo.artReleased', {
+ date: strings.count.date(album.coverArtDate)
+ }),
+ strings('releaseInfo.duration', {
+ duration: strings.count.duration(albumDuration, {approximate: album.tracks.length > 1})
})
- }
`}
- ${album.trackGroups ? fixWS`
-
- ${album.trackGroups.map(({ name, color, startIndex, tracks }) => fixWS`
- - ${
- strings('trackList.group', {
- duration: strings.count.duration(getTotalDuration(tracks), {approximate: tracks.length > 1}),
- group: name
- })
- }
- - <${listTag === 'ol' ? `ol start="${startIndex + 1}"` : listTag}>
- ${tracks.map(t => trackToListItem(t, {strings, to})).join('\n')}
- ${listTag}>
- `).join('\n')}
-
- ` : fixWS`
- <${listTag}>
- ${album.tracks.map(t => trackToListItem(t, {strings, to})).join('\n')}
- ${listTag}>
- `}
-
- ${[
+ ].filter(Boolean);
+
+ const trackListPart = (album.trackGroups
+ ? html.tag('dl', {class: 'album-group-list'},
+ album.trackGroups.map(({ name, color, startIndex, tracks }) => {
+ const label = strings('trackList.group', {
+ duration: strings.count.duration(getTotalDuration(tracks), {approximate: tracks.length > 1}),
+ group: name
+ });
+ return fixWS`
+
${label}
+ <${listTag === 'ol' ? `ol start="${startIndex + 1}"` : listTag}>
+ ${tracks.map(t => trackToListItem(t, {strings, to})).join('\n')}
+ ${listTag}>
+ `;
+ })
+ )
+ : fixWS`
+ <${listTag}>
+ ${album.tracks.map(t => trackToListItem(t, {strings, to})).join('\n')}
+ ${listTag}>
+ `);
+
+ return [
+ generateCoverLink({
+ strings, to,
+ src: to('media.albumCover', album.directory),
+ alt: strings('misc.alt.albumCover'),
+ tags: album.artTags
+ }),
+
+ `${strings('albumPage.title', {album: album.name})}
`,
+
+ html.tag('p', releaseInfoParts.join('
\n')),
+
+ commentaryEntries && html.tag('p',
+ strings('releaseInfo.viewCommentary', {
+ link: `${
+ strings('releaseInfo.viewCommentary.link')
+ }`
+ })
+ ),
+
+ album.urls.length && html.tag('p',
+ strings('releaseInfo.listenOn', {
+ links: strings.list.or(album.urls.map(url => fancifyURL(url, {album: true, strings})))
+ })
+ ),
+
+ trackListPart,
+
+ html.tag('p', [
strings('releaseInfo.addedToWiki', {
date: strings.count.date(album.dateAdded)
})
- ].filter(Boolean).join('
\n')}
-
- ${album.commentary && fixWS`
- ${strings('releaseInfo.artistCommentary')}
-
- ${transformMultiline(album.commentary, {strings, to})}
-
- `}
- `
+ ].filter(Boolean).join('
\n')),
+
+ album.commentary && fixWS`
+ ${strings('releaseInfo.artistCommentary')}
+ ${html.tag('blockquote', transformMultiline(album.commentary, {strings, to}))}
+ `
+ ].filter(Boolean).join('\n');
+ })
},
sidebarLeft: generateSidebarForAlbum(album, null, {strings, to}),
@@ -3428,103 +3439,114 @@ function writeTrackPage(track) {
*/
main: {
- content: fixWS`
- ${generateCoverLink({
- strings, to,
- src: getTrackCover(track, {to}),
- alt: strings('misc.alt.trackCover'),
- tags: track.artTags
- })}
- ${strings('trackPage.title', {track: track.name})}
-
- ${[
- strings('releaseInfo.by', {
- artists: getArtistString(track.artists, {
- strings, to,
- showContrib: true,
- showIcons: true
- })
- }),
- track.coverArtists && strings('releaseInfo.coverArtBy', {
- artists: getArtistString(track.coverArtists, {
- strings, to,
- showContrib: true,
- showIcons: true
- })
- }),
- album.directory !== C.UNRELEASED_TRACKS_DIRECTORY && strings('releaseInfo.released', {
- date: strings.count.date(track.date)
- }),
- +track.coverArtDate !== +track.date && strings('releaseInfo.artReleased', {
- date: strings.count.date(track.coverArtDate)
- }),
- track.duration && strings('releaseInfo.duration', {
- duration: strings.count.duration(track.duration)
+ content: call(() => {
+ const releaseInfoParts = [
+ strings('releaseInfo.by', {
+ artists: getArtistString(track.artists, {
+ strings, to,
+ showContrib: true,
+ showIcons: true
})
- ].filter(Boolean).join('
\n')}
-
- ${
- (track.urls.length
- ? strings('releaseInfo.listenOn', {
- links: strings.list.or(track.urls.map(url => fancifyURL(url, {strings})))
+ }),
+ track.coverArtists && strings('releaseInfo.coverArtBy', {
+ artists: getArtistString(track.coverArtists, {
+ strings, to,
+ showContrib: true,
+ showIcons: true
})
- : strings('releaseInfo.listenOn.noLinks'))
- }
- ${otherReleases.length && fixWS`
- ${strings('releaseInfo.alsoReleasedAs')}
-
- ${otherReleases.map(track => fixWS`
- - ${strings('releaseInfo.alsoReleasedAs.item', {
- track: strings.link.track(track, {to}),
- album: strings.link.album(track.album, {to})
- })}
- `).join('\n')}
-
- `}
- ${track.contributors.textContent && fixWS`
-
- ${strings('releaseInfo.contributors')}
-
- ${transformInline(track.contributors.textContent, {strings, to})}
-
- `}
- ${track.contributors.length && fixWS`
- ${strings('releaseInfo.contributors')}
-
- ${(track.contributors
- .map(contrib => `- ${getArtistString([contrib], {
- strings, to,
- showContrib: true,
- showIcons: true
- })}
`)
- .join('\n'))}
-
- `}
- ${tracksReferenced.length && fixWS`
- ${strings('releaseInfo.tracksReferenced', {track: `${track.name}`})}
- ${generateTrackList(tracksReferenced, {strings, to})}
- `}
- ${tracksThatReference.length && fixWS`
- ${strings('releaseInfo.tracksThatReference', {track: `${track.name}`})}
- ${useDividedReferences && fixWS`
-
- ${ttrOfficial.length && fixWS`
- - ${strings('trackPage.referenceList.official')}
- - ${generateTrackList(ttrOfficial, {strings, to})}
- `}
- ${ttrFanon.length && fixWS`
- - ${strings('trackPage.referenceList.fandom')}
- - ${generateTrackList(ttrFanon, {strings, to})}
- `}
-
- `}
- ${!useDividedReferences && generateTrackList(tracksThatReference, {strings, to})}
- `}
- ${wikiInfo.features.flashesAndGames && flashesThatFeature.length && fixWS`
- ${strings('releaseInfo.flashesThatFeature', {track: `${track.name}`})}
-
- ${flashesThatFeature.map(({ flash, as }) => fixWS`
- - ${
+ }),
+ album.directory !== C.UNRELEASED_TRACKS_DIRECTORY && strings('releaseInfo.released', {
+ date: strings.count.date(track.date)
+ }),
+ +track.coverArtDate !== +track.date && strings('releaseInfo.artReleased', {
+ date: strings.count.date(track.coverArtDate)
+ }),
+ track.duration && strings('releaseInfo.duration', {
+ duration: strings.count.duration(track.duration)
+ })
+ ].filter(Boolean);
+
+ return [
+ generateCoverLink({
+ strings, to,
+ src: getTrackCover(track, {to}),
+ alt: strings('misc.alt.trackCover'),
+ tags: track.artTags
+ }),
+
+ `
${strings('trackPage.title', {track: track.name})}
`,
+
+ html.tag('p', releaseInfoParts.join('
\n')),
+
+ html.tag('p',
+ (track.urls.length
+ ? strings('releaseInfo.listenOn', {
+ links: strings.list.or(track.urls.map(url => fancifyURL(url, {strings})))
+ })
+ : strings('releaseInfo.listenOn.noLinks'))
+ ),
+
+ otherReleases.length && fixWS`
+ ${strings('releaseInfo.alsoReleasedAs')}
+ ${html.tag('ul',
+ otherReleases.map(track => fixWS`
+ - ${strings('releaseInfo.alsoReleasedAs.item', {
+ track: strings.link.track(track, {to}),
+ album: strings.link.album(track.album, {to})
+ })}
+ `)
+ )}
+ `,
+
+ track.contributors.textContent && html.tag('p', [
+ strings('releaseInfo.contributors'),
+ '
',
+ transformInline(track.contributors.textContent, {strings, to})
+ ]),
+
+ track.contributors.length && fixWS`
+ ${strings('releaseInfo.contributors')}
+ ${html.tag('p',
+ track.contributors.map(contrib => html.tag('li',
+ getArtistString([contrib], {
+ strings, to,
+ showContrib: true,
+ showIcons: true
+ })
+ ))
+ )}
+ `,
+
+ ...tracksReferenced.length ? [
+ html.tag('p', strings('releaseInfo.tracksReferenced', {
+ track: `${track.name}`
+ })),
+ generateTrackList(tracksReferenced, {strings, to})
+ ] : [],
+
+ ...tracksThatReference.length ? [
+ html.tag('p', strings('releaseInfo.tracksThatReference', {
+ track: `${track.name}`
+ })),
+ (useDividedReferences
+ ? html.tag('dl', [
+ ...ttrOfficial.length ? [
+ `- ${strings('trackPage.referenceList.official')}
`,
+ `- ${generateTrackList(ttrOfficial, {strings, to})}
`
+ ] : [],
+ ...ttrFanon.length ? [
+ `- ${strings('trackPage.referenceList.fandom')}
`,
+ `- ${generateTrackList(ttrFanon, {strings, to})}
`
+ ] : []
+ ])
+ : generateTrackList(tracksThatReference, {strings, to}))
+ ] : [],
+
+ ...wikiInfo.features.flashesAndGames && flashesThatFeature.length ? [
+ `${strings('releaseInfo.flashesThatFeature', {track: `${track.name}`})}
`,
+ html.tag('ul',
+ flashesThatFeature.map(({ flash, as }) => html.tag('li',
+ {class: [as !== track && 'rerelease']},
(as === track
? strings('releaseInfo.flashesThatFeature.item', {
flash: strings.link.flash(flash, {to})
@@ -3533,23 +3555,21 @@ function writeTrackPage(track) {
flash: strings.link.flash(flash, {to}),
track: strings.link.track(as, {to})
}))
- }
- `).join('\n')}
-
- `}
- ${track.lyrics && fixWS`
- ${strings('releaseInfo.lyrics')}
-
- ${transformLyrics(track.lyrics, {strings, to})}
-
- `}
- ${hasCommentary && fixWS`
- ${strings('releaseInfo.artistCommentary')}
-
- ${generateCommentary({strings, to})}
-
- `}
- `
+ ))
+ )
+ ] : [],
+
+ ...track.lyrics ? [
+ `${strings('releaseInfo.lyrics')}
`,
+ html.tag('blockquote', transformLyrics(track.lyrics, {strings, to}))
+ ] : [],
+
+ ...hasCommentary ? [
+ `${strings('releaseInfo.artistCommentary')}
`,
+ html.tag('blockquote', generateCommentary({strings, to}))
+ ] : []
+ ].filter(Boolean).join('\n');
+ })
},
sidebarLeft: generateSidebarForAlbum(album, track, {strings, to}),
@@ -3801,30 +3821,33 @@ function writeArtistPage(artist) {
title: strings('artistPage.title', {artist: name}),
main: {
- content: fixWS`
- ${artist.hasAvatar && generateCoverLink({
+ content: [
+ artist.hasAvatar && generateCoverLink({
strings, to,
src: to('localized.artistAvatar', artist.directory),
alt: strings('misc.alt.artistAvatar')
- })}
- ${strings('artistPage.title', {artist: name})}
- ${note && fixWS`
- ${strings('releaseInfo.note')}
-
- ${transformMultiline(note, {strings, to})}
-
-
- `}
- ${urls.length && `${strings('releaseInfo.visitOn', {
+ }),
+
+ `
${strings('artistPage.title', {artist: name})}
`,
+
+ ...note ? [
+ `${strings('releaseInfo.note')}
`,
+ html.tag('blockquote', transformMultiline(note, {strings, to})),
+ `
`
+ ],
+
+ urls.length && html.tag('p', strings('releaseInfo.visitOn', {
links: strings.list.or(urls.map(url => fancifyURL(url, {strings})))
- })}`}
- ${hasGallery && `${strings('artistPage.viewArtGallery', {
+ })),
+
+ hasGallery && html.tag('p', strings('artistPage.viewArtGallery', {
link: strings.link.artistGallery(artist, {
to,
text: strings('artistPage.viewArtGallery.link')
})
- })}
`}
- ${strings('misc.jumpTo.withLinks', {
+ })),
+
+ html.tag('p', strings('misc.jumpTo.withLinks', {
links: strings.list.unit([
[
[...releasedTracks, ...unreleasedTracks].length && `${strings('artistPage.trackList.title')}`,
@@ -3834,51 +3857,57 @@ function writeArtistPage(artist) {
wikiInfo.features.flashesAndGames && flashes.length && `${strings('artistPage.flashList.title')}`,
commentaryThings.length && `${strings('artistPage.commentaryList.title')}`
].filter(Boolean))
- })}
- ${(releasedTracks.length || unreleasedTracks.length) && fixWS`
- ${strings('artistPage.trackList.title')}
- `}
- ${releasedTracks.length && fixWS`
- ${strings('artistPage.contributedDurationLine', {
+ })),
+
+ (releasedTracks.length || unreleasedTracks.length) && (
+ `
${strings('artistPage.trackList.title')}
`),
+
+ ...releasedTracks.length ? [
+ html.tag('p', strings('artistPage.contributedDurationLine', {
artist: artist.name,
duration: strings.count.duration(totalReleasedDuration, {approximate: true, unit: true})
- })}
- ${strings('artistPage.musicGroupsLine', {
+ })),
+ html.tag('p', strings('artistPage.musicGroupsLine', {
groups: strings.list.unit(musicGroups
.map(({ group, contributions }) => strings('artistPage.groupsLine.item', {
group: strings.link.groupInfo(group, {to}),
contributions: strings.count.contributions(contributions)
})))
- })}
- ${generateTrackList(releasedTrackListChunks, {strings, to})}
- `}
- ${unreleasedTracks.length && fixWS`
- ${strings('artistPage.unreleasedTrackList.title')}
- ${generateTrackList(unreleasedTrackListChunks, {strings, to})}
- `}
- ${artThingsAll.length && fixWS`
- ${strings('artistPage.artList.title')}
- ${hasGallery && `${strings('artistPage.viewArtGallery.orBrowseList', {
+ })),
+ generateTrackList(releasedTrackListChunks, {strings, to})
+ ] : [],
+
+ ...unreleasedTracks.length ? [
+ `
${strings('artistPage.unreleasedTrackList.title')}
`,
+ generateTrackList(unreleasedTrackListChunks, {strings, to})
+ ] : [],
+
+ ...artThingsAll.length ? [
+ `${strings('artistPage.artList.title')}
`,
+
+ hasGallery && html.tag('p', strings('artistPage.viewArtGallery.orBrowseList', {
link: strings.link.artistGallery(artist, {
to,
text: strings('artistPage.viewArtGallery.link')
})
- })}`}
- ${strings('artistPage.artGroupsLine', {
+ })),
+
+ html.tag('p', strings('artistPage.artGroupsLine', {
groups: strings.list.unit(artGroups
.map(({ group, contributions }) => strings('artistPage.groupsLine.item', {
group: strings.link.groupInfo(group, {to}),
contributions: strings.count.contributions(contributions)
})))
- })}
-
- ${artListChunks.map(({date, album, chunk}) => fixWS`
- - ${strings('artistPage.creditList.album.withDate', {
+ }))
+
+ html.tag('dl',
+ artListChunks.flatMap(({date, album, chunk}) => [
+ html.tag('dt', strings('artistPage.creditList.album.withDate', {
album: strings.link.album(album, {to}),
date: strings.count.date(date)
- })}
-
- ${(chunk
+ })),
+ html.tag('dd', html.tag('ul',
+ (chunk
.map(({album, track, key, ...props}) => ({
entry: (track
? strings('artistPage.creditList.entry.track', {
@@ -3893,21 +3922,22 @@ function writeArtistPage(artist) {
}))
.map(opts => generateEntryAccents({strings, to, ...opts}))
.map(row => `- ${row}
`)
- .join('\n'))}
-
- `).join('\n')}
-
- `}
- ${wikiInfo.features.flashesAndGames && flashes.length && fixWS`
- ${strings('artistPage.flashList.title')}
-
- ${flashListChunks.map(({act, chunk, dateFirst, dateLast}) => fixWS`
- - ${strings('artistPage.creditList.flashAct.withDateRange', {
+ .join('\n'))
+ ))
+ ])
+ )
+ ] : [],
+
+ ...wikiInfo.features.flashesAndGames && flashes.length ? [
+ `
${strings('artistPage.flashList.title')}
`,
+ html.tag('dl',
+ flashListChunks.flatMap(({act, chunk, dateFirst, dateLast}) => [
+ html.tag('dt', strings('artistPage.creditList.flashAct.withDateRange', {
act: strings.link.flash(chunk[0].flash, {to, text: act.name}),
dateRange: strings.count.dateRange([dateFirst, dateLast])
- })}
-
- ${(chunk
+ })),
+ html.tag('dd', html.tag('ul',
+ (chunk
.map(({flash, ...props}) => ({
entry: strings('artistPage.creditList.entry.flash', {
flash: strings.link.flash(flash, {to})
@@ -3916,32 +3946,33 @@ function writeArtistPage(artist) {
}))
.map(opts => generateEntryAccents({strings, to, ...opts}))
.map(row => `- ${row}
`)
- .join('\n'))}
-
- `).join('\n')}
-
- `}
- ${commentaryThings.length && fixWS`
-
-
- ${commentaryListChunks.map(({album, chunk}) => fixWS`
- - ${strings('artistPage.creditList.album', {
+ .join('\n'))
+ ))
+ ])
+ )
+ ] : [],
+
+ ...commentaryThings.length ? [
+ ``,
+ html.tag('dl',
+ commentaryListChunks.flatMap(({album, chunk}) => [
+ html.tag('dt', strings('artistPage.creditList.album', {
album: strings.link.album(album, {to})
- })}
-
- ${(chunk
+ })),
+ html.tag('dd', html.tag('ul',
+ (chunk
.map(({album, track, ...props}) => track
? strings('artistPage.creditList.entry.track', {
track: strings.link.track(track, {to})
})
: `${strings('artistPage.creditList.entry.album.commentary')}`)
.map(row => `- ${row}
`)
- .join('\n'))}
-
- `).join('\n')}
-
- `}
- `
+ .join('\n'))
+ ))
+ ])
+ )
+ ] : []
+ ].filter(Boolean).join('\n')
},
nav: generateNavForArtist(artist, {strings, to, isGallery: false, hasGallery})
@@ -3956,13 +3987,15 @@ function writeArtistPage(artist) {
main: {
classes: ['top-index'],
- content: fixWS`
- ${strings('artistGalleryPage.title', {artist: name})}
- ${strings('artistGalleryPage.infoLine', {
- coverArts: strings.count.coverArts(artThingsGallery.length, {unit: true})
- })}
-
- ${getGridHTML({
+ content: [
+ `
${strings('artistGalleryPage.title', {artist: name})}
`,
+ html.tag('p', {class: 'quick-info'},
+ strings('artistGalleryPage.infoLine', {
+ coverArts: strings.count.coverArts(artThingsGallery.length, {unit: true})
+ })
+ ),
+ html.tag('div', {class: 'grid-listing'},
+ getGridHTML({
strings, to,
entries: artThingsGallery.map(item => ({item})),
srcFn: thing => (thing.album
@@ -3971,9 +4004,9 @@ function writeArtistPage(artist) {
hrefFn: thing => (thing.album
? to('localized.track', thing.directory)
: to('localized.album', thing.directory))
- })}
-
- `
+ })
+ )
+ ].filter(Boolean).join('\n')
},
nav: generateNavForArtist(artist, {strings, to, isGallery: true, hasGallery})
@@ -6561,7 +6594,8 @@ async function main() {
await progressPromiseAll(`Writing data files shared across languages.`, queue(
// TODO: This only supports one <>-style argument.
- dataWrites.map(({path, data}) => () => writeData(path[0], path[1], data())),
+ dataWrites.map(({path, file = 'data.json', data}) =>
+ () => writeData(path[0], path[1], file, data())),
queueSize
));
--
cgit 1.3.0-6-gf8a5