naslovnica: isti izvajalec vsaj 5 mest narazen namesto premikanja clankov v drugo rubriko
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
// Samodejno iz /opt/folx-shared/artists.json (29. 8. 2026). Ne urejaj rocno.
|
||||
export const ARTISTS: string[] = [
|
||||
"Zillertaler Haderlumpen",
|
||||
"Die Jungen Klostertaler",
|
||||
"Die Jungen Zillertaler",
|
||||
"Anna-Carina Woitschack",
|
||||
"Engelbert Humperdinck",
|
||||
"Kastelruther Spatzen",
|
||||
"Die 4 von der Koralm",
|
||||
"Florian Silbereisen",
|
||||
"Oesch's die Dritten",
|
||||
"Melissa Naschenweng",
|
||||
"Die Schlagerpiloten",
|
||||
"Gioiello Sabbatelli",
|
||||
"Maximilian Sedlmayr",
|
||||
"Wildecker Herzbuben",
|
||||
"Michelle\" Schlager",
|
||||
"Marianne Rosenberg",
|
||||
"Esteriore Brothers",
|
||||
"Alexandra Hofmann",
|
||||
"Fantasy\" Schlager",
|
||||
"Alpen Oberkrainer",
|
||||
"Sigrid und Marina",
|
||||
"Giovanni Zarrella",
|
||||
"Paolo Santa Maria",
|
||||
"Vanessa Siziliano",
|
||||
"Hansi Hinterseer",
|
||||
"Andreas Gabalier",
|
||||
"Daniela Alfinito",
|
||||
"Olaf der Flipper",
|
||||
"Nockalm Quintett",
|
||||
"Damiano Maiolini",
|
||||
"Stefanie Hertel",
|
||||
"Die Draufgänger",
|
||||
"Die Zillertaler",
|
||||
"Ybbstal Express",
|
||||
"Die Pagger Buam",
|
||||
"Die Grubertaler",
|
||||
"Michael Wendler",
|
||||
"Die Cappuccinos",
|
||||
"Alexander Fuchs",
|
||||
"Gerrit Grünberg",
|
||||
"Helene Fischer",
|
||||
"Wolfgang Petry",
|
||||
"Christin Stark",
|
||||
"Oswald Sattler",
|
||||
"Lucas Cordalis",
|
||||
"Die Stoakogler",
|
||||
"Die Mayrhofner",
|
||||
"Francine Jordi",
|
||||
"Bernhard Brink",
|
||||
"Alexander Rier",
|
||||
"Nino de Angelo",
|
||||
"Costa Cordalis",
|
||||
"Matthias Reim",
|
||||
"Beatrice Egli",
|
||||
"Roland Kaiser",
|
||||
"Anita Hofmann",
|
||||
"Vincent Gross",
|
||||
"Ramon Roselly",
|
||||
"Sonia Liebing",
|
||||
"Melanie Payer",
|
||||
"Joelina Drews",
|
||||
"Ursprung Buam",
|
||||
"Steirergreens",
|
||||
"Zellberg Buam",
|
||||
"Melanie Oesch",
|
||||
"Monika Martin",
|
||||
"Eric Philippi",
|
||||
"Rosanna Rocci",
|
||||
"Andrea Kiewel",
|
||||
"Pietro Basile",
|
||||
"Nevio Passero",
|
||||
"Laterndl Trio",
|
||||
"Stefan Mross",
|
||||
"Semino Rossi",
|
||||
"Norbert Rier",
|
||||
"Angela Wiedl",
|
||||
"Peter Maffay",
|
||||
"Saso Avsenik",
|
||||
"Jürgen Drews",
|
||||
"Die Flippers",
|
||||
"Klostertaler",
|
||||
"Lechner Buam",
|
||||
"Die Paldauer",
|
||||
"Marc Pircher",
|
||||
"Hansi Berger",
|
||||
"Ella Endlich",
|
||||
"Oliver Haidt",
|
||||
"Ralph Siegel",
|
||||
"Johnny Logan",
|
||||
"Bonnie Tyler",
|
||||
"Sašo Avsenik",
|
||||
"Mark Medlock",
|
||||
"Laura Müller",
|
||||
"Andrea Berg",
|
||||
"Achim Petry",
|
||||
"Maite Kelly",
|
||||
"Vanessa Mai",
|
||||
"Ross Antony",
|
||||
"Ireen Sheer",
|
||||
"Kerstin Ott",
|
||||
"Die Edlseer",
|
||||
"Die Fetzign",
|
||||
"Die Ladiner",
|
||||
"Jörg Bausch",
|
||||
"Stefan Roos",
|
||||
"Julian Reim",
|
||||
"Linda Hesse",
|
||||
"Anna Heesch",
|
||||
"Rod Stewart",
|
||||
"Luca Stangl",
|
||||
"Hein Simons",
|
||||
"Grubertaler",
|
||||
"Marie Reim",
|
||||
"Die Amigos",
|
||||
"Ben Zucker",
|
||||
"Luca Hänni",
|
||||
"Die Lauser",
|
||||
"Ralph Sieg",
|
||||
"Anni Perka",
|
||||
"Andy Borg",
|
||||
"Stereoact",
|
||||
"Calimeros",
|
||||
"Feuerherz",
|
||||
"Mary Roos",
|
||||
"Voxxclub",
|
||||
"Die Seer",
|
||||
"Michelle",
|
||||
"voXXclub",
|
||||
"DJ Ötzi",
|
||||
"Ragazzi",
|
||||
"Fantasy",
|
||||
"Nik P.",
|
||||
"Nockis",
|
||||
"Nicole",
|
||||
"Amigos",
|
||||
"Andita",
|
||||
"Belsy",
|
||||
"Harpo",
|
||||
];
|
||||
|
||||
const norm = (s: string) =>
|
||||
s.toLowerCase().replace(/[-\u2010-\u2015\u00ad]/g, " ").replace(/\s+/g, " ");
|
||||
|
||||
const NORMED = ARTISTS.map((a) => [a, norm(a)] as const);
|
||||
|
||||
/** Ime izvajalca iz naslova; prazen niz, ce ga ni na seznamu. */
|
||||
export function artistKey(title: string): string {
|
||||
const t = norm(title || "");
|
||||
let best = "";
|
||||
let bestPos = Infinity;
|
||||
for (const [orig, n] of NORMED) {
|
||||
const p = t.indexOf(n);
|
||||
if (p >= 0 && (p < bestPos || (p === bestPos && orig.length > best.length))) {
|
||||
best = orig;
|
||||
bestPos = p;
|
||||
}
|
||||
}
|
||||
return best ? norm(best) : "";
|
||||
}
|
||||
Reference in New Issue
Block a user