Skip to content

All versions since 1.3.2

1.3.2

Fixed

  • H1/H2 now use Noto Serif (--nu-font-display), H3–H6 use Poppins (--nu-font-heading). Sizes, weights, and colors match the Department 4.0 stylesheet.
  • Poppins 400 loaded the Light file instead of Regular. Poppins 500 (Medium) added from v4 CDN.
  • Table headers now use --nu-purple-100 with white text.
  • Table striping moved to odd rows (#f9f6ff); dark mode uses rgb(78 42 132 / 10%).
  • --nu-purple-surface corrected to #f9f6ff, --nu-purple-surface-subtle to #f3f0f7.
  • Blockquote background uses #f9f6ff instead of translucent purple.
  • Horizontal rules use 3px --nu-purple-10 instead of 1px gray.
  • List markers use --nu-purple-100 instead of --nu-purple-40.

1.4.0

Added

  • Open Graph image generation: builds a branded 1200x630 PNG per docs page. Favicon logo, page title, and description on Northwestern purple with a light purple accent border. Slack, Teams, and social media link previews use these images.
    • Enabled by default. Set site in your Astro config. pnpm users: run pnpm add canvaskit-wasm to enable (build skips OG gracefully without it).
    • Disable with ogImage: false.
    • Adds og:image, og:image:type, og:image:width, og:image:height, og:image:alt, og:logo, twitter:image, and twitter:image:alt meta tags to every page. Overrides twitter:card to summary_large_image.
    • New dependency: astro-og-canvas.

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; h2h6 switched to Poppins.
  • Package exports map includes types fields pointing to dist/*.d.ts for all entry points.

1.5.1 Latest

Added

  • Legacy .html redirects. Sites migrated from VuePress had every page served at <slug>.html; external bookmarks and inbound links still point there. A new legacyHtmlRedirects option on defineNorthwesternConfig (default true) scans src/content/docs and emits a redirect from <slug>.html to the canonical <slug>/ URL for every page, with the URL hash preserved on forward so deep links like #schedule-management still land on the right anchor.