13 lines
283 B
TypeScript
13 lines
283 B
TypeScript
export function slugify(input: string): string {
|
|
const s = input
|
|
.trim()
|
|
.toLowerCase()
|
|
.normalize("NFD")
|
|
.replace(/[\u0300-\u036f]/g, "");
|
|
const slug = s
|
|
.replace(/[^a-z0-9]+/g, "-")
|
|
.replace(/^-+|-+$/g, "")
|
|
.slice(0, 96);
|
|
return slug || "kurs";
|
|
}
|