diff options
Diffstat (limited to 'src/page/album.js')
-rw-r--r-- | src/page/album.js | 53 |
1 files changed, 35 insertions, 18 deletions
diff --git a/src/page/album.js b/src/page/album.js index 46b1446b..e585618c 100644 --- a/src/page/album.js +++ b/src/page/album.js @@ -8,15 +8,22 @@ export function targets({wikiData}) { export function pathsForTarget(album) { return [ - { - type: 'page', - path: ['album', album.directory], - - contentFunction: { - name: 'generateAlbumInfoPage', - args: [album], - }, - }, + (album.style === 'single' + ? { + type: 'redirect', + fromPath: ['album', album.directory], + toPath: ['track', album.tracks[0].directory], + title: album.name, + } + : { + type: 'page', + path: ['album', album.directory], + + contentFunction: { + name: 'generateAlbumInfoPage', + args: [album], + }, + }), { type: 'page', @@ -38,20 +45,28 @@ export function pathsForTarget(album) { }, }, - !empty(album.referencedArtworks) && { + { type: 'page', path: ['albumReferencedArtworks', album.directory], + condition: () => + album.hasCoverArt && + !empty(album.coverArtworks[0].referencedArtworks), + contentFunction: { name: 'generateAlbumReferencedArtworksPage', args: [album], }, }, - !empty(album.referencedByArtworks) && { + { type: 'page', path: ['albumReferencingArtworks', album.directory], + condition: () => + album.hasCoverArt && + !empty(album.coverArtworks[0].referencedByArtworks), + contentFunction: { name: 'generateAlbumReferencingArtworksPage', args: [album], @@ -80,13 +95,15 @@ export function pathsTargetless({wikiData: {wikiInfo}}) { contentFunction: {name: 'generateCommentaryIndexPage'}, }, - wikiInfo.canonicalBase === 'https://hsmusic.wiki/' && - { - type: 'redirect', - fromPath: ['page', 'list/all-commentary'], - toPath: ['commentaryIndex'], - title: 'Album Commentary', - }, + { + type: 'redirect', + fromPath: ['page', 'list/all-commentary'], + toPath: ['commentaryIndex'], + title: 'Album Commentary', + + condition: () => + wikiInfo.canonicalBase === 'https://hsmusic.wiki/', + }, ]; } |