blume@1.1.1
Patch Changes
- b5ed87a: Add
seo.og.titlesto name the generated Open Graph card of a custom.astropage, keyed by route. A custom page has no frontmatter to read, so its card was titled by humanizing the last URL segment — turning/cliinto “Cli” with no way to say “CLI”. An entry here wins over the humanized segment;"/"addresses the home, whose card otherwise carries the site title. - 52cfa77: Give each GitHub-sourced changelog release page a unique meta description derived from its release notes, instead of every release falling back to the site-wide description. The summary is the notes reduced to plain text — section headings (“### Patch Changes”) and changesets’ commit-hash bullet prefixes dropped, code fences and link syntax stripped — then cut at a word boundary to fit the 110–160 character search-snippet range
blume auditchecks for. It’s carried asseo.description, so it feeds the meta/OG/Twitter description tags without adding a visible lede paragraph to the page. - 20ae16d: Fix
blume checkfailing on generated files under a strict tsconfig: island and example wrappers now mirror the wrapped component’s props ontoAstro.propsso required props type-check through the spread, and the OG endpoint’scustomRoutesarray is explicitly typed so an empty list is no longer an implicitany[]. - 9a6345f: Decouple Twoslash from the project’s hoisted TypeScript so sites can use TypeScript 7 (tsgo). The generated Astro config now wires in
blumeTwoslashTransformerfromblume/markdown, which compiles Twoslash fences with Blume’s own pinned classic TypeScript (passed explicitly astsModuleplustsLibDirectoryfor the default lib files) instead of resolving whatevertypescriptthe surrounding project installed — under TS7 that package’s main export is a version stub with no compiler API and nolib.*.d.tsfiles, so anytwoslashfence crashed the build. - 32ced54: Evaluate
{frontmatter.*}prop expressions when downleveling components for agent-facing output. Serializers — built-in andai.markdownComponents— now receive the same values the rendered page shows instead of empty props, and the page’s front-matter is exposed on the serializer context. - ff37999: Stop
blume auditflagging the changelog RSS feed link in llms.txt as a stale entry. The stale-entry check compared each llms.txt target against built pages only, but the generator itself links non-page assets — the changelog RSS feed — so a target the static file index serves now counts as valid, the same way redirect targets may land on a served asset. - f322ac1: Warn when an index page’s own frontmatter
titlediverges from its folder’s explicitmeta.title. The two are resolved independently, so a translator can update one and forget the other — the sidebar looks right while the page’s own<title>/heading stays stale. Reported asBLUME_NAV_INDEX_TITLE_MISMATCHfromblume doctor/blume check. A mismatch is reported once — untranslated pages filled in from the fallback locale are exempt, since their fix is translating the page, not editing the fallback locale’s frontmatter. - eb25103: Link Blume’s nested integrations into the generated runtime when npm’s split install hoists astro away from them. An
overridesastro pin plus an incrementalnpm install— the exact steps the Astro-conflict warning recommends — hoists astro to the project root while@astrojs/mdxand Blume’s other deps stay nested undernode_modules/blume/node_modules, so fresh checkouts andblume build --isolatedfailed withCannot find module '@astrojs/mdx'. The dependency link now probes for the integrations instead of astro alone and links the nested set, letting astro keep resolving from the hoisted copy. - 80dc1c1: Fail
blume build(exit 1) when any page fails frontmatter validation, instead of silently dropping the invalid pages and reporting a green build. Pass--no-strictto restore the old lenient behavior — the build then warns how many pages were dropped instead of printing an unqualified success. - 7c75bb8: Warn when two sidebar siblings (pages or folders) resolve to the same explicit or numeric
order, instead of silently falling back to an alphabetical tiebreak. Reported asBLUME_DUPLICATE_SIDEBAR_ORDERfromblume doctor/blume checkand any other diagnostics consumer.