It works, thanks for the help!

On Saturday, 1 July 2023 at 16:48:51 UTC+8 mf wrote:
Il 01/07/23 10:09, Sylvain Hubert ha scritto:
> ok just reverse-engineered it
> folloing https://github.com/jgm/pandoc/issues/8932#issuecomment-1614842929 :
>
> function CodeBlock(elem)
> return pandoc.Table(
>       {},
>       {"AlignDefault"},
>       {},
>       {{}},
>       {{{elem}}}
>     )
> end
>

This is the old version of tables, that now is called `SimpleTable`, see
https://pandoc.org/lua-filters.html#type-simpletable

You can use the same syntax with current pandoc this way:

```lua
t = pandoc.SimpleTable( {}, { "AlignDefault" }, {}, { {} }, { { { elem }
} } )
```

and then convert it to a Table with:

```lua
t2 = pandoc.utils.from_simple_table(t)
```

By the way, I noticed that there's no `pandoc.TableBody` constructor.

The only way I found is through a lua table like this:

```lua
body = {
attr = pandoc.Attr(),
head = {},
row_head_columns = 0,
body = { pandoc.Row( { pandoc.Cell( { elem } ) } ) }
}
```

So a minimal table is made like this:

```lua
t = pandoc.Table(
{}, -- empty caption
{ { 'AlignDefault', 0 } }, -- one column, default alignment and width
pandoc.TableHead(), -- empty table head
{ body }, -- a list of one body
pandoc.TableFoot() -- empty table foot
)
```


> On Saturday, 1 July 2023 at 15:58:34 UTC+8 Sylvain Hubert wrote:
>
> Hi all,
>
> I'm trying to create bounding boxes for code blocks by wrapping them
> inside tables.
> According to the manual, I should probably use some filter like:
>
>     function CodeBlock(elem)
>         return pandoc.Table(--[[... elem ...]])
>     end
>
> but pandoc.Table takes a giant syntax tree with levels of all sorts
> of nodes.
> Neither the manual nor the error message gives a useful guide of
> actually creating a table.
>
> Could anyone provide a minimal example of creating a pandoc.Table in
> a lua filter?
>
> Thanks
>
> --
> You received this message because you are subscribed to the Google
> Groups "pandoc-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
> <mailto:pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pandoc-discuss/4f0c1e08-60a7-4c97-9a7e-c3367ae32483n%40googlegroups.com <https://groups.google.com/d/msgid/pandoc-discuss/4f0c1e08-60a7-4c97-9a7e-c3367ae32483n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/ad7ee1d1-4fe1-4a87-9ef7-d38502db4a8en%40googlegroups.com.