Bausteine: slugify mit Umlauten, deutsche Zeit, Sperren
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a3faa1aff1
commit
679f996597
6 files changed
+144
No files matched your search
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* URL-/Dateiname-taugliches Kuerzel aus beliebigem Text: klein geschrieben, deutsche
|
||||
* Umlaute ausgeschrieben (ä→ae, ö→oe, ü→ue, ß→ss), Akzente entfernt, Apostrophe entfernt,
|
||||
* alles ausser a-z/0-9/- wird zu einem einzelnen '-', Rand-Bindestriche entfernt, auf
|
||||
* 100 Zeichen gekuerzt. Kein Text (z. B. null/undefined) ergibt ''.
|
||||
*/
|
||||
export function slugify(value) {
|
||||
const input = value === null || value === undefined ? '' : String(value)
|
||||
|
||||
return input
|
||||
.toLowerCase()
|
||||
.replace(/ä/g, 'ae')
|
||||
.replace(/ö/g, 'oe')
|
||||
.replace(/ü/g, 'ue')
|
||||
.replace(/ß/g, 'ss')
|
||||
.normalize('NFD')
|
||||
.replace(/\p{M}/gu, '')
|
||||
.replace(/['’‘`]/g, '')
|
||||
.replace(/[^a-z0-9-]+/g, '-')
|
||||
.replace(/^-+|-+$/g, '')
|
||||
.slice(0, 100)
|
||||
}
|
||||
Reference in new issue
Block a user