Skip to content

Lua filter error with gfm for a crossref figure  #10358

@cderv

Description

@cderv

The following example throws an error on quarto 1.5.54

---
title: "Minimal example"
format: gfm
---

```{python}
#| label: fig-sin
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,1,10)
y = np.sin(x)

plt.plot(x,y)
```

The error is the following:

Error running filter /home/opt/quarto-1.5.54/share/filters/main.lua:
Block, list of Blocks, or compatible element expected, got table
        while retrieving function argument blocks
        while retrieving arguments for function Blocks
stack traceback:
        /home/opt/quarto-1.5.54/share/filters/main.lua:22460: in field 'render'
        /home/opt/quarto-1.5.54/share/filters/main.lua:1233: in local 'filter_fn'
        /home/opt/quarto-1.5.54/share/filters/main.lua:635: in function </home/opt/quarto-1.5.54/share/filters/main.lua:625>
        (...tail calls...)
        [C]: in ?
        [C]: in method 'walk'
        /home/opt/quarto-1.5.54/share/filters/main.lua:557: in function </home/opt/quarto-1.5.54/share/filters/main.lua:546>
        (...tail calls...)
        /home/opt/quarto-1.5.54/share/filters/main.lua:1334: in local 'callback'
        /home/opt/quarto-1.5.54/share/filters/main.lua:1352: in upvalue 'run_emulated_filter_chain'
        /home/opt/quarto-1.5.54/share/filters/main.lua:1388: in function </home/opt/quarto-1.5.54/share/filters/main.lua:1385>
stack traceback:
        /home/opt/quarto-1.5.54/share/filters/main.lua:557: in function </home/opt/quarto-1.5.54/share/filters/main.lua:546>
        (...tail calls...)
        /home/opt/quarto-1.5.54/share/filters/main.lua:1334: in local 'callback'
        /home/opt/quarto-1.5.54/share/filters/main.lua:1352: in upvalue 'run_emulated_filter_chain'
        /home/opt/quarto-1.5.54/share/filters/main.lua:1388: in function </home/opt/quarto-1.5.54/share/filters/main.lua:1385>

It sounds like it has something to do with the gfm output format, it works correctly if I render to html. The first time I encountered this bug I was rendering my project to both gfm and html, and changing that to just render html works as expected. I was using gfm because it gives a nice preview on GitHub.

Originally posted by @mbellitti in #9334 (comment)

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingcrossrefluaIssues related to the lua codebase, filter chain, etcmarkdownRelated to markdown-like output format

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions