« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/page/artist-alias.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/page/artist-alias.js')
-rw-r--r--src/page/artist-alias.js27
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,
+    },
+  ];
 }