Releases: kpab/astro-keel
Releases · kpab/astro-keel
Release list
v0.2.0 — search, i18n, comments, and a verified 100
The first release since the initial cut, and a large one — search, pagination, generated OG images, view transitions, opt-in comments, and localizable UI strings.
Because Astro Keel is a template, upgrading means porting the changes you want into your own copy. Every entry below names the files it touches.
Live demo: https://kpab.github.io/astro-keel/
Added
- Static search at
/search, powered by Pagefind and indexed at build time via apostbuildscript — zero backend. - Pagination on the blog index and tag archives, 10 posts per page (
src/components/Pagination.astro). - Auto-generated Open Graph images for every post and work, rendered at build time with
satori+sharp(src/pages/og/[collection]/[slug].png.ts). - Reading time on blog posts, via a
remarkplugin (remark-reading-time.mjs). - View Transitions —
<ClientRouter />for soft navigation, with the theme toggle, Pagefind, and code-copy buttons re-initialized onastro:page-load/astro:after-swap. - Localizable UI strings — every string the theme renders comes from a typed dictionary in
src/i18n/, selected by a newSITE.locale. One line also drives<html lang>,og:locale,Intldate formatting, and the RSS<language>element.enandjaship with the theme. - Optional Giscus comments on blog posts (
GISCUSinsrc/consts.ts), off by default — a disabled build emits no Giscus markup, styles, or script at all. When enabled it lazy-loads, follows the light/dark toggle live, and falls back to a Discussions link if the embed never appears. - JSON-LD structured data —
WebSiteon the home page,BlogPosting+BreadcrumbListon posts. - Copy buttons on code blocks, previous / next post navigation, and a related posts section matched on shared tags.
- Configurable social links in the footer via
SOCIAL_LINKS, rendered as inline SVG icons. - Custom 404 page, sticky top bar on scroll, a default OG image, work thumbnails, and a hero image for the sample posts.
- Community health files — issue forms, a pull request template,
CONTRIBUTING.md, and a changelog.
Changed
minutesReadis now a number, not a preformatted"3 min read"string. If you readremarkPluginFrontmatter.minutesReadin a template of your own, route it through thereadingTime()helper insrc/i18n/. The Content Layer caches rendered frontmatter, so deletenode_modules/.astro/once after upgrading — clearing the repo-root.astro/is not enough.- Site identity is centralized in
src/consts.ts; content images recompressed; README rewritten with a badge header and light/dark previews.
Fixed
- Filled buttons now pass WCAG AA in dark mode. The dark-scheme accent is light, so near-white label text only reached a 2.53:1 contrast ratio. A new per-scheme
--color-on-accenttoken fixes it — every demo page now scores 100 / 100 / 100 / 100 in Lighthouse. - Mobile theme-toggle placement, section padding behind the works list and about ledger, and hero sizing so the call to action stays above the fold.
Getting started:
npm create astro@latest -- --template kpab/astro-keelFull changelog: https://github.com/kpab/astro-keel/blob/main/CHANGELOG.md#020---2026-08-03
Diff: v0.1.0...v0.2.0
v0.1.0 — initial release
Initial release of Astro Keel — a minimal, neutral, and modern portfolio + blog theme for Astro 7.
Added
- Astro 7 project with MDX,
@astrojs/sitemap, and@astrojs/rss. worksandblogcontent collections on the Content Layer API, with listing and detail pages for each.- Per-tag blog archives at
/blog/tags/[tag]. - RSS feed at
/rss.xml. - Structural-minimalist design system: OKLCH theme tokens, a single
--color-accentvariable, and self-hosted Fraunces / Public Sans / JetBrains Mono via@fontsource. - Light and dark mode honoring
prefers-color-scheme, with a header toggle persisted tolocalStorageand no flash on load. - Shiki dual themes emitted as CSS variables so highlighting follows the active color scheme.
- Canonical URLs, Open Graph, and Twitter card meta in the base layout.
- Base-path-aware internal links through
withBase()(src/lib/url.ts). - GitHub Pages deployment workflow (
.github/workflows/deploy.yml), building on Node 22. npm run check(astro check) wired up, MIT license, and the theme README.
Getting started
npm create astro@latest -- --template kpab/astro-keelLive demo: https://kpab.github.io/astro-keel/
Full changelog: https://github.com/kpab/astro-keel/blob/main/CHANGELOG.md