Declared Stylesheet Not Found
css: entry names a stylesheet that does not exist, so it was not copied into the output.
Q-5-29 — Declared Stylesheet Not Found
A
css:entry names a stylesheet that does not exist, so it was not copied into the output. Every page linking it will request a file that is not there. The render continues; the (broken) link is still emitted.
What this means
A document or project can attach extra stylesheets to its HTML
output with the css option:
# _quarto.yml
format:
html:
css:
- styles.cssQuarto resolves each entry relative to the file that declares
it: entries in _quarto.yml resolve against the project root,
entries in a directory’s _metadata.yml against that directory, and
entries in a document’s front matter against the document’s own
directory. A leading / anchors the path at the project root from
any of those places.
When the resolved file exists, Quarto copies it into the output
tree and emits a depth-correct <link> on every page. This warning
fires when the file does not exist: nothing is copied, and the
<link> is emitted with the path exactly as you wrote it — visibly
broken in the browser’s network tab rather than silently absent.
Common causes
- A typo in the path, or a file that was moved or renamed
without updating the
cssentry. - A path written relative to the wrong anchor — for example, a
document in
posts/2026/declaringcss: styles.cssfor a file that actually lives at the project root. From front matter that entry namesposts/2026/styles.css; write/styles.css(or../../styles.css) instead. - A stylesheet that is generated later by a tool that has not run yet.
How to fix it
Check the path in the css entry against the anchor of the file
that declares it, or add the missing stylesheet. If the stylesheet
belongs to the project as a whole, declaring it once in
_quarto.yml (project-root-relative) is usually clearer than
repeating it per document.