export function slugify(text) { return text .toString() .normalize('NFD') .replace(/[\u0300-\u036f]/g, '') .toLowerCase() .replace(/[^a-z0-9]+/g, '-') .replace(/(^-|-$)+/g, ''); } export function formatYear(dateStr) { if (!dateStr) return ''; const d = new Date(dateStr); return isNaN(d) ? '' : d.getFullYear().toString(); } export function truncate(str, n) { return str?.length > n ? str.substr(0, n - 1) + '...' : str; }