From a0e21c1b78286e39be3664709d375dbe11a73149 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Wed, 19 Aug 2026 14:11:22 -0400 Subject: [PATCH] feat(components): add reusable Astro components and documentation --- src/components/AGENTS.md | 43 ++++++++ src/components/BaseHead.astro | 103 +++++++++++++++++ src/components/ExperienceTags.astro | 25 +++++ src/components/FormattedDate.astro | 16 +++ src/components/Paginator.astro | 29 +++++ src/components/Search.astro | 19 ++++ src/components/SkipLink.astro | 3 + src/components/TagList.astro | 27 +++++ src/components/ThemeProvider.astro | 48 ++++++++ src/components/ThemeToggle.astro | 90 +++++++++++++++ src/components/YouTube.astro | 19 ++++ src/components/blog/AGENTS.md | 32 ++++++ src/components/blog/Masthead.astro | 62 +++++++++++ src/components/blog/PostPreview.astro | 35 ++++++ src/components/blog/TOC.astro | 22 ++++ src/components/blog/TOCHeading.astro | 27 +++++ src/components/blog/webmentions/AGENTS.md | 26 +++++ .../blog/webmentions/Comments.astro | 87 +++++++++++++++ src/components/blog/webmentions/Likes.astro | 52 +++++++++ src/components/blog/webmentions/index.astro | 23 ++++ src/components/layout/AGENTS.md | 30 +++++ src/components/layout/Footer.astro | 45 ++++++++ src/components/layout/Header.astro | 104 ++++++++++++++++++ src/components/project/AGENTS.md | 25 +++++ src/components/project/Project.astro | 67 +++++++++++ 25 files changed, 1059 insertions(+) create mode 100644 src/components/AGENTS.md create mode 100644 src/components/BaseHead.astro create mode 100644 src/components/ExperienceTags.astro create mode 100644 src/components/FormattedDate.astro create mode 100644 src/components/Paginator.astro create mode 100644 src/components/Search.astro create mode 100644 src/components/SkipLink.astro create mode 100644 src/components/TagList.astro create mode 100644 src/components/ThemeProvider.astro create mode 100644 src/components/ThemeToggle.astro create mode 100644 src/components/YouTube.astro create mode 100644 src/components/blog/AGENTS.md create mode 100644 src/components/blog/Masthead.astro create mode 100644 src/components/blog/PostPreview.astro create mode 100644 src/components/blog/TOC.astro create mode 100644 src/components/blog/TOCHeading.astro create mode 100644 src/components/blog/webmentions/AGENTS.md create mode 100644 src/components/blog/webmentions/Comments.astro create mode 100644 src/components/blog/webmentions/Likes.astro create mode 100644 src/components/blog/webmentions/index.astro create mode 100644 src/components/layout/AGENTS.md create mode 100644 src/components/layout/Footer.astro create mode 100644 src/components/layout/Header.astro create mode 100644 src/components/project/AGENTS.md create mode 100644 src/components/project/Project.astro diff --git a/src/components/AGENTS.md b/src/components/AGENTS.md new file mode 100644 index 0000000..f162f44 --- /dev/null +++ b/src/components/AGENTS.md @@ -0,0 +1,43 @@ + + + +# components + +## Purpose +Reusable `.astro` components for layout, content rendering, theming, search, and SEO. + +## Key Files +| File | Description | +|------|-------------| +| `BaseHead.astro` | All `` tags: title, meta, canonical, Open Graph/Twitter, favicons, RSS auto-discovery, webmentions. | +| `ExperienceTags.astro` | Renders linked chips for an entry's `experiences` refs; resolves them with `getEntries` and links to `/experience/`. Used by Masthead, Project, and the speaking page. | +| `YouTube.astro` | Responsive YouTube embed (`youtube-nocookie.com/embed/`). Used on speaking detail pages. No external player dependency. | +| `FormattedDate.astro` | `