Files
rengine/shared/utils/slug.py
T

11 lines
277 B
Python

import re
def generate_slug(name: str) -> str:
"""Generate a URL-safe slug from a name."""
slug = name.lower().strip()
slug = re.sub(r"[^a-z0-9\s-]", "", slug)
slug = re.sub(r"[\s_]+", "-", slug)
slug = re.sub(r"-+", "-", slug)
return slug.strip("-")