Skip to content Version 1.5.0
Added
defineNorthwesternConfig config helper. Single function that returns a complete Astro config with integration ordering (mermaid → starlight), plugin registration, and Expressive Code. Replaces the manual defineConfig + starlight() + northwesternMermaid() wiring. New ./config package export.
- Automatic Expressive Code line numbers.
defineNorthwesternConfig injects pluginLineNumbers() and GitHub syntax themes (github-dark / github-light). No ec.config.mjs file needed. A Vite plugin separates serializable config from plugin instances so the <Code> Astro component continues to work.
- Type declarations (
.d.ts) shipped for all public exports.
- OG images for changelog version pages with multi-line titles (e.g., “Changelog / 1.4.0”).
- JSON-LD structured data on each page.
- Unit test suite (Vitest) covering
config.ts, expressive-code.ts, mermaid.ts, and rehype-table-scroll.ts. E2E tests moved to tests/e2e/. CI runs unit tests in a dedicated job.
Fixed
- Replaced
astro-og-canvas + canvaskit-wasm with satori + @resvg/resvg-wasm. pnpm users no longer need canvaskit-wasm as a direct dependency.
- OG image generation logs a warning and disables when Starlight
title is empty or site is not set, instead of crashing or producing broken URLs.
- OG font buffer uses correct
Uint8Array offset slicing instead of casting the full backing ArrayBuffer.
- Larger OG text: title 48→56px, description 28→32px, logo 60→80px. Separate vertical (60px) and horizontal (220px) padding to avoid clipping.
- Runtime config validation now catches invalid theme, Mermaid, and config-helper options with friendly errors at the public API boundary instead of failing later with cryptic behavior.
- Rehype table scroll skips tables already inside
.nu-table-scroll, preventing double-wrapping on incremental rebuilds.
- Aside borders use solid brand colors (
#5091cd, #008656, #ffc520, #ef553f) and a 3px left accent stripe instead of a translucent 1px box border. Dark mode borders match the text accent for each variant.
Changed
h1 keeps Noto Serif; h2–h6 switched to Poppins.
- Package
exports map includes types fields pointing to dist/*.d.ts for all entry points.