diff options
Diffstat (limited to 'src/page/artist-alias.js')
-rw-r--r-- | src/page/artist-alias.js | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/page/artist-alias.js b/src/page/artist-alias.js index d03510a..c117779 100644 --- a/src/page/artist-alias.js +++ b/src/page/artist-alias.js @@ -1,22 +1,24 @@ -// Artist alias redirect pages. -// (Makes old permalinks bring visitors to the up-to-date page.) +export const description = `redirects for aliased artist names`; export function targets({wikiData}) { - return wikiData.artistAliasData; + return wikiData.artistData.filter(artist => artist.isAlias); } -export function write(aliasArtist, {wikiData}) { - // This function doesn't actually use wikiData, 8ut, um, consistency? +export function pathsForTarget(aliasArtist) { + const {aliasedArtist} = aliasArtist; - const { alias: targetArtist } = aliasArtist; + // Don't generate a redirect page if this aliased name resolves to the same + // directory as the original artist! See issue #280. + if (aliasArtist.directory === aliasedArtist.directory) { + return []; + } - const redirect = { - type: 'redirect', - fromPath: ['artist', aliasArtist.directory], - toPath: ['artist', targetArtist.directory], - title: () => aliasArtist.name - }; - - return [redirect]; + return [ + { + type: 'redirect', + fromPath: ['artist', aliasArtist.directory], + toPath: ['artist', aliasedArtist.directory], + title: aliasedArtist.name, + }, + ]; } - |