From c60b3722f23d88680c7ceee72c32ef87545752ea Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Fri, 4 Jun 2021 16:21:58 -0300 Subject: module-ify album commentary pages --- src/upd8.js | 139 ------------------------------------------------------------ 1 file changed, 139 deletions(-) (limited to 'src/upd8.js') diff --git a/src/upd8.js b/src/upd8.js index 40e763c..05b997c 100755 --- a/src/upd8.js +++ b/src/upd8.js @@ -2215,145 +2215,6 @@ function generateRedirectPage(title, target, {strings}) { `; } -function filterAlbumsByCommentary(albums) { - return albums.filter(album => [album, ...album.tracks].some(x => x.commentary)); -} - -function writeCommentaryPages({wikiData}) { - const albums = filterAlbumsByCommentary(wikiData.albumData); - - if (!albums.length) { - return; - } - - return [ - writeCommentaryIndex({wikiData}), - ...albums.map(album => writeAlbumCommentaryPage(album, {wikiData})) - ]; -} - -function writeCommentaryIndex({wikiData}) { - const data = filterAlbumsByCommentary(wikiData.albumData) - .map(album => ({ - album, - entries: [album, ...album.tracks].filter(x => x.commentary).map(x => x.commentary) - })) - .map(({ album, entries }) => ({ - album, entries, - words: entries.join(' ').split(' ').length - })); - - const totalEntries = data.reduce((acc, {entries}) => acc + entries.length, 0); - const totalWords = data.reduce((acc, {words}) => acc + words, 0); - - const page = { - type: 'page', - path: ['commentaryIndex'], - page: ({ - link, - strings - }) => ({ - title: strings('commentaryIndex.title'), - - main: { - content: fixWS` -
-

${strings('commentaryIndex.title')}

-

${strings('commentaryIndex.infoLine', { - words: `${strings.count.words(totalWords, {unit: true})}`, - entries: `${strings.count.commentaryEntries(totalEntries, {unit: true})}` - })}

-

${strings('commentaryIndex.albumList.title')}

- -
- ` - }, - - nav: {simple: true} - }) - }; - - return [page]; -} - -function writeAlbumCommentaryPage(album, {wikiData}) { - const { wikiInfo } = wikiData; - - const entries = [album, ...album.tracks].filter(x => x.commentary).map(x => x.commentary); - const words = entries.join(' ').split(' ').length; - - const page = { - type: 'page', - path: ['albumCommentary', album.directory], - page: ({ - getAlbumStylesheet, - link, - strings, - to, - transformMultiline - }) => ({ - title: strings('albumCommentaryPage.title', {album: album.name}), - stylesheet: getAlbumStylesheet(album), - theme: getThemeString(album.color), - - main: { - content: fixWS` -
-

${strings('albumCommentaryPage.title', { - album: link.album(album) - })}

-

${strings('albumCommentaryPage.infoLine', { - words: `${strings.count.words(words, {unit: true})}`, - entries: `${strings.count.commentaryEntries(entries.length, {unit: true})}` - })}

- ${album.commentary && fixWS` -

${strings('albumCommentaryPage.entry.title.albumCommentary')}

-
- ${transformMultiline(album.commentary)} -
- `} - ${album.tracks.filter(t => t.commentary).map(track => fixWS` -

${strings('albumCommentaryPage.entry.title.trackCommentary', { - track: link.track(track) - })}

-
- ${transformMultiline(track.commentary)} -
- `).join('\n')} -
- ` - }, - - nav: { - links: [ - {toHome: true}, - { - path: ['localized.commentaryIndex'], - title: strings('commentaryIndex.title') - }, - { - html: strings('albumCommentaryPage.nav.album', { - album: link.albumCommentary(album, {class: 'current'}) - }) - } - ] - } - }) - }; - - return [page]; -} - function writeTagPages({wikiData}) { const { tagData, wikiInfo } = wikiData; -- cgit 1.3.0-6-gf8a5