Repository navigation
Releases
v0.6.0
Phone drawer, light and dark themes. A minor release under 0.x, so it can break a site: see "Migrating from 0.5" in the README.
- The header collapses on phones (40rem and narrower), and wherever the links do not fit, into a square menu button on the left, the site title in the middle and a light/dark theme button on the right. The menu button opens the links in a drawer that slides in from the left. A link, the backdrop, the close button and Escape close it.
- The page follows the system colour scheme until the visitor presses the theme button. Every colour token, the rose theme included, holds a light and a dark value with
light-dark(). NewSiteConfig.themeColorLightsets the browser bar colour in the light theme. SiteHeaderhas a requiredtitleprop, and its markup changed (.header-bar,nav.nav-links,dialog.site-drawer).ProfileCardinverts its white social icons in the light theme.- Speculation rules prefetch only pages under the site's base path.
publish.ymlfails unless the release tag matches thepackage.jsonversion.
v0.5.2
Reusable workflow package-test.yml runs npm ci and npm test (Node 24) for a package other than the site, so a repository can gate its Pages deploy on its root tests. Every third-party action in the workflows is pinned to a commit SHA.
v0.5.1
Site workflows: optional path input (default .) to build and validate an Astro site in a subdirectory.
v0.5.0
Breaking changes
- Integration required. Add
astroShell({ config, styles })from
@brainage04/astro-shelltoastro.config.mjs. It sets the GitHub Pagessite/base
fromPUBLIC_SITE_URL/PUBLIC_BASE_PATH, provides the site config toSiteLayout,
loads site styles after the shell's, and injects/404. - SiteLayout reads config from the integration; don't spread
siteConfiginto it.
Props:title?(omit on the home page — thetitle === 'Home'check is gone),
description?,image?,ogType?,canonicalHref?. Delete localSiteLayout
wrappers and404.astro. - SiteConfig:
ownerHrefandownerNameare required (no brainage04 defaults).
New optionalyear. - Tokens renamed (old names removed):
--accent-cyan→--accent-primary--accent→--accent-secondary--accent-yellow→--accent-highlight--shadow-soft/--panel-shadow→--shadow-raised--font-body/--font-display→--font-mono--accent-greenremoved
.action-buttonnow controls its own size, so<button class="action-button">
matches<a class="action-button">. Dropis-="button"and any height workarounds.
Added
themes/rose.css- Components:
StatCard,ProfileCard - Utilities:
.meta-row,.section-heading,.chip-list,.table-wrap--stack,
site-wide reduced-motion rule - Presets:
@brainage04/astro-shell/eslint,/prettier,/tsconfig.json - Reusable workflows:
.github/workflows/site-validate.ymlandsite-deploy.yml
(workflow_call; the deploy workflow takes an optionalrefinput) @brainage04/astro-shell/navigation:isNavItemActive
Fixes
- Scanline overlay now sits behind content.
PageHeaderh1 is 16ch wide.- Number inputs use the
--control-*tokens. - A root-level
prefixnav item no longer matches every page under a non-root base. - Test files are no longer included in the package.
See the README's "Migrating from 0.4" section for step-by-step instructions.
AstroShell 0.4.2
Vertically center the shared not-found page content.
AstroShell 0.4.1
Standardize shared site configuration, reusable not-found UI, common visual utilities, and validation workflows.
v0.3.4
Simplifies shared page headers and increases narrow-screen content padding.
v0.3.3
Uses make-first wording in the shared site footer.
v0.3.2
Updates Astro to 7.1.3, adds standalone component diagnostics, and includes the Astro type environment.
v0.3.1
Forwards optional masthead branding through the shared SiteLayout component.