Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
487 changes: 487 additions & 0 deletions claude-notes/plans/2026-08-14-format-css-not-copied.md

Large diffs are not rendered by default.

29 changes: 29 additions & 0 deletions claude-notes/plans/format-css-not-copied-investigation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Investigation artifacts for bd-format-css-not-copied-crn3bjdz

`repro/` is a minimal website project mirroring the external repro at
`~/repos/github/cscheid/q2-connect-docs/llms-info/repros/format-css-not-copied/`
(source of truth for the Q1 comparison table).

Run:

```bash
cargo run --bin q2 -- render claude-notes/plans/format-css-not-copied-investigation/repro
```

Expected (buggy) behavior at `main` @ `10d86829`, confirmed 2026-08-14:

- `_site/styles.css` and the extension css are **not written** anywhere in
the output tree;
- both `<link>` hrefs are emitted **verbatim at every depth**
(`styles.css` on `deep/deeper/index.html`, beside a correctly rebased
`../../site_libs/quarto/quarto-theme-*.css`);
- render is clean: exit 0, no diagnostic.

Note `_extensions/acme/widget/` deliberately contains only `widget.css` —
no `_extension.yml` — so no extension machinery is involved; the path just
happens to point into `_extensions/`.

The rendered `_site/` is not committed; re-render to regenerate.

See `claude-notes/plans/2026-08-14-format-css-not-copied.md` for the full
investigation and design questions.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
body { --repro-extension-css: 1; }
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
project:
type: website
website:
title: "format css"
format:
html:
css:
- styles.css
- _extensions/acme/widget/widget.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Deep page
---

Two directories below the site root.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Root page
---

At the site root.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
body { --repro-project-css: 1; }
6 changes: 6 additions & 0 deletions crates/quarto-core/src/pipeline.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1284,6 +1284,12 @@ pub fn build_transform_pipeline(
pipeline.push(Box::new(WebsiteFaviconTransform::new()));
pipeline.push(Box::new(WebsiteBootstrapIconsTransform::new()));
pipeline.push(Box::new(WebsiteCanonicalUrlTransform::new()));
// User-declared stylesheets (bd-format-css-not-copied-crn3bjdz):
// copy `css:` files into the output tree and rewrite the entries
// to per-page hrefs. Not website-scoped — default projects (and
// books, which ride the same dispatch) and single-doc renders get
// the same treatment. Self-gates to HTML-family formats.
pipeline.push(Box::new(crate::transforms::FormatCssTransform::new()));
// Draft marking (bd-draft-banner-missing-hgx1gkqm). Not website-scoped
// — a standalone `draft: true` document gets the banner too — but it
// belongs with the metadata producers above: it only writes
Expand Down
Loading
Loading