Age | Commit message (Collapse) | Author | Files | Lines |
|
The new `pandoc.Inlines` function behaves identical on string input, but
allows other Inlines-like arguments as well.
The `pandoc.utils.text` function could be written as
function pandoc.utils.text (x)
assert(type(x) == 'string')
return pandoc.Inlines(x)
end
|
|
|
|
The functions convert their argument into a list of Block and Inline
values, respectively.
|
|
The function converts a string to `Inlines`, treating interword spaces
as `Space`s or `SoftBreak`s. If you want a `Str` with literal spaces,
use `pandoc.Str`.
Closes: #7709
|
|
The `lpeg` and `re` modules are loaded into globals of the respective
name, but they are not necessarily registered as loaded packages. This
ensures that
- the built-in library versions are preferred when setting the globals,
- a shared library is used if pandoc has been compiled without `lpeg`,
and
- the `require` mechanism can be used to load the shared library if
available, falling back to the internal version if possible and
necessary.
|
|
|
|
Reader options can now be passed as an optional third argument to
`pandoc.read`. The object can either be a table or a ReaderOptions value
like `PANDOC_READER_OPTIONS`. Creating new ReaderOptions objects is
possible through the new constructor `pandoc.ReaderOptions`.
Closes: #7656
|
|
|
|
|
|
Ensure consistency throughout docs
|
|
|
|
|
|
This commit fixes the typo in the Lua filters documentation, see #7159
|
|
The documentation for Lua filters said "The this module defines..."
This has been fixed to say "This module defines..."
|
|
|
|
|
|
|
|
|
|
The module allows to work with file paths in a convenient and
platform-independent manner.
Closes: #6001
Closes: #6565
|
|
|
|
Closes #6795, thanks to Odin Kroeger.
|
|
Use American spelling.
|
|
|
|
Add info on debugging Lua filters.
|
|
|
|
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.
|
|
This makes the example a bit more realistic/valuable by checking if the metadata value "date" is already present, before changing the value.
|
|
|
|
|
|
The example is outdated and requires a complete overhaul.
|
|
|
|
This changes the Lua API. It is highly unlikely for this change to
affect existing filters, since the documentation for the new Table
constructor (and type) was incomplete and partly wrong before.
The Lua API is now more consistent, as all constructors for elements
with attributes now take attributes as the last parameter.
|
|
|
|
|
|
Showcase temporary directory handling with `with_temporary_directory`
and `with_working_directory`.
|
|
Change description of BulletList parameter from 'List of Blocks' to 'List of List of Blocks'.
|
|
Closes: #6040
|
|
Lists of Inline and Block elements can now be filtered via `Inlines` and
`Blocks` functions, respectively. This is helpful if a filter conversion
depends on the order of elements rather than a single element.
For example, the following filter can be used to remove all spaces
before a citation:
function isSpaceBeforeCite (spc, cite)
return spc and spc.t == 'Space'
and cite and cite.t == 'Cite'
end
function Inlines (inlines)
for i = #inlines-1,1,-1 do
if isSpaceBeforeCite(inlines[i], inlines[i+1]) then
inlines:remove(i)
end
end
return inlines
end
Closes: #6038
|
|
This follows the advise on the Lua
website (https://www.lua.org/about.html#name):
> […] "Lua" is a name, the name of the Earth's moon and the name of the
> language. Like most names, it should be written in lower case with an
> initial capital, that is, "Lua".
|
|
Thanks to @bpj for the idea.
|
|
The functions `table.insert`, `table.remove`, and `table.sort` are added
to pandoc.List elements. They can be used as methods, e.g.
local numbers = pandoc.List {2, 3, 1}
numbers:sort() -- numbers is now {1, 2, 3}
|
|
|
|
Links and anchors now follow consistent conventions, like lowercase-only
anchor names.
This breaks some links to specific sections in the document, but will
make it much easier to link documentation in the future.
|
|
It is now possible to construct a new List via `pandoc.List()` instead of
`pandoc.List:new()`.
|
|
|
|
Metadata defaults can be given via the command line `--metadata-file`.
Adding raw format snippets is a common use case for Lua filters, so it
seems sensible to provide an example.
Thanks to @efx for proposing this filter.
Closes: pandoc/lua-filters#70
|
|
|
|
See: #5892
|
|
Closes #5851.
We avoid the failure with a boolean value by simply checking
to make sure we have a table before indexing.
|
|
See: #5851
|