diff --git a/public/terencio-agozzino-master-thesis.pdf b/public/terencio-agozzino-master-thesis.pdf new file mode 100644 index 0000000..d6f26cd Binary files /dev/null and b/public/terencio-agozzino-master-thesis.pdf differ diff --git a/src/components/Experience.astro b/src/components/Experience.astro index c957083..ea81f57 100644 --- a/src/components/Experience.astro +++ b/src/components/Experience.astro @@ -1,5 +1,12 @@ --- -import { experience } from '../data/profile'; +import { experience, type Mission } from '../data/profile'; + +/** Splits a summary around its linked phrase, when it has one. */ +function split({ summary, link }: Mission): (string | NonNullable)[] { + const at = link ? summary.indexOf(link.text) : -1; + if (!link || at < 0) return [summary]; + return [summary.slice(0, at), link, summary.slice(at + link.text.length)]; +} ---
@@ -28,7 +35,17 @@ import { experience } from '../data/profile';

{missions.length > 1 ? `${mission.period} · ${mission.place}` : mission.place}

-

{mission.summary}

+

+ {split(mission).map((part) => + typeof part === 'string' ? ( + part + ) : ( + + {part.text} + + ), + )} +