I was trying to re-render a Quarto document after adding some more code. The code previously rendered fine.
However, this time the render failed, with this error:
Error in yaml::yaml.load(meta, handlers = list(expr = parse_only)) :
Parser error: while parsing a block mapping at line 1, column 1 did not find expected key at line 2, column 27
Calls: .main ... FUN -> parse_block -> partition_chunk -> <Anonymous>
Execution halted
I thought this was referring to the YAML bit at the top, but I hadn't made any changes to that, and the document previously rendered fine. I simplified the YAML to the simplest case, but the error persisted.
---
title: "Test"
format: html
---
```{r}
#| label: tbl-exibble
#| tbl-cap: "Exibble Bla Bla")
gt::gt(exibble)
```
This was caused by a typo - I'm posting this and answering it here because I think the error message is not particularly helpful and it might mislead other people
The bug lies in the table caption chunk option, not in the YAML block at the start.
I had an extra )
at the end of the line; this fixed it:
---
title: "Test"
format: html
---
```{r}
#| label: tbl-exibble
#| tbl-cap: "Exibble Bla Bla"
gt::gt(exibble)
So if you get YAML parser errors similar to mine, please check your YAML; not only in the top part of the Quarto document, but also in your chunk options.