/** * Derives a URL-friendly slug from a display name. * Lowercases, collapses non-alphanumeric runs to hyphens, strips leading/trailing hyphens. * * Examples: * "My Cool Category" → "my-cool-category" * " Off-Topic Chat! " → "off-topic-chat" */ export function deriveSlug(name: string): string { return name .toLowerCase() .replace(/[^a-z0-9]+/g, "-") .replace(/^-|-$/g, ""); }