--- interface Props { title: string; authors?: string[]; affiliation?: string; published?: string; } const { title, authors = [], affiliation, published } = Astro.props as Props; function slugify(text: string): string { return String(text || '') .normalize('NFKD') .replace(/\p{Diacritic}+/gu, '') .toLowerCase() .replace(/[^a-z0-9]+/g, '-') .replace(/^-+|-+$/g, '') .slice(0, 120) || 'article'; } const pdfFilename = `${slugify(title)}.pdf`; ---
{authors.length > 0 && (

Authors

{authors.join(', ')}

)} {affiliation && (

Affiliation

{affiliation}

)} {published && (

Published

{published}

)}

PDF