From acbea6b8c610dba4b63c0f6063c51b26ab9d2b76 Mon Sep 17 00:00:00 2001 From: Albert Krewinkel Date: Mon, 21 Sep 2020 00:48:31 +0200 Subject: Lua filters: add SimpleTable for backwards compatibility (#6575) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A new type `SimpleTable` is made available to Lua filters. It is similar to the `Table` type in pandoc versions before 2.10; conversion functions from and to the new Table type are provided. Old filters using tables now require minimal changes and can use, e.g., if PANDOC_VERSION > {2,10,1} then pandoc.Table = pandoc.SimpleTable end and function Table (tbl) tbl = pandoc.utils.to_simple_table(tbl) … return pandoc.utils.from_simple_table(tbl) end to work with the current pandoc version. --- data/pandoc.lua | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'data') diff --git a/data/pandoc.lua b/data/pandoc.lua index d031bf5d0..35ca20a84 100644 --- a/data/pandoc.lua +++ b/data/pandoc.lua @@ -1058,6 +1058,30 @@ M.ListAttributes.behavior.__pairs = function(t) return make_next_function(fields), t, nil end +-- +-- Legacy and compatibility types +-- + +--- Creates a simple (old style) table element. +-- @function SimpleTable +-- @tparam {Inline,...} caption table caption +-- @tparam {AlignDefault|AlignLeft|AlignRight|AlignCenter,...} aligns alignments +-- @tparam {int,...} widths column widths +-- @tparam {Block,...} headers header row +-- @tparam {{Block,...}} rows table rows +-- @treturn Block table element +M.SimpleTable = function(caption, aligns, widths, headers, rows) + return { + caption = ensureInlineList(caption), + aligns = List:new(aligns), + widths = List:new(widths), + headers = List:new(headers), + rows = List:new(rows), + tag = "SimpleTable", + t = "SimpleTable", + } +end + ------------------------------------------------------------------------ -- Constants -- cgit v1.2.3