Context Vigilance
The why beneath the code
Specs, habits, and reflections that shape how LFM is built. Versioned context, intentionally legible. The full LFM spec lives in astro-knots ; this page collects the LFM-specific notes that ride alongside the package.
issues
-
Heading Outline Cannot Distinguish Container Headings from Document Headings
`tree.data.headings` collects a `###` inside a `> [!info]` callout as a document section — right for anchors, wrong for a table of contents.
-
JSR Export Map Omits the Formats Subpaths
`deno.json` declares two exports; `package.json` declares six. The four it omits are the entire code-fence format registry — so the feature 0.4.1 was built around is unreachable for every consumer that installs from JSR, which is all nine of them.
general
-
Maintain Path Resolution for Wikilinks
How vault paths become site routes — the index cascade, why ambiguity refuses to guess, and the rule that every judgment call is a config field rather than a decision baked into the package.
-
Maintain Eyebrow, Heading and Subheading Blocks
Cards have had a three-part heading for years — eyebrow, heading, subheading — and long articles need it more than cards do. Three adjacent lines, one semantic unit, one `<hgroup>`, and only the middle one ever reaches the table of contents.
-
Maintain Table of Contents from the Heading Outline
`remarkHeadingIds` already attaches a ToC-ready outline. Nobody renders it: the outline is flat and can't flag headings buried in a callout.
-
Maintain Heading Anchors And Share Links
A fragment URL is a public contract, and we currently ship two incompatible definitions of it. This moves anchor identity into LFM as data, leaves the share affordance in the render layer, and fixes collisions nobody is handling.
-
Workspace vs JSR for LFM Consumers
Why most consumer sites should pin @lossless-group/lfm to JSR while exactly one acts as the local workspace sandbox — and the boring deploy-host failure mode that forces the discipline.
-
Maintain an Elegant Markdown and Extended Markdown Render Pipeline
-
Render AST in Debug
Exploration of AST structure at each stage of markdown processing to understand how to handle callouts
-
Maintain Figma Object Embeds Using Embed Kit
Embed live Figma files, frames, and prototypes inside markdown via the `:figma-embed` text directive — width, height, and auth-user as attributes.
-
Conditional Component Rendering in Layout Pipelines
Implement flexible layout component rendering with optional parameter controls for InfoSidebar and TableOfContents suppression
-
Maintain Directives In Extended Markdown Render Pipeline
Directives bring MDX like component rendering using special extended markdown syntax.
-
Maintain Embeddable Slides