diff options
Diffstat (limited to 'src/page/artist-alias.js')
-rw-r--r-- | src/page/artist-alias.js | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/src/page/artist-alias.js b/src/page/artist-alias.js index e2b1604..c117779 100644 --- a/src/page/artist-alias.js +++ b/src/page/artist-alias.js @@ -1,19 +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) { +export function pathsForTarget(aliasArtist) { const {aliasedArtist} = aliasArtist; - const redirect = { - type: 'redirect', - fromPath: ['artist', aliasArtist.directory], - toPath: ['artist', aliasedArtist.directory], - title: () => aliasedArtist.name, - }; + // 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 []; + } - return [redirect]; + return [ + { + type: 'redirect', + fromPath: ['artist', aliasArtist.directory], + toPath: ['artist', aliasedArtist.directory], + title: aliasedArtist.name, + }, + ]; } |