packages/core/src/slug.ts
/** Deterministic slug helpers shared by web routes + sitemap. */
export function slugify(s: string): string {
return s
.toLowerCase()
.normalize("NFKD")
.replace(/[̀-ͯ]/g, "") // strip accents
.replace(/['’.]/g, "")
.replace(/[^a-z0-9]+/g, "-")
.replace(/^-+|-+$/g, "");
}
export const episodePath = (season: number, episode: number) =>
`/episodes/${season}/${episode}`;
export const castPath = (name: string) => `/cast/${slugify(name)}`;