This repository was archived by the owner on Apr 27, 2026. It is now read-only.
Repository navigation
fix: inject CSS layer order as inline style in dev mode - #168
Merged
Merged
Conversation
Use `registry ?? undefined` when passing to slotChildrenToHtml() since the parameter accepts `Registry | undefined` but the local variable is `Registry | null`. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…content - Fix stripCodeFences regex to use `[ \t]*$` for closers (per CommonMark spec) and disallow backticks in info strings, preventing mismatched fence pairs with consecutive code blocks - Add tab-to-space re-indentation for list JSX components (FileTree etc.) - Add code fence tracking in normalize_list_jsx_components to skip fenced content - Track fence marker length to prevent premature closes with nested fences - Add FileTree to LIST_JSX_COMPONENTS Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Track fence opener indent and allow closers within opener_indent+3, matching CommonMark spec while supporting list-item code fences. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace virtual CSS module approach with direct <style is:inline> injection into <head> for dev mode. Virtual CSS modules are loaded via HMR JS which races with other component styles, causing @layer order declarations to arrive too late. Inline styles in <head> are processed synchronously by the browser, ensuring correct layer ordering. - transform hook: replace import prepend with <style is:inline> injection - Remove virtual module resolveId/load for layer-order.css - Add Head.astro overlay with transition:persist for view transitions - Update setup script to copy src/ overlay files Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
# Conflicts: # crates/core/src/transform/jsx_normalize.rs # packages/astro-markflow/src/utils/mdx-detection.ts
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
Tight lists (spread: false) now render without <p> wrappers around list item content, matching CommonMark behavior and fixing FileTree icon/filename layout where <p> (block element) forced line breaks. - Add spread field to Scope::List to track tight vs loose lists - Skip <p> wrapper in Node::Paragraph when inside a tight list - Add is_in_tight_list() helper to Context Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The wrap_in_ul normalization path in render.rs dissolved FileTree into raw <ul> HTML, bypassing the component wrapper. Starlight's FileTree runtime and CSS never applied, causing icons and text to render on separate lines. Remove the early-return path and let FileTree flow through the normal component path, where codegen.rs already handles wrap_in_ul normalization correctly. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The orchestrator's normalizeFileTree transform operated on the final JSX string, looking for <FileTree>...<ul>...</ul>...</FileTree>. With FileTree now emitted as a component block, the slot content is wrapped in <_Fragment set:html=...>, which normalizeFileTree couldn't recognize as already containing <ul> structure. This caused double <ul><ul> nesting. The block-level normalizeSlotByStrategy in blocks-to-jsx.ts already handles wrap_in_ul normalization correctly at the block level. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
virtual:markflow/layer-order.css) with direct<style is:inline>injection into<head>in the Vitetransformhook@layerorder declarations arrive too late and don't take effect<head>are processed synchronously by the browser, ensuring correct CSS layer ordering in dev modeHead.astrooverlay withtransition:persistfor view transitions compatibilityTest plan
pnpm --dir packages/astro-markflow run buildpassespnpm --dir packages/astro-markflow run typecheckpasses