You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.2 KiB
2.2 KiB
title | date | tags | category | description | |
---|---|---|---|---|---|
Content Frontmatter Causes `astro build` Error? | 2024-11-24 |
|
Astro | Keep your eyes peeled for special characters. |
Another entry for this site. I ran pnpm run build
after adding yesterday's entry, and got this error:
✘ [ERROR] The build was canceled
end of the stream or a document separator is expected
Hint:
Browser APIs are not available on the server.
If the code is in a framework component, try to access these objects after rendering using lifecycle methods or use a `client:only` directive to make the component exclusively run on the client.
See https://docs.astro.build/en/guides/troubleshooting/#document-or-window-is-not-defined for more information.
Location:
/home/avraham/sakal.us/blog-astro/src/content/journal-entries/2024-11-23.md:1:7
Stack trace:
at generateError (/home/avraham/sakal.us/blog-astro/node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/loader.js:167:10)
at readDocument (/home/avraham/sakal.us/blog-astro/node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/loader.js:1545:5)
at load (/home/avraham/sakal.us/blog-astro/node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/loader.js:1614:19)
at module.exports (/home/avraham/sakal.us/blog-astro/node_modules/.pnpm/gray-matter@4.0.3/node_modules/gray-matter/lib/parse.js:12:17)
at matter (/home/avraham/sakal.us/blog-astro/node_modules/.pnpm/gray-matter@4.0.3/node_modules/gray-matter/index.js:50:10)
ELIFECYCLE Command failed with exit code 1.
I was obviously not using Browser APIs in an .md
file. But, it did report that file as the culprit (specifically, the first line), so I checked it out.
---
title: @astrojs/node Build Error
date: 2024-11-23
---
<... rest of the file...>
I noticed the @
was a different color than the rest of the line. I thought YAML interprets any non-digit character as the start of a string; but just in case I wrapped the line in quotes, and it worked!
---
title: "@astrojs/node Build Error"
date: 2024-11-23
---
<... rest of the file...>
It seems that the @
character signals an import from another file, and obviously there wasn't any so-named file.