packages feed

pandoc-lua-marshal-0.1.2: CHANGELOG.md

# Changelog

`pandoc-lua-marshal` uses [PVP Versioning][].

## 0.1.2

Released 2021-12-10.

-   Restored backward compatible retrieval of Rows. Cells can be
    either a userdata value or a table.

## 0.1.1

Released 2021-12-10.

### Behavior of Lua objects

-   Lists of Inline values and lists of Block values are now
    pushed with their own metatables (named "Inlines" and
    "Blocks").

-   The types `Block`, `Blocks`, `Inline`, `Inlines`, and
    `Pandoc` now all have a method `walk` that applies a filter
    to the document subtree.

-   Changed behavior for *Cell* values: these are now pushed as
    userdata; the old table-based structure is still accepted
    when retrieving a Cell from the stack.

### Haskell code

-   Module Text.Pandoc.Lua.Marshal.Cell exports the constructor
    function `mkCell`, the type definition `typeCell` and the
    fuzzy peeker `peekCellFuzzy`.

-   Added a new module `Text.Pandoc.Lua.Marshal.Filter` that
    handles Lua filters.

-   Added functions for filtering:

    -   Module Text.Pandoc.Lua.Marshal.Block:
        -   `walkBlockSplicing`: walk an AST element, applying a
            filter on each Block and splicing the result back
            into the list.
        -   `walkBlocks`: walk an AST element, modifying lists of
            Block elements by applying the `Blocks` filter
            function.
    -   Module Text.Pandoc.Lua.Marshal.Inline:
        -   `walkInlineSplicing`: walk an AST element, applying a
            filter on each Inline and splicing the result back
            into the list.
        -   `walkInlines`: walk an AST element, modifying lists
            of Inline elements by applying the `Inlines` filter
            function.

    -   Module Text.Pandoc.Lua.Marshal.Pandoc:
        -   `applyFully`: fully apply a filter on a Pandoc
            document.

-   New internal modules:

    -   Text.Pandoc.Lua.SpliceList: defines a helper type used to
        walk a list of elements in a way that replaces the
        element by splicing the function result back into the
        list.

        The module is a slight rewrite of pandoc’s
        `SingletonsList`.

    -   Text.Pandoc.Lua.Walk: handles walking of the document
        tree while modifying elements via filter functions. This
        is a re-implementation of large parts of pandoc’s
        T.P.Lua.Filter module.

    -   Text.Pandoc.Lua.Marshal.Shared: provides helper functions
        used in multiple Lua type definitions.

## 0.1.0.1

Released 2021-11-28.

-   Added test-simpletable.lua to the list of extra-source-files.

## 0.1.0

Released 2021-11-28.

-   Released into the wild. May it live long and prosper.

  [PVP Versioning]: https://pvp.haskell.org