--- // TOC comes in as a prop from the consuming page (h2/h3 headings from the // markdown content, excluding ... blocks). import Subheader from '@ui/Subheader.astro' import Icon from '@ui/Icon.astro' import illustrations from '@data/illustrations.json' export interface TocItem { /** 2 or 3 (h2/h3); h3 gets the ms-3 indent */ level: number text: string /** anchor without '#', e.g. "default-markup" */ id: string } interface Props { toc?: TocItem[] /** "Edit this page" URL on GitHub; omitted for pages without a source file */ editUrl?: string | undefined /** URL of the file implementing the component, from the page's `source` front matter */ sourceUrl?: string | undefined } const { toc = [], editUrl, sourceUrl } = Astro.props const illustrationsCount = illustrations.length --- { toc.length > 0 && ( On this page ) }

{illustrationsCount} sleek illustrations for your startup's visual identity.

{ (sourceUrl || editUrl) && ( ) }