---
/**
* The resume: at a glance with the PDF, highlights, skills and education in
* the sidebar, and the experience timeline. Every word comes from the Resume
* notes and the /resume Page text; the PDF is built from the same data.
*/
import Button from "@gk/ui/components/Button.astro";
import Chip from "@gk/ui/components/Chip.astro";
import GiltCorners from "@gk/ui/components/GiltCorners.astro";
import Icon from "@gk/ui/components/Icon.astro";
import PageShell from "@gk/ui/components/PageShell.astro";
import Seal from "@gk/ui/components/Seal.astro";
import Star from "@gk/ui/components/Star.astro";
import StarPath from "@gk/ui/components/StarPath.astro";
import TickRing from "@gk/ui/components/TickRing.astro";
import TickScale from "@gk/ui/components/TickScale.astro";
import { site } from "../lib/page.ts";
import { listOf, period, resumeData } from "../lib/resume.ts";
import { formatDate } from "../lib/site.ts";
const s = await site();
const r = resumeData(s);
const caseStudies = s.caseStudies();
const isCore = (group: { core?: string[] }, item: string) => group.core?.some((c) => c.toLowerCase() === item.toLowerCase()) ?? false;
---