2017-09-30 16:45:31 +02:00
|
|
|
|
---
|
2017-11-21 01:51:45 +01:00
|
|
|
|
author:
|
|
|
|
|
- Albert Krewinkel
|
|
|
|
|
- John MacFarlane
|
2020-01-11 00:19:26 +01:00
|
|
|
|
date: 'January 10, 2020'
|
2017-12-29 07:02:59 +01:00
|
|
|
|
title: Pandoc Lua Filters
|
2017-09-30 16:45:31 +02:00
|
|
|
|
---
|
2017-08-22 07:14:26 +02:00
|
|
|
|
|
|
|
|
|
# Introduction
|
|
|
|
|
|
|
|
|
|
Pandoc has long supported filters, which allow the pandoc
|
|
|
|
|
abstract syntax tree (AST) to be manipulated between the parsing
|
2018-09-08 01:29:21 +02:00
|
|
|
|
and the writing phase. [Traditional pandoc
|
2019-08-08 20:21:31 +02:00
|
|
|
|
filters](https://pandoc.org/filters.html) accept a JSON
|
|
|
|
|
representation of the pandoc AST and produce an altered JSON
|
|
|
|
|
representation of the AST. They may be written in any
|
|
|
|
|
programming language, and invoked from pandoc using the
|
|
|
|
|
`--filter` option.
|
2017-08-22 07:14:26 +02:00
|
|
|
|
|
|
|
|
|
Although traditional filters are very flexible, they have a
|
2017-09-30 16:45:31 +02:00
|
|
|
|
couple of disadvantages. First, there is some overhead in
|
|
|
|
|
writing JSON to stdout and reading it from stdin (twice, once on
|
|
|
|
|
each side of the filter). Second, whether a filter will work
|
|
|
|
|
will depend on details of the user's environment. A filter may
|
|
|
|
|
require an interpreter for a certain programming language to be
|
|
|
|
|
available, as well as a library for manipulating the pandoc AST
|
|
|
|
|
in JSON form. One cannot simply provide a filter that can be
|
|
|
|
|
used by anyone who has a certain version of the pandoc
|
|
|
|
|
executable.
|
2017-08-22 07:14:26 +02:00
|
|
|
|
|
2020-01-11 00:19:26 +01:00
|
|
|
|
Starting with version 2.0, pandoc makes it possible to write
|
2020-01-12 11:22:20 +01:00
|
|
|
|
filters in Lua without any external dependencies at all. A Lua
|
|
|
|
|
interpreter (version 5.3) and a Lua library for creating pandoc
|
2019-11-13 08:16:51 +01:00
|
|
|
|
filters is built into the pandoc executable. Pandoc data types
|
2020-01-12 11:22:20 +01:00
|
|
|
|
are marshalled to Lua directly, avoiding the overhead of writing
|
2017-08-22 07:14:26 +02:00
|
|
|
|
JSON to stdout and reading it from stdin.
|
|
|
|
|
|
2020-01-12 11:22:20 +01:00
|
|
|
|
Here is an example of a Lua filter that converts strong emphasis
|
2017-08-22 07:14:26 +02:00
|
|
|
|
to small caps:
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-08-22 07:14:26 +02:00
|
|
|
|
return {
|
|
|
|
|
{
|
|
|
|
|
Strong = function (elem)
|
|
|
|
|
return pandoc.SmallCaps(elem.c)
|
|
|
|
|
end,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
2017-08-21 16:53:00 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
or equivalently,
|
2017-08-21 16:53:00 +02:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-08-22 07:14:26 +02:00
|
|
|
|
function Strong(elem)
|
|
|
|
|
return pandoc.SmallCaps(elem.c)
|
|
|
|
|
end
|
|
|
|
|
```
|
2017-08-21 16:53:00 +02:00
|
|
|
|
|
2017-09-30 16:45:31 +02:00
|
|
|
|
This says: walk the AST, and when you find a Strong element,
|
2017-08-22 07:14:26 +02:00
|
|
|
|
replace it with a SmallCaps element with the same content.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
To run it, save it in a file, say `smallcaps.lua`, and invoke
|
|
|
|
|
pandoc with `--lua-filter=smallcaps.lua`.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2019-08-08 20:02:23 +02:00
|
|
|
|
Here's a quick performance comparison, converting the pandoc
|
|
|
|
|
manual (MANUAL.txt) to HTML, with versions of the same JSON
|
|
|
|
|
filter written in compiled Haskell (`smallcaps`) and interpreted
|
|
|
|
|
Python (`smallcaps.py`):
|
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Command Time
|
|
|
|
|
--------------------------------------- -------
|
|
|
|
|
`pandoc` 1.01s
|
|
|
|
|
`pandoc --filter ./smallcaps` 1.36s
|
|
|
|
|
`pandoc --filter ./smallcaps.py` 1.40s
|
|
|
|
|
`pandoc --lua-filter ./smallcaps.lua` 1.03s
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2020-01-12 11:22:20 +01:00
|
|
|
|
As you can see, the Lua filter avoids the substantial overhead
|
2017-08-22 07:14:26 +02:00
|
|
|
|
associated with marshalling to and from JSON over a pipe.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
# Lua filter structure
|
|
|
|
|
|
|
|
|
|
Lua filters are tables with element names as keys and values
|
|
|
|
|
consisting of functions acting on those elements.
|
|
|
|
|
|
|
|
|
|
Filters are expected to be put into separate files and are
|
|
|
|
|
passed via the `--lua-filter` command-line argument. For
|
|
|
|
|
example, if a filter is defined in a file `current-date.lua`,
|
|
|
|
|
then it would be applied like this:
|
|
|
|
|
|
|
|
|
|
pandoc --lua-filter=current-date.lua -f markdown MANUAL.txt
|
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
The `--lua-filter` option may be supplied multiple times. Pandoc
|
2017-12-26 19:33:10 +01:00
|
|
|
|
applies all filters (including JSON filters specified via
|
2020-01-12 11:22:20 +01:00
|
|
|
|
`--filter` and Lua filters specified via `--lua-filter`) in the
|
2017-12-29 07:02:59 +01:00
|
|
|
|
order they appear on the command line.
|
2017-08-22 07:14:26 +02:00
|
|
|
|
|
2020-01-12 11:22:20 +01:00
|
|
|
|
Pandoc expects each Lua file to return a list of filters. The
|
2017-08-22 07:14:26 +02:00
|
|
|
|
filters in that list are called sequentially, each on the result
|
|
|
|
|
of the previous filter. If there is no value returned by the
|
|
|
|
|
filter script, then pandoc will try to generate a single filter
|
|
|
|
|
by collecting all top-level functions whose names correspond to
|
|
|
|
|
those of pandoc elements (e.g., `Str`, `Para`, `Meta`, or
|
2017-09-30 16:45:31 +02:00
|
|
|
|
`Pandoc`). (That is why the two examples above are equivalent.)
|
2017-08-22 07:14:26 +02:00
|
|
|
|
|
|
|
|
|
For each filter, the document is traversed and each element
|
|
|
|
|
subjected to the filter. Elements for which the filter contains
|
2020-01-12 11:22:20 +01:00
|
|
|
|
an entry (i.e. a function of the same name) are passed to Lua
|
2017-09-30 16:45:31 +02:00
|
|
|
|
element filtering function. In other words, filter entries will
|
2017-08-22 07:14:26 +02:00
|
|
|
|
be called for each corresponding element in the document,
|
|
|
|
|
getting the respective element as input.
|
|
|
|
|
|
2017-09-17 10:34:24 +02:00
|
|
|
|
The return of a filter function must one of the following:
|
|
|
|
|
|
|
|
|
|
- nil: this means that the object should remain unchanged.
|
|
|
|
|
- a pandoc object: this must be of the same type as the input
|
|
|
|
|
and will replace the original object.
|
|
|
|
|
- a list of pandoc objects: these will replace the original
|
2019-08-08 20:21:31 +02:00
|
|
|
|
object; the list is merged with the neighbors of the
|
|
|
|
|
original objects (spliced into the list the original object
|
|
|
|
|
belongs to); returning an empty list deletes the object.
|
2017-09-17 10:34:24 +02:00
|
|
|
|
|
|
|
|
|
The function's output must result in an element of the same type
|
|
|
|
|
as the input. This means a filter function acting on an inline
|
|
|
|
|
element must return either nil, an inline, or a list of inlines,
|
|
|
|
|
and a function filtering a block element must return one of nil,
|
|
|
|
|
a block, or a list of block elements. Pandoc will throw an error
|
|
|
|
|
if this condition is violated.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2017-08-30 15:09:54 +02:00
|
|
|
|
If there is no function matching the element's node type, then
|
|
|
|
|
the filtering system will look for a more general fallback
|
|
|
|
|
function. Two fallback functions are supported, `Inline` and
|
|
|
|
|
`Block`. Each matches elements of the respective type.
|
|
|
|
|
|
2017-04-30 15:55:45 +02:00
|
|
|
|
Elements without matching functions are left untouched.
|
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
See [module documentation](#module-pandoc) for a list of pandoc
|
|
|
|
|
elements.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2020-01-15 23:26:00 +01:00
|
|
|
|
## Filters on element sequences
|
|
|
|
|
|
2020-07-09 16:17:56 +02:00
|
|
|
|
For some filtering tasks, it is necessary to know the order
|
2020-01-15 23:26:00 +01:00
|
|
|
|
in which elements occur in the document. It is not enough then to
|
|
|
|
|
inspect a single element at a time.
|
|
|
|
|
|
|
|
|
|
There are two special function names, which can be used to define
|
|
|
|
|
filters on lists of blocks or lists of inlines.
|
|
|
|
|
|
|
|
|
|
[`Inlines (inlines)`]{#inlines-filter}
|
|
|
|
|
: If present in a filter, this function will be called on all
|
|
|
|
|
lists of inline elements, like the content of a [Para]
|
|
|
|
|
(paragraph) block, or the description of an [Image]. The
|
|
|
|
|
`inlines` argument passed to the function will be a [List] of
|
|
|
|
|
[Inlines] for each call.
|
|
|
|
|
|
|
|
|
|
[`Blocks (blocks)`]{#blocks-filter}
|
|
|
|
|
: If present in a filter, this function will be called on all
|
|
|
|
|
lists of block elements, like the content of a [MetaBlocks]
|
|
|
|
|
meta element block, on each item of a list, and the main
|
|
|
|
|
content of the [Pandoc] document. The `blocks` argument
|
2020-01-18 22:02:52 +01:00
|
|
|
|
passed to the function will be a [List] of [Blocks] for each
|
2020-01-15 23:26:00 +01:00
|
|
|
|
call.
|
|
|
|
|
|
|
|
|
|
These filter functions are special in that the result must either
|
|
|
|
|
be nil, in which case the list is left unchanged, or must be a
|
|
|
|
|
list of the correct type, i.e., the same type as the input
|
|
|
|
|
argument. Single elements are **not** allowed as return values,
|
|
|
|
|
as a single element in this context usually hints at a bug.
|
|
|
|
|
|
|
|
|
|
See ["Remove spaces before normal citations"][Inlines filter
|
|
|
|
|
example] for an example.
|
|
|
|
|
|
|
|
|
|
This functionality has been added in pandoc 2.9.2.
|
|
|
|
|
|
|
|
|
|
[Inlines filter example]: #remove-spaces-before-citations
|
|
|
|
|
|
|
|
|
|
## Execution Order
|
2020-01-11 00:19:26 +01:00
|
|
|
|
|
|
|
|
|
Element filter functions within a filter set are called in a
|
|
|
|
|
fixed order, skipping any which are not present:
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
1. functions for [*Inline* elements](#type-inline),
|
2020-01-15 23:26:00 +01:00
|
|
|
|
2. the [`Inlines`](#inlines-filter) filter function,
|
2020-01-11 20:55:02 +01:00
|
|
|
|
2. functions for [*Block* elements](#type-block) ,
|
2020-01-15 23:26:00 +01:00
|
|
|
|
2. the [`Blocks`](#inlines-filter) filter function,
|
2020-01-11 20:55:02 +01:00
|
|
|
|
3. the [`Meta`](#type-meta) filter function, and last
|
|
|
|
|
4. the [`Pandoc`](#type-pandoc) filter function.
|
2020-01-11 00:19:26 +01:00
|
|
|
|
|
|
|
|
|
It is still possible to force a different order by explicitly
|
|
|
|
|
returning multiple filter sets. For example, if the filter for
|
|
|
|
|
*Meta* is to be run before that for *Str*, one can write
|
|
|
|
|
|
|
|
|
|
``` lua
|
|
|
|
|
-- ... filter definitions ...
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
{ Meta = Meta }, -- (1)
|
|
|
|
|
{ Str = Str } -- (2)
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Filter sets are applied in the order in which they are returned.
|
|
|
|
|
All functions in set (1) are thus run before those in (2),
|
|
|
|
|
causing the filter function for *Meta* to be run before the
|
|
|
|
|
filtering of *Str* elements is started.
|
|
|
|
|
|
2018-02-24 23:32:03 +01:00
|
|
|
|
## Global variables
|
|
|
|
|
|
|
|
|
|
Pandoc passes additional data to Lua filters by setting global
|
|
|
|
|
variables.
|
|
|
|
|
|
|
|
|
|
`FORMAT`
|
|
|
|
|
: The global `FORMAT` is set to the format of the pandoc
|
|
|
|
|
writer being used (`html5`, `latex`, etc.), so the behavior
|
|
|
|
|
of a filter can be made conditional on the eventual output
|
|
|
|
|
format.
|
|
|
|
|
|
|
|
|
|
`PANDOC_READER_OPTIONS`
|
|
|
|
|
: Table of the options which were provided to the parser.
|
|
|
|
|
|
|
|
|
|
`PANDOC_VERSION`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: Contains the pandoc version as a [Version] object which
|
|
|
|
|
behaves like a numerically indexed table, most significant
|
|
|
|
|
number first. E.g., for pandoc 2.7.3, the value of the
|
|
|
|
|
variable is equivalent to a table `{2, 7, 3}`. Use
|
|
|
|
|
`tostring(PANDOC_VERSION)` to produce a version string. This
|
|
|
|
|
variable is also set in custom writers.
|
2018-02-24 23:32:03 +01:00
|
|
|
|
|
|
|
|
|
`PANDOC_API_VERSION`
|
|
|
|
|
: Contains the version of the pandoc-types API against which
|
|
|
|
|
pandoc was compiled. It is given as a numerically indexed
|
|
|
|
|
table, most significant number first. E.g., if pandoc was
|
|
|
|
|
compiled against pandoc-types 1.17.3, then the value of the
|
2019-05-19 15:26:00 +02:00
|
|
|
|
variable will behave like the table `{1, 17, 3}`. Use
|
|
|
|
|
`tostring(PANDOC_API_VERSION)` to produce a version string.
|
|
|
|
|
This variable is also set in custom writers.
|
2018-02-24 23:32:03 +01:00
|
|
|
|
|
|
|
|
|
`PANDOC_SCRIPT_FILE`
|
|
|
|
|
: The name used to involve the filter. This value can be used
|
|
|
|
|
to find files relative to the script file. This variable is
|
|
|
|
|
also set in custom writers.
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2018-10-26 07:12:14 +02:00
|
|
|
|
`PANDOC_STATE`
|
|
|
|
|
: The state shared by all readers and writers. It is used by
|
|
|
|
|
pandoc to collect and pass information. The value of this
|
2020-01-11 20:55:02 +01:00
|
|
|
|
variable is of type [CommonState] and
|
2018-10-26 07:12:14 +02:00
|
|
|
|
is read-only.
|
2017-09-27 05:20:09 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
# Pandoc Module
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2020-01-12 11:22:20 +01:00
|
|
|
|
The `pandoc` Lua module is loaded into the filter's Lua
|
2017-08-22 07:14:26 +02:00
|
|
|
|
environment and provides a set of functions and constants to
|
|
|
|
|
make creation and manipulation of elements easier. The global
|
|
|
|
|
variable `pandoc` is bound to the module and should generally
|
|
|
|
|
not be overwritten for this reason.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
Two major functionalities are provided by the module: element
|
|
|
|
|
creator functions and access to some of pandoc's main
|
|
|
|
|
functionalities.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
## Element creation
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
Element creator functions like `Str`, `Para`, and `Pandoc` are
|
|
|
|
|
designed to allow easy creation of new elements that are simple
|
2020-01-12 11:22:20 +01:00
|
|
|
|
to use and can be read back from the Lua environment.
|
|
|
|
|
Internally, pandoc uses these functions to create the Lua
|
2017-08-22 07:14:26 +02:00
|
|
|
|
objects which are passed to element filter functions. This means
|
|
|
|
|
that elements created via this module will behave exactly as
|
|
|
|
|
those elements accessible through the filter function parameter.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
## Exposed pandoc functionality
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2020-01-12 11:22:20 +01:00
|
|
|
|
Some pandoc functions have been made available in Lua:
|
2017-10-03 23:20:48 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
- [`walk_block`](#pandoc.walk_block) and
|
|
|
|
|
[`walk_inline`](#pandoc.walk_inline) allow filters to be applied
|
2017-12-29 07:02:59 +01:00
|
|
|
|
inside specific block or inline elements;
|
2020-01-11 20:55:02 +01:00
|
|
|
|
- [`read`](#pandoc.read) allows filters to parse strings into pandoc
|
2017-12-29 07:02:59 +01:00
|
|
|
|
documents;
|
2020-01-11 20:55:02 +01:00
|
|
|
|
- [`pipe`](#pandoc.pipe) runs an external command with input from and
|
2017-12-29 07:02:59 +01:00
|
|
|
|
output to strings;
|
|
|
|
|
- the [`pandoc.mediabag`](#module-pandoc.mediabag) module
|
|
|
|
|
allows access to the "mediabag," which stores binary content
|
|
|
|
|
such as images that may be included in the final document;
|
|
|
|
|
- the [`pandoc.utils`](#module-pandoc.utils) module contains
|
|
|
|
|
various utility functions.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2017-12-06 20:45:38 +01:00
|
|
|
|
# Lua interpreter initialization
|
|
|
|
|
|
2019-02-09 22:56:49 +01:00
|
|
|
|
Initialization of pandoc's Lua interpreter can be controlled by
|
|
|
|
|
placing a file `init.lua` in pandoc's data directory. A common
|
|
|
|
|
use-case would be to load additional modules, or even to alter
|
|
|
|
|
default modules.
|
2017-12-06 20:45:38 +01:00
|
|
|
|
|
2019-02-09 22:56:49 +01:00
|
|
|
|
The following snippet is an example of code that might be useful
|
|
|
|
|
when added to `init.lua`. The snippet adds all unicode-aware
|
2019-08-08 20:21:31 +02:00
|
|
|
|
functions defined in the [`text` module](#module-text) to the
|
|
|
|
|
default `string` module, prefixed with the string `uc_`.
|
2017-12-06 20:45:38 +01:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-12-06 20:45:38 +01:00
|
|
|
|
for name, fn in pairs(require 'text') do
|
|
|
|
|
string['uc_' .. name] = fn
|
|
|
|
|
end
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
This makes it possible to apply these functions on strings using
|
|
|
|
|
colon syntax (`mystring:uc_upper()`).
|
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
# Examples
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
The following filters are presented as examples. A repository of
|
2020-01-12 11:22:20 +01:00
|
|
|
|
useful Lua filters (which may also serve as good examples) is
|
2019-08-08 20:21:31 +02:00
|
|
|
|
available at <https://github.com/pandoc/lua-filters>.
|
2018-09-08 01:29:21 +02:00
|
|
|
|
|
2019-12-17 19:01:42 +01:00
|
|
|
|
## Macro substitution
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
The following filter converts the string `{{helloworld}}` into
|
|
|
|
|
emphasized text "Hello, World".
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-04-30 15:55:45 +02:00
|
|
|
|
return {
|
|
|
|
|
{
|
|
|
|
|
Str = function (elem)
|
|
|
|
|
if elem.text == "{{helloworld}}" then
|
|
|
|
|
return pandoc.Emph {pandoc.Str "Hello, World"}
|
|
|
|
|
else
|
|
|
|
|
return elem
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2019-12-23 01:09:30 +01:00
|
|
|
|
## Center images in LaTeX and HTML output
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2019-12-23 01:09:30 +01:00
|
|
|
|
For LaTeX, wrap an image in LaTeX snippets which cause the image
|
|
|
|
|
to be centered horizontally. In HTML, the image element's style
|
|
|
|
|
attribute is used to achieve centering.
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2019-12-23 01:09:30 +01:00
|
|
|
|
-- Filter images with this function if the target format is LaTeX.
|
|
|
|
|
if FORMAT:match 'latex' then
|
|
|
|
|
function Image (elem)
|
|
|
|
|
-- Surround all images with image-centering raw LaTeX.
|
|
|
|
|
return {
|
|
|
|
|
pandoc.RawInline('latex', '\\hfill\\break{\\centering'),
|
|
|
|
|
elem,
|
|
|
|
|
pandoc.RawInline('latex', '\\par}')
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
end
|
2017-04-30 15:55:45 +02:00
|
|
|
|
|
2019-12-23 01:09:30 +01:00
|
|
|
|
-- Filter images with this function if the target format is HTML
|
|
|
|
|
if FORMAT:match 'html' then
|
|
|
|
|
function Image (elem)
|
|
|
|
|
-- Use CSS style to center image
|
|
|
|
|
elem.attributes.style = 'margin:auto; display: block;'
|
|
|
|
|
return elem
|
|
|
|
|
end
|
|
|
|
|
end
|
2017-04-30 15:55:45 +02:00
|
|
|
|
```
|
2017-06-28 15:31:42 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
## Setting the date in the metadata
|
|
|
|
|
|
|
|
|
|
This filter sets the date in the document's metadata to the
|
|
|
|
|
current date:
|
2017-08-14 18:57:01 +02:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-08-14 18:57:01 +02:00
|
|
|
|
function Meta(m)
|
|
|
|
|
m.date = os.date("%B %e, %Y")
|
|
|
|
|
return m
|
|
|
|
|
end
|
|
|
|
|
```
|
|
|
|
|
|
2020-01-15 23:26:00 +01:00
|
|
|
|
## Remove spaces before citations
|
|
|
|
|
|
|
|
|
|
This filter removes all spaces preceding an "author-in-text"
|
|
|
|
|
citation. In Markdown, author-in-text citations (e.g.,
|
|
|
|
|
`@citekey`), must be preceded by a space. If these spaces are
|
|
|
|
|
undesired, they must be removed with a filter.
|
|
|
|
|
|
|
|
|
|
``` lua
|
|
|
|
|
local function is_space_before_author_in_text(spc, cite)
|
|
|
|
|
return spc and spc.t == 'Space'
|
|
|
|
|
and cite and cite.t == 'Cite'
|
|
|
|
|
-- there must be only a single citation, and it must have
|
|
|
|
|
-- mode 'AuthorInText'
|
|
|
|
|
and #cite.citations == 1
|
|
|
|
|
and cite.citations[1].mode == 'AuthorInText'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function Inlines (inlines)
|
|
|
|
|
-- Go from end to start to avoid problems with shifting indices.
|
|
|
|
|
for i = #inlines-1, 1, -1 do
|
|
|
|
|
if is_space_before_author_in_text(inlines[i], inlines[i+1]) then
|
|
|
|
|
inlines:remove(i)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
return inlines
|
|
|
|
|
end
|
|
|
|
|
```
|
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
## Replacing placeholders with their metadata value
|
|
|
|
|
|
|
|
|
|
Lua filter functions are run in the order
|
|
|
|
|
|
|
|
|
|
> *Inlines → Blocks → Meta → Pandoc*.
|
2017-08-21 19:00:51 +02:00
|
|
|
|
|
2017-08-22 07:14:26 +02:00
|
|
|
|
Passing information from a higher level (e.g., metadata) to a
|
|
|
|
|
lower level (e.g., inlines) is still possible by using two
|
|
|
|
|
filters living in the same file:
|
2017-08-21 19:00:51 +02:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-08-21 19:00:51 +02:00
|
|
|
|
local vars = {}
|
|
|
|
|
|
|
|
|
|
function get_vars (meta)
|
|
|
|
|
for k, v in pairs(meta) do
|
2019-11-03 06:55:58 +01:00
|
|
|
|
if type(v) == 'table' and v.t == 'MetaInlines' then
|
|
|
|
|
vars["%" .. k .. "%"] = {table.unpack(v)}
|
2017-08-21 19:00:51 +02:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function replace (el)
|
|
|
|
|
if vars[el.text] then
|
|
|
|
|
return pandoc.Span(vars[el.text])
|
|
|
|
|
else
|
|
|
|
|
return el
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return {{Meta = get_vars}, {Str = replace}}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
If the contents of file `occupations.md` is
|
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` markdown
|
2017-08-21 19:00:51 +02:00
|
|
|
|
---
|
2017-08-22 07:14:26 +02:00
|
|
|
|
name: Samuel Q. Smith
|
|
|
|
|
occupation: Professor of Phrenology
|
2017-08-21 19:00:51 +02:00
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
Name
|
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
: %name%
|
2017-08-21 19:00:51 +02:00
|
|
|
|
|
|
|
|
|
Occupation
|
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
: %occupation%
|
2017-08-21 19:00:51 +02:00
|
|
|
|
```
|
|
|
|
|
|
2017-09-30 16:45:31 +02:00
|
|
|
|
then running `pandoc --lua-filter=meta-vars.lua occupations.md`
|
|
|
|
|
will output:
|
2017-08-21 19:00:51 +02:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` html
|
2017-08-21 19:00:51 +02:00
|
|
|
|
<dl>
|
|
|
|
|
<dt>Name</dt>
|
2017-08-22 07:14:26 +02:00
|
|
|
|
<dd><p><span>Samuel Q. Smith</span></p>
|
2017-08-21 19:00:51 +02:00
|
|
|
|
</dd>
|
|
|
|
|
<dt>Occupation</dt>
|
2017-08-22 07:14:26 +02:00
|
|
|
|
<dd><p><span>Professor of Phrenology</span></p>
|
2017-08-21 19:00:51 +02:00
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
```
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2017-11-12 01:18:39 +01:00
|
|
|
|
## Modifying pandoc's `MANUAL.txt` for man pages
|
2017-11-11 17:01:38 +01:00
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
This is the filter we use when converting `MANUAL.txt` to man
|
|
|
|
|
pages. It converts level-1 headers to uppercase (using
|
|
|
|
|
`walk_block` to transform inline elements inside headers),
|
|
|
|
|
removes footnotes, and replaces links with regular text.
|
2017-11-11 17:01:38 +01:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-11-18 22:33:37 +01:00
|
|
|
|
-- we use preloaded text to get a UTF-8 aware 'upper' function
|
|
|
|
|
local text = require('text')
|
|
|
|
|
|
2017-11-11 17:01:38 +01:00
|
|
|
|
function Header(el)
|
2017-11-12 01:18:39 +01:00
|
|
|
|
if el.level == 1 then
|
|
|
|
|
return pandoc.walk_block(el, {
|
2017-11-11 17:01:38 +01:00
|
|
|
|
Str = function(el)
|
2017-11-18 22:33:37 +01:00
|
|
|
|
return pandoc.Str(text.upper(el.text))
|
2017-11-11 17:01:38 +01:00
|
|
|
|
end })
|
2017-11-12 01:18:39 +01:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function Link(el)
|
|
|
|
|
return el.content
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function Note(el)
|
|
|
|
|
return {}
|
2017-11-11 17:01:38 +01:00
|
|
|
|
end
|
|
|
|
|
```
|
|
|
|
|
|
2017-11-13 00:36:11 +01:00
|
|
|
|
## Creating a handout from a paper
|
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
This filter extracts all the numbered examples, section headers,
|
|
|
|
|
block quotes, and figures from a document, in addition to any
|
|
|
|
|
divs with class `handout`. (Note that only blocks at the "outer
|
|
|
|
|
level" are included; this ignores blocks inside nested
|
|
|
|
|
constructs, like list items.)
|
2017-11-13 00:36:11 +01:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-11-13 06:48:47 +01:00
|
|
|
|
-- creates a handout from an article, using its headings,
|
|
|
|
|
-- blockquotes, numbered examples, figures, and any
|
|
|
|
|
-- Divs with class "handout"
|
|
|
|
|
|
2017-11-13 00:36:11 +01:00
|
|
|
|
function Pandoc(doc)
|
|
|
|
|
local hblocks = {}
|
|
|
|
|
for i,el in pairs(doc.blocks) do
|
|
|
|
|
if (el.t == "Div" and el.classes[1] == "handout") or
|
|
|
|
|
(el.t == "BlockQuote") or
|
|
|
|
|
(el.t == "OrderedList" and el.style == "Example") or
|
2017-11-13 00:51:10 +01:00
|
|
|
|
(el.t == "Para" and #el.c == 1 and el.c[1].t == "Image") or
|
2017-11-13 00:36:11 +01:00
|
|
|
|
(el.t == "Header") then
|
|
|
|
|
table.insert(hblocks, el)
|
|
|
|
|
end
|
|
|
|
|
end
|
2017-11-13 00:38:10 +01:00
|
|
|
|
return pandoc.Pandoc(hblocks, doc.meta)
|
2017-11-13 00:36:11 +01:00
|
|
|
|
end
|
|
|
|
|
```
|
|
|
|
|
|
2017-11-13 06:48:47 +01:00
|
|
|
|
## Counting words in a document
|
|
|
|
|
|
|
|
|
|
This filter counts the words in the body of a document (omitting
|
2017-12-29 07:02:59 +01:00
|
|
|
|
metadata like titles and abstracts), including words in code. It
|
|
|
|
|
should be more accurate than `wc -w` run directly on a Markdown
|
|
|
|
|
document, since the latter will count markup characters, like
|
|
|
|
|
the `#` in front of an ATX header, or tags in HTML documents, as
|
|
|
|
|
words. To run it, `pandoc --lua-filter wordcount.lua myfile.md`.
|
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-11-13 06:48:47 +01:00
|
|
|
|
-- counts words in a document
|
|
|
|
|
|
|
|
|
|
words = 0
|
|
|
|
|
|
|
|
|
|
wordcount = {
|
|
|
|
|
Str = function(el)
|
|
|
|
|
-- we don't count a word if it's entirely punctuation:
|
2017-11-13 06:55:10 +01:00
|
|
|
|
if el.text:match("%P") then
|
2017-11-13 06:48:47 +01:00
|
|
|
|
words = words + 1
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
|
|
|
|
|
Code = function(el)
|
|
|
|
|
_,n = el.text:gsub("%S+","")
|
|
|
|
|
words = words + n
|
|
|
|
|
end,
|
|
|
|
|
|
|
|
|
|
CodeBlock = function(el)
|
|
|
|
|
_,n = el.text:gsub("%S+","")
|
|
|
|
|
words = words + n
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function Pandoc(el)
|
|
|
|
|
-- skip metadata, just count body:
|
|
|
|
|
pandoc.walk_block(pandoc.Div(el.blocks), wordcount)
|
|
|
|
|
print(words .. " words in body")
|
|
|
|
|
os.exit(0)
|
|
|
|
|
end
|
|
|
|
|
```
|
|
|
|
|
|
2017-10-03 23:20:48 +02:00
|
|
|
|
## Converting ABC code to music notation
|
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
This filter replaces code blocks with class `abc` with images
|
|
|
|
|
created by running their contents through `abcm2ps` and
|
|
|
|
|
ImageMagick's `convert`. (For more on ABC notation, see
|
2019-05-02 02:09:36 +02:00
|
|
|
|
<https://abcnotation.com>.)
|
2017-10-03 23:20:48 +02:00
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
Images are added to the mediabag. For output to binary formats,
|
|
|
|
|
pandoc will use images in the mediabag. For textual formats, use
|
|
|
|
|
`--extract-media` to specify a directory where the files in the
|
|
|
|
|
mediabag will be written, or (for HTML only) use
|
|
|
|
|
`--self-contained`.
|
2017-10-03 23:20:48 +02:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-10-03 23:20:48 +02:00
|
|
|
|
-- Pandoc filter to process code blocks with class "abc" containing
|
|
|
|
|
-- ABC notation into images.
|
|
|
|
|
--
|
|
|
|
|
-- * Assumes that abcm2ps and ImageMagick's convert are in the path.
|
|
|
|
|
-- * For textual output formats, use --extract-media=abc-images
|
|
|
|
|
-- * For HTML formats, you may alternatively use --self-contained
|
|
|
|
|
|
|
|
|
|
local filetypes = { html = {"png", "image/png"}
|
|
|
|
|
, latex = {"pdf", "application/pdf"}
|
|
|
|
|
}
|
|
|
|
|
local filetype = filetypes[FORMAT][1] or "png"
|
|
|
|
|
local mimetype = filetypes[FORMAT][2] or "image/png"
|
|
|
|
|
|
|
|
|
|
local function abc2eps(abc, filetype)
|
|
|
|
|
local eps = pandoc.pipe("abcm2ps", {"-q", "-O", "-", "-"}, abc)
|
|
|
|
|
local final = pandoc.pipe("convert", {"-", filetype .. ":-"}, eps)
|
|
|
|
|
return final
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function CodeBlock(block)
|
|
|
|
|
if block.classes[1] == "abc" then
|
|
|
|
|
local img = abc2eps(block.text, filetype)
|
|
|
|
|
local fname = pandoc.sha1(img) .. "." .. filetype
|
|
|
|
|
pandoc.mediabag.insert(fname, mimetype, img)
|
|
|
|
|
return pandoc.Para{ pandoc.Image({pandoc.Str("abc tune")}, fname) }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
```
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Building images with Ti*k*Z
|
2017-11-21 21:20:28 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
This filter converts raw LaTeX Ti*k*Z environments into images. It
|
|
|
|
|
works with both PDF and HTML output. The Ti*k*Z code is compiled
|
2019-08-08 20:21:31 +02:00
|
|
|
|
to an image using `pdflatex`, and the image is converted from
|
|
|
|
|
pdf to svg format using
|
|
|
|
|
[`pdf2svg`](https://github.com/dawbarton/pdf2svg), so both of
|
|
|
|
|
these must be in the system path. Converted images are cached in
|
|
|
|
|
the working directory and given filenames based on a hash of the
|
|
|
|
|
source, so that they need not be regenerated each time the
|
|
|
|
|
document is built. (A more sophisticated version of this might
|
|
|
|
|
put these in a special cache directory.)
|
2017-12-29 07:02:59 +01:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2020-05-25 09:10:26 +02:00
|
|
|
|
local system = require 'pandoc.system'
|
|
|
|
|
|
|
|
|
|
local tikz_doc_template = [[
|
|
|
|
|
\documentclass{standalone}
|
|
|
|
|
\usepackage{xcolor}
|
|
|
|
|
\usepackage{tikz}
|
|
|
|
|
\begin{document}
|
|
|
|
|
\nopagecolor
|
|
|
|
|
%s
|
|
|
|
|
\end{document}
|
|
|
|
|
]]
|
|
|
|
|
|
2017-11-21 21:20:28 +01:00
|
|
|
|
local function tikz2image(src, filetype, outfile)
|
2020-05-25 09:10:26 +02:00
|
|
|
|
system.with_temporary_directory('tikz2image', function (tmpdir)
|
|
|
|
|
system.with_working_directory(tmpdir, function()
|
|
|
|
|
local f = io.open('tikz.tex', 'w')
|
|
|
|
|
f:write(tikz_doc_template:format(src))
|
|
|
|
|
f:close()
|
|
|
|
|
os.execute('pdflatex tikz.tex')
|
|
|
|
|
if filetype == 'pdf' then
|
|
|
|
|
os.rename('tikz.pdf', outfile)
|
|
|
|
|
else
|
|
|
|
|
os.execute('pdf2svg tikz.pdf ' .. outfile)
|
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
end)
|
2017-11-21 21:20:28 +01:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
extension_for = {
|
2020-05-25 09:10:26 +02:00
|
|
|
|
html = 'svg',
|
|
|
|
|
html4 = 'svg',
|
|
|
|
|
html5 = 'svg',
|
|
|
|
|
latex = 'pdf',
|
|
|
|
|
beamer = 'pdf' }
|
2017-11-21 21:20:28 +01:00
|
|
|
|
|
|
|
|
|
local function file_exists(name)
|
2020-05-25 09:10:26 +02:00
|
|
|
|
local f = io.open(name, 'r')
|
|
|
|
|
if f ~= nil then
|
|
|
|
|
io.close(f)
|
|
|
|
|
return true
|
|
|
|
|
else
|
|
|
|
|
return false
|
|
|
|
|
end
|
2017-11-21 21:20:28 +01:00
|
|
|
|
end
|
|
|
|
|
|
2019-04-16 06:39:03 +02:00
|
|
|
|
local function starts_with(start, str)
|
2020-05-25 09:10:26 +02:00
|
|
|
|
return str:sub(1, #start) == start
|
2019-04-16 06:39:03 +02:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
2017-11-21 21:20:28 +01:00
|
|
|
|
function RawBlock(el)
|
2020-05-25 09:10:26 +02:00
|
|
|
|
if starts_with('\\begin{tikzpicture}', el.text) then
|
|
|
|
|
local filetype = extension_for[FORMAT] or 'svg'
|
|
|
|
|
local fname = system.get_working_directory() .. '/' ..
|
|
|
|
|
pandoc.sha1(el.text) .. '.' .. filetype
|
|
|
|
|
if not file_exists(fname) then
|
|
|
|
|
tikz2image(el.text, filetype, fname)
|
2017-11-21 21:20:28 +01:00
|
|
|
|
end
|
2020-05-25 09:10:26 +02:00
|
|
|
|
return pandoc.Para({pandoc.Image({}, fname)})
|
|
|
|
|
else
|
|
|
|
|
return el
|
|
|
|
|
end
|
2017-11-21 21:20:28 +01:00
|
|
|
|
end
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Example of use:
|
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
pandoc --lua-filter tikz.lua -s -o cycle.html <<EOF
|
|
|
|
|
Here is a diagram of the cycle:
|
2017-11-21 21:20:28 +01:00
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
\begin{tikzpicture}
|
2017-11-21 21:20:28 +01:00
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
\def \n {5}
|
|
|
|
|
\def \radius {3cm}
|
|
|
|
|
\def \margin {8} % margin in angles, depends on the radius
|
2017-11-21 21:20:28 +01:00
|
|
|
|
|
2017-12-29 07:02:59 +01:00
|
|
|
|
\foreach \s in {1,...,\n}
|
|
|
|
|
{
|
|
|
|
|
\node[draw, circle] at ({360/\n * (\s - 1)}:\radius) {$\s$};
|
|
|
|
|
\draw[->, >=latex] ({360/\n * (\s - 1)+\margin}:\radius)
|
|
|
|
|
arc ({360/\n * (\s - 1)+\margin}:{360/\n * (\s)-\margin}:\radius);
|
|
|
|
|
}
|
|
|
|
|
\end{tikzpicture}
|
|
|
|
|
EOF
|
2017-11-21 21:20:28 +01:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
# Lua type reference
|
|
|
|
|
|
|
|
|
|
This section describes the types of objects available to Lua
|
2020-01-11 20:55:02 +01:00
|
|
|
|
filters. See the [pandoc module](#module-pandoc) for
|
2019-08-08 20:21:31 +02:00
|
|
|
|
functions to create these objects.
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2019-06-12 18:58:38 +02:00
|
|
|
|
## Shared Properties
|
|
|
|
|
|
|
|
|
|
### `clone`
|
|
|
|
|
|
|
|
|
|
`clone ()`
|
|
|
|
|
|
|
|
|
|
All instances of the types listed here, with the exception of
|
|
|
|
|
read-only objects, can be cloned via the `clone()` method.
|
|
|
|
|
|
|
|
|
|
Usage:
|
|
|
|
|
|
|
|
|
|
local emph = pandoc.Emph {pandoc.Str 'important'}
|
|
|
|
|
local cloned_emph = emph:clone() -- note the colon
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Pandoc {#type-pandoc}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Pandoc document
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Pandoc`](#pandoc.pandoc) constructor. Object equality is
|
|
|
|
|
determined via [`pandoc.utils.equals`].
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`blocks`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: document content ([List] of [Blocks])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`meta`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: document meta information ([Meta] object)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Meta {#type-meta}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Meta information on a document; string-indexed collection of
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[MetaValues].
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Meta`](#pandoc.meta) constructor. Object equality is
|
|
|
|
|
determined via [`pandoc.utils.equals`].
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## MetaValue {#type-metavalue}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Document meta information items.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
Object equality is determined via [`pandoc.utils.equals`].
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### MetaBlocks {#type-metablocks}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
A list of blocks usable as meta value ([List] of [Blocks]).
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `MetaBlocks` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### MetaBool {#type-metabool}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Alias for Lua boolean, i.e. the values `true` and `false`.
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### MetaInlines {#type-metainlines}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
List of inlines used in metadata ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.MetaInlines`](#pandoc.metainlines) constructor.
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Fields:
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `MetaInlines` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### MetaList {#type-metalist}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
A list of other metadata values ([List] of [MetaValues]).
|
|
|
|
|
|
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.MetaList`](#pandoc.metalist) constructor.
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `MetaList` (string)
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
All methods available for [List]s can be used on this type as
|
|
|
|
|
well.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### MetaMap {#type-metamap}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
A string-indexed map of meta-values. (table).
|
|
|
|
|
|
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.MetaMap`](#pandoc.metamap) constructor.
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `MetaMap` (string)
|
|
|
|
|
|
|
|
|
|
*Note*: The fields will be shadowed if the map contains a field
|
|
|
|
|
with the same name as those listed.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### MetaString {#type-metastring}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Plain Lua string value (string).
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Block {#type-block}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
Object equality is determined via [`pandoc.utils.equals`].
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### BlockQuote {#type-blockquote}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
A block quote element.
|
|
|
|
|
|
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.BlockQuote`](#pandoc.blockquote) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
`content`:
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: block content ([List] of [Blocks])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `BlockQuote` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### BulletList {#type-bulletlist}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
A bullet list.
|
|
|
|
|
|
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.BulletList`](#pandoc.bulletlist) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`content`
|
2020-04-01 09:24:23 +02:00
|
|
|
|
: list items ([List] of [List] of [Blocks])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `BulletList` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### CodeBlock {#type-codeblock}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Block of code.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.CodeBlock`](#pandoc.codeblock) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`text`
|
|
|
|
|
: code string (string)
|
|
|
|
|
|
|
|
|
|
`attr`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: element attributes ([Attr])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`identifier`
|
|
|
|
|
: alias for `attr.identifier` (string)
|
|
|
|
|
|
|
|
|
|
`classes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.classes` ([List] of strings)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attributes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.attributes` ([Attributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `CodeBlock` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### DefinitionList {#type-definitionlist}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Definition list, containing terms and their explanation.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.DefinitionList`](#pandoc.definitionlist) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`content`
|
|
|
|
|
: list of items
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `DefinitionList` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Div {#type-div}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Generic block container with attributes.
|
|
|
|
|
|
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Div`](#pandoc.div) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: block content ([List] of [Blocks])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attr`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: element attributes ([Attr])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`identifier`
|
|
|
|
|
: alias for `attr.identifier` (string)
|
|
|
|
|
|
|
|
|
|
`classes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.classes` ([List] of
|
2019-08-08 20:21:31 +02:00
|
|
|
|
strings)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attributes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.attributes` ([Attributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Div` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Header {#type-header}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Creates a header element.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Header`](#pandoc.header) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`level`
|
|
|
|
|
: header level (integer)
|
|
|
|
|
|
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: inline content ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attr`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: element attributes ([Attr])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`identifier`
|
|
|
|
|
: alias for `attr.identifier` (string)
|
|
|
|
|
|
|
|
|
|
`classes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.classes` ([List] of strings)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attributes`
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: alias for `attr.attributes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
([Attributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Header` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### HorizontalRule {#type-horizontalrule}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
A horizontal rule.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.HorizontalRule`](#pandoc.horizontalrule) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `HorizontalRule` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### LineBlock {#type-lineblock}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
A line block, i.e. a list of lines, each separated from the next
|
2018-10-19 08:12:57 +02:00
|
|
|
|
by a newline.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.LineBlock`](#pandoc.lineblock) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`content`
|
|
|
|
|
: inline content
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `LineBlock` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Null {#type-null}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
A null element; this element never produces any output in the
|
|
|
|
|
target format.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Null`](#pandoc.null) constructor.
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Null` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### OrderedList {#type-orderedlist}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
An ordered list.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.OrderedList`](#pandoc.orderedlist) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2019-02-01 21:03:05 +01:00
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: list items ([List] of [List] of [Blocks])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`listAttributes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: list parameters ([ListAttributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`start`
|
|
|
|
|
: alias for `listAttributes.start` (integer)
|
|
|
|
|
|
|
|
|
|
`style`
|
|
|
|
|
: alias for `listAttributes.style` (string)
|
|
|
|
|
|
|
|
|
|
`delimiter`
|
|
|
|
|
: alias for `listAttributes.delimiter` (string)
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `OrderedList` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Para {#type-para}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
A paragraph.
|
|
|
|
|
|
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Para`](#pandoc.para) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: inline content ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Para` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Plain {#type-plain}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Plain text, not a paragraph.
|
|
|
|
|
|
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Plain`](#pandoc.plain) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: inline content ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Plain` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### RawBlock {#type-rawblock}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Raw content of a specified format.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.RawBlock`](#pandoc.rawblock) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`format`
|
|
|
|
|
: format of content (string)
|
|
|
|
|
|
|
|
|
|
`text`
|
|
|
|
|
: raw content (string)
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `RawBlock` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Table {#type-table}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
A table.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Table`](#pandoc.table) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2020-07-25 20:29:21 +02:00
|
|
|
|
`attr`
|
|
|
|
|
: table attributes ([Attr])
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`caption`
|
2020-07-25 19:26:40 +02:00
|
|
|
|
: table caption ([Caption])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
`colspecs`
|
|
|
|
|
: column specifications, i.e., alignments and widths ([List] of
|
|
|
|
|
[ColSpec]s)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
`head`
|
|
|
|
|
: table head ([TableHead])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
`bodies`
|
|
|
|
|
: table bodies ([List] of [TableBody]s)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
`foot`
|
|
|
|
|
: table foot ([TableFoot])
|
|
|
|
|
|
2020-07-25 20:29:21 +02:00
|
|
|
|
`identifier`
|
|
|
|
|
: alias for `attr.identifier` (string)
|
|
|
|
|
|
|
|
|
|
`classes`
|
|
|
|
|
: alias for `attr.classes` ([List] of strings)
|
|
|
|
|
|
|
|
|
|
`attributes`
|
|
|
|
|
: alias for `attr.attributes` ([Attributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Table` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
A [table cell]{#type-table-cell} is a list of blocks.
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
*[Alignment]{#type-alignment}* is a string value indicating the
|
2018-10-19 08:12:57 +02:00
|
|
|
|
horizontal alignment of a table column. `AlignLeft`,
|
2020-07-09 16:17:56 +02:00
|
|
|
|
`AlignRight`, and `AlignCenter` leads cell content to be
|
2018-10-19 08:12:57 +02:00
|
|
|
|
left-aligned, right-aligned, and centered, respectively. The
|
|
|
|
|
default alignment is `AlignDefault` (often equivalent to
|
|
|
|
|
centered).
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Inline {#type-inline}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
Object equality is determined via [`pandoc.utils.equals`].
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Cite {#type-cite}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Citation.
|
|
|
|
|
|
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Cite`](#pandoc.cite) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`citations`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: citation entries ([List] of [Citations])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Cite` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Code {#type-code}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Inline code
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Code`](#pandoc.code) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`text`
|
|
|
|
|
: code string (string)
|
|
|
|
|
|
|
|
|
|
`attr`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: attributes ([Attr])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`identifier`
|
|
|
|
|
: alias for `attr.identifier` (string)
|
|
|
|
|
|
|
|
|
|
`classes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.classes` ([List] of strings)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attributes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.attributes` ([Attributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Code` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Emph {#type-emph}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Emphasized text
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Emph`](#pandoc.emph) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: inline content ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Emph` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Image {#type-image}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
|
|
|
|
Image: alt text (list of inlines), target
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Image`](#pandoc.image) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`attr`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: attributes ([Attr])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`caption`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: text used to describe the image ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`src`
|
|
|
|
|
: path to the image file (string)
|
|
|
|
|
|
|
|
|
|
`title`
|
|
|
|
|
: brief image description
|
|
|
|
|
|
|
|
|
|
`identifier`
|
|
|
|
|
: alias for `attr.identifier` (string)
|
|
|
|
|
|
|
|
|
|
`classes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.classes` ([List] of strings)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attributes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.attributes` ([Attributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Image` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### LineBreak {#type-linebreak}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Hard line break
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.LineBreak`](#pandoc.linebreak) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `LineBreak` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Link {#type-link}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Hyperlink: alt text (list of inlines), target
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Link`](#pandoc.link) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`attr`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: attributes ([Attr])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: text for this link ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`target`
|
|
|
|
|
: the link target (string)
|
|
|
|
|
|
|
|
|
|
`identifier`
|
|
|
|
|
: alias for `attr.identifier` (string)
|
|
|
|
|
|
|
|
|
|
`classes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.classes` ([List] of strings)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attributes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.attributes` ([Attributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Link` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Math {#type-math}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
TeX math (literal)
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Math`](#pandoc.math) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2019-06-05 23:48:48 +02:00
|
|
|
|
`mathtype`
|
2018-10-19 08:12:57 +02:00
|
|
|
|
: specifier determining whether the math content should be
|
|
|
|
|
shown inline (`InlineMath`) or on a separate line
|
|
|
|
|
(`DisplayMath`) (string)
|
|
|
|
|
|
|
|
|
|
`text`
|
|
|
|
|
: math content (string)
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Math` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Note {#type-note}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Footnote or endnote
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Note`](#pandoc.note) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: ([List] of [Blocks])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Note` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Quoted {#type-quoted}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Quoted text
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Quoted`](#pandoc.quoted) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`quotetype`
|
|
|
|
|
: type of quotes to be used; one of `SingleQuote` or
|
|
|
|
|
`DoubleQuote` (string)
|
|
|
|
|
|
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: quoted text ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Quoted` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### RawInline {#type-rawinline}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Raw inline
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.RawInline`](#pandoc.rawinline) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`format`
|
|
|
|
|
: the format of the content (string)
|
|
|
|
|
|
|
|
|
|
`text`
|
|
|
|
|
: raw content (string)
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `RawInline` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### SmallCaps {#type-smallcaps}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Small caps text
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.SmallCaps`](#pandoc.smallcaps) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `SmallCaps` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### SoftBreak {#type-softbreak}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Soft line break
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.SoftBreak`](#pandoc.softbreak) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `SoftBreak` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Space {#type-space}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Inter-word space
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Space`](#pandoc.space) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Space` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Span {#type-span}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Generic inline container with attributes
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Span`](#pandoc.span) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`attr`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: attributes ([Attr])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: wrapped content ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`identifier`
|
|
|
|
|
: alias for `attr.identifier` (string)
|
|
|
|
|
|
|
|
|
|
`classes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.classes` ([List] of strings)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attributes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: alias for `attr.attributes` ([Attributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Span` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Str {#type-str}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Text
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Str`](#pandoc.str) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`text`
|
|
|
|
|
: content (string)
|
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Str` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Strikeout {#type-strikeout}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Strikeout text
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Strikeout`](#pandoc.strikeout) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: inline content ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Strikeout` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Strong {#type-strong}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Strongly emphasized text
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Strong`](#pandoc.strong) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: inline content ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Strong` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Subscript {#type-subscript}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Subscripted text
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Subscript`](#pandoc.subscript) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: inline content ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Subscript` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Superscript {#type-superscript}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
Superscripted text
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Superscript`](#pandoc.superscript) constructor.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`content`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: inline content ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`tag`, `t`
|
|
|
|
|
: the literal `Superscript` (string)
|
|
|
|
|
|
|
|
|
|
## Element components
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Attr {#type-attr}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
Lua filters: allow passing of HTML-like tables instead of Attr (#5750)
Attr values can now be given as normal Lua tables; this can be used as a
convenient alternative to define Attr values, instead of constructing
values with `pandoc.Attr`. Identifiers are taken from the *id* field,
classes must be given as space separated words in the *class* field. All
remaining fields are included as misc attributes.
With this change, the following lines now create equal elements:
pandoc.Span('test', {id = 'test', class = 'a b', check = 1})
pandoc.Span('test', pandoc.Attr('test', {'a','b'}, {check = 1}))
This also works when using the *attr* setter:
local span = pandoc.Span 'text'
span.attr = {id = 'test', class = 'a b', check = 1}
Furthermore, the *attributes* field of AST elements can now be a plain
key-value table even when using the `attributes` accessor:
local span = pandoc.Span 'test'
span.attributes = {check = 1} -- works as expected now
Closes: #5744
2019-09-15 21:11:58 +02:00
|
|
|
|
A set of element attributes. Values of this type can be created
|
2020-01-11 20:55:02 +01:00
|
|
|
|
with the [`pandoc.Attr`](#pandoc.attr) constructor. For
|
|
|
|
|
convenience, it is usually not necessary to construct the value
|
|
|
|
|
directly if it is part of an element, and it is sufficient to
|
|
|
|
|
pass an HTML-like table. E.g., to create a span with identifier
|
|
|
|
|
"text" and classes "a" and "b", on can write:
|
Lua filters: allow passing of HTML-like tables instead of Attr (#5750)
Attr values can now be given as normal Lua tables; this can be used as a
convenient alternative to define Attr values, instead of constructing
values with `pandoc.Attr`. Identifiers are taken from the *id* field,
classes must be given as space separated words in the *class* field. All
remaining fields are included as misc attributes.
With this change, the following lines now create equal elements:
pandoc.Span('test', {id = 'test', class = 'a b', check = 1})
pandoc.Span('test', pandoc.Attr('test', {'a','b'}, {check = 1}))
This also works when using the *attr* setter:
local span = pandoc.Span 'text'
span.attr = {id = 'test', class = 'a b', check = 1}
Furthermore, the *attributes* field of AST elements can now be a plain
key-value table even when using the `attributes` accessor:
local span = pandoc.Span 'test'
span.attributes = {check = 1} -- works as expected now
Closes: #5744
2019-09-15 21:11:58 +02:00
|
|
|
|
|
|
|
|
|
local span = pandoc.Span('text', {id = 'text', class = 'a b'})
|
|
|
|
|
|
|
|
|
|
This also works when using the `attr` setter:
|
|
|
|
|
|
|
|
|
|
local span = pandoc.Span 'text'
|
|
|
|
|
span.attr = {id = 'text', class = 'a b', other_attribute = '1'}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
Object equality is determined via [`pandoc.utils.equals`].
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`identifier`
|
|
|
|
|
: element identifier (string)
|
|
|
|
|
|
|
|
|
|
`classes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: element classes ([List] of strings)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`attributes`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: collection of key/value pairs ([Attributes])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Attributes {#type-attributes}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
List of key/value pairs. Values can be accessed by using keys as
|
|
|
|
|
indices to the list table.
|
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
### Caption {#type-caption}
|
|
|
|
|
|
|
|
|
|
The caption of a table, with an optional short caption.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
|
|
|
|
`long`
|
|
|
|
|
: long caption (list of [Blocks])
|
|
|
|
|
|
|
|
|
|
`short`
|
|
|
|
|
: short caption (list of [Inlines])
|
|
|
|
|
|
|
|
|
|
### Cell {#type-cell}
|
|
|
|
|
|
|
|
|
|
A table cell.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
|
|
|
|
`attr`
|
|
|
|
|
: cell attributes
|
|
|
|
|
|
|
|
|
|
`alignment`
|
|
|
|
|
: individual cell alignment ([Alignment]).
|
|
|
|
|
|
|
|
|
|
`contents`
|
|
|
|
|
: cell contents (list of [Blocks]).
|
|
|
|
|
|
|
|
|
|
`col_span`
|
|
|
|
|
: number of columns occupied by the cell; the height of the cell
|
|
|
|
|
(integer).
|
|
|
|
|
|
|
|
|
|
`row_span`
|
|
|
|
|
: number of rows occupied by the cell; the height of the cell
|
|
|
|
|
(integer).
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Citation {#type-citation}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Single citation entry
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.Citation`](#pandoc.citation) constructor.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
Object equality is determined via [`pandoc.utils.equals`].
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`id`
|
|
|
|
|
: citation identifier, e.g., a bibtex key (string)
|
|
|
|
|
|
|
|
|
|
`mode`
|
|
|
|
|
: citation mode, one of `AuthorInText`, `SuppressAuthor`, or
|
|
|
|
|
`NormalCitation` (string)
|
|
|
|
|
|
|
|
|
|
`prefix`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: citation prefix ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`suffix`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: citation suffix ([List] of [Inlines])
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`note_num`
|
|
|
|
|
: note number (integer)
|
|
|
|
|
|
|
|
|
|
`hash`
|
|
|
|
|
: hash (integer)
|
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
### ColSpec {#type-colspec}
|
|
|
|
|
|
|
|
|
|
Column alignment and width specification for a single table
|
|
|
|
|
column.
|
|
|
|
|
|
|
|
|
|
This is a pair with the following components:
|
|
|
|
|
|
|
|
|
|
1. cell alignment ([Alignment]).
|
|
|
|
|
2. table column width, as a fraction of the total table width
|
|
|
|
|
(number).
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### ListAttributes {#type-listattributes}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
List attributes
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.ListAttributes`](#pandoc.listattributes) constructor.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
Object equality is determined via [`pandoc.utils.equals`].
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`start`
|
|
|
|
|
: number of the first list item (integer)
|
|
|
|
|
|
|
|
|
|
`style`
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: style used for list numbers; possible values are
|
|
|
|
|
`DefaultStyle`, `Example`, `Decimal`, `LowerRoman`,
|
|
|
|
|
`UpperRoman`, `LowerAlpha`, and `UpperAlpha` (string)
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
`delimiter`
|
|
|
|
|
: delimiter of list numbers; one of `DefaultDelim`, `Period`,
|
|
|
|
|
`OneParen`, and `TwoParens` (string)
|
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
### Row {#type-row}
|
|
|
|
|
|
|
|
|
|
A table row.
|
|
|
|
|
|
|
|
|
|
Tuple fields:
|
|
|
|
|
|
|
|
|
|
1. row attributes
|
|
|
|
|
2. row cells (list of [Cells])
|
|
|
|
|
|
|
|
|
|
### TableBody {#type-tablebody}
|
|
|
|
|
|
|
|
|
|
A body of a table, with an intermediate head and the specified
|
|
|
|
|
number of row header columns.
|
|
|
|
|
|
|
|
|
|
Fields:
|
|
|
|
|
|
|
|
|
|
`attr`
|
|
|
|
|
: table body attributes ([Attr])
|
|
|
|
|
|
2020-07-25 20:57:09 +02:00
|
|
|
|
`body`
|
|
|
|
|
: table body rows (list of [Rows])
|
2020-07-25 19:26:40 +02:00
|
|
|
|
|
|
|
|
|
`head`
|
|
|
|
|
: intermediate head (list of [Rows])
|
|
|
|
|
|
2020-07-25 20:57:09 +02:00
|
|
|
|
`row_head_columns`
|
|
|
|
|
: number of columns taken up by the row head of each row of a
|
|
|
|
|
[TableBody]. The row body takes up the remaining columns.
|
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
### TableFoot {#type-tablefoot}
|
|
|
|
|
|
|
|
|
|
The foot of a table.
|
|
|
|
|
|
|
|
|
|
This is a pair with the following components:
|
|
|
|
|
|
|
|
|
|
1. attributes
|
|
|
|
|
2. foot rows ([Rows])
|
|
|
|
|
|
2020-07-29 18:32:19 +02:00
|
|
|
|
### TableHead {#type-tablehead}
|
2020-07-25 19:26:40 +02:00
|
|
|
|
|
|
|
|
|
The head of a table.
|
|
|
|
|
|
|
|
|
|
This is a pair with the following components:
|
|
|
|
|
|
|
|
|
|
1. attributes
|
|
|
|
|
2. head rows ([Rows])
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## ReaderOptions {#type-readeroptions}
|
2018-10-19 08:12:57 +02:00
|
|
|
|
|
|
|
|
|
Pandoc reader options
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-19 08:12:57 +02:00
|
|
|
|
`abbreviations`
|
|
|
|
|
: set of known abbreviations (set of strings)
|
|
|
|
|
|
|
|
|
|
`columns`
|
|
|
|
|
: number of columns in terminal (integer)
|
|
|
|
|
|
|
|
|
|
`default_image_extension`
|
|
|
|
|
: default extension for images (string)
|
|
|
|
|
|
|
|
|
|
`extensions`
|
|
|
|
|
: string representation of the syntax extensions bit field
|
|
|
|
|
(string)
|
|
|
|
|
|
|
|
|
|
`indented_code_classes`
|
|
|
|
|
: default classes for indented code blocks (list of strings)
|
|
|
|
|
|
|
|
|
|
`standalone`
|
|
|
|
|
: whether the input was a standalone document with header
|
|
|
|
|
(boolean)
|
|
|
|
|
|
|
|
|
|
`strip_comments`
|
|
|
|
|
: HTML comments are stripped instead of parsed as raw HTML
|
|
|
|
|
(boolean)
|
|
|
|
|
|
|
|
|
|
`tab_stop`
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: width (i.e. equivalent number of spaces) of tab stops
|
2018-10-19 08:12:57 +02:00
|
|
|
|
(integer)
|
|
|
|
|
|
|
|
|
|
`track_changes`
|
|
|
|
|
: track changes setting for docx; one of `AcceptChanges`,
|
|
|
|
|
`RejectChanges`, and `AllChanges` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## CommonState {#type-commonstate}
|
2018-10-26 07:12:14 +02:00
|
|
|
|
|
|
|
|
|
The state used by pandoc to collect information and make it
|
|
|
|
|
available to readers and writers.
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Fields:
|
|
|
|
|
|
2018-10-26 07:12:14 +02:00
|
|
|
|
`input_files`
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: List of input files from command line
|
2020-01-11 20:55:02 +01:00
|
|
|
|
([List] of strings)
|
2018-10-26 07:12:14 +02:00
|
|
|
|
|
|
|
|
|
`output_file`
|
|
|
|
|
: Output file from command line (string or nil)
|
|
|
|
|
|
|
|
|
|
`log`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: A list of log messages in reverse order ([List] of
|
|
|
|
|
[LogMessage]s)
|
2018-10-26 07:12:14 +02:00
|
|
|
|
|
|
|
|
|
`request_headers`
|
|
|
|
|
: Headers to add for HTTP requests; table with header names as
|
|
|
|
|
keys and header contents as value (table)
|
|
|
|
|
|
|
|
|
|
`resource_path`
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Path to search for resources like included images
|
2020-01-11 20:55:02 +01:00
|
|
|
|
([List] of strings)
|
2018-10-26 07:12:14 +02:00
|
|
|
|
|
|
|
|
|
`source_url`
|
|
|
|
|
: Absolute URL or directory of first source file (string or
|
|
|
|
|
nil)
|
|
|
|
|
|
|
|
|
|
`user_data_dir`
|
|
|
|
|
: Directory to search for data files (string or nil)
|
|
|
|
|
|
|
|
|
|
`trace`
|
|
|
|
|
: Whether tracing messages are issued (boolean)
|
|
|
|
|
|
|
|
|
|
`verbosity`
|
|
|
|
|
: Verbosity level; one of `INFO`, `WARNING`, `ERROR` (string)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## List {#type-list}
|
|
|
|
|
|
|
|
|
|
A list is any Lua table with integer indices. Indices start at
|
|
|
|
|
one, so if `alist = {'value'}` then `alist[1] == 'value'`.
|
|
|
|
|
|
|
|
|
|
Lists, when part of an element, or when generated during
|
|
|
|
|
marshalling, are made instances of the `pandoc.List` type for
|
|
|
|
|
convenience. The `pandoc.List` type is defined in the
|
|
|
|
|
[*pandoc.List*](#module-pandoc.list) module. See there for
|
|
|
|
|
available methods.
|
2018-10-26 07:12:14 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.List`](#pandoc.list) constructor, turning a normal Lua
|
|
|
|
|
table into a List.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## LogMessage {#type-logmessage}
|
|
|
|
|
|
|
|
|
|
A pandoc log message. Objects have no fields, but can be
|
2019-08-08 20:21:31 +02:00
|
|
|
|
converted to a string via `tostring`.
|
2018-10-26 07:12:14 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Version {#type-version}
|
2019-05-19 15:26:00 +02:00
|
|
|
|
|
|
|
|
|
A version object. This represents a software version like
|
|
|
|
|
"2.7.3". The object behaves like a numerically indexed table,
|
|
|
|
|
i.e., if `version` represents the version `2.7.3`, then
|
|
|
|
|
|
|
|
|
|
version[1] == 2
|
|
|
|
|
version[2] == 7
|
|
|
|
|
version[3] == 3
|
|
|
|
|
#version == 3 -- length
|
|
|
|
|
|
|
|
|
|
Comparisons are performed element-wise, i.e.
|
|
|
|
|
|
|
|
|
|
Version '1.12' > Version '1.9'
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Values of this type can be created with the
|
|
|
|
|
[`pandoc.types.Version`](#pandoc.types.version) constructor.
|
|
|
|
|
|
2019-05-19 15:26:00 +02:00
|
|
|
|
### `must_be_at_least`
|
|
|
|
|
|
|
|
|
|
`must_be_at_least(actual, expected [, error_message])`
|
|
|
|
|
|
|
|
|
|
Raise an error message if the actual version is older than the
|
2019-05-29 22:58:35 +02:00
|
|
|
|
expected version; does nothing if actual is equal to or newer
|
|
|
|
|
than the expected version.
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
|
|
`actual`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: actual version specifier ([Version])
|
2019-05-29 22:58:35 +02:00
|
|
|
|
|
|
|
|
|
`expected`
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: minimum expected version ([Version])
|
2019-05-29 22:58:35 +02:00
|
|
|
|
|
|
|
|
|
`error_message`
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: optional error message template. The string is used as
|
|
|
|
|
format string, with the expected and actual versions as
|
|
|
|
|
arguments. Defaults to
|
|
|
|
|
`"expected version %s or newer, got %s"`.
|
2019-05-19 15:26:00 +02:00
|
|
|
|
|
|
|
|
|
Usage:
|
|
|
|
|
|
2019-05-29 22:58:35 +02:00
|
|
|
|
PANDOC_VERSION:must_be_at_least '2.7.3'
|
|
|
|
|
PANDOC_API_VERSION:must_be_at_least(
|
|
|
|
|
'1.17.4',
|
|
|
|
|
'pandoc-types is too old: expected version %s, got %s'
|
|
|
|
|
)
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[Alignment]: #type-alignment
|
|
|
|
|
[Attr]: #type-attr
|
|
|
|
|
[Attributes]: #type-attributes
|
|
|
|
|
[Block]: #type-block
|
|
|
|
|
[Blocks]: #type-block
|
2020-07-25 19:26:40 +02:00
|
|
|
|
[Caption]: #type-caption
|
|
|
|
|
[Cells]: #type-cell
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[Citation]: #type-citation
|
|
|
|
|
[Citations]: #type-citation
|
2020-07-25 19:26:40 +02:00
|
|
|
|
[ColSpec]: #type-colspec
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[CommonState]: #type-commonstate
|
2020-01-15 23:26:00 +01:00
|
|
|
|
[Image]: #type-image
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[Inline]: #type-inline
|
|
|
|
|
[Inlines]: #type-inline
|
|
|
|
|
[List]: #type-list
|
|
|
|
|
[ListAttributes]: #type-listattributes
|
|
|
|
|
[Meta]: #type-meta
|
2020-01-15 23:26:00 +01:00
|
|
|
|
[MetaBlocks]: #type-metablocks
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[MetaValue]: #type-metavalue
|
|
|
|
|
[MetaValues]: #type-metavalue
|
|
|
|
|
[LogMessage]: #type-logmessage
|
|
|
|
|
[Pandoc]: #type-pandoc
|
2020-01-15 23:26:00 +01:00
|
|
|
|
[Para]: #type-para
|
2020-07-25 19:26:40 +02:00
|
|
|
|
[Rows]: #type-row
|
|
|
|
|
[TableBody]: #type-tablebody
|
|
|
|
|
[TableFoot]: #type-tablefoot
|
|
|
|
|
[TableHead]: #type-tablehead
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[Version]: #type-version
|
|
|
|
|
[`pandoc.utils.equals`]: #pandoc.utils.equals
|
|
|
|
|
|
2017-11-18 22:40:47 +01:00
|
|
|
|
# Module text
|
|
|
|
|
|
|
|
|
|
UTF-8 aware text manipulation functions, implemented in Haskell.
|
2019-02-09 09:52:51 +01:00
|
|
|
|
The module is made available as part of the `pandoc` module via
|
|
|
|
|
`pandoc.text`. The text module can also be loaded explicitly:
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2019-11-03 06:55:58 +01:00
|
|
|
|
``` lua
|
2017-11-18 22:40:47 +01:00
|
|
|
|
-- uppercase all regular text in a document:
|
|
|
|
|
text = require 'text'
|
|
|
|
|
function Str (s)
|
|
|
|
|
s.text = text.upper(s.text)
|
|
|
|
|
return s
|
|
|
|
|
end
|
|
|
|
|
```
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### lower {#text.lower}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`lower (s)`
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns a copy of a UTF-8 string, converted to lowercase.
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### upper {#text.upper}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`upper (s)`
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns a copy of a UTF-8 string, converted to uppercase.
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### reverse {#text.reverse}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`reverse (s)`
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns a copy of a UTF-8 string, with characters reversed.
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### len {#text.len}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`len (s)`
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns the length of a UTF-8 string.
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### sub {#text.sub}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`sub (s)`
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns a substring of a UTF-8 string, using Lua's string
|
|
|
|
|
indexing rules.
|
2017-11-18 22:40:47 +01:00
|
|
|
|
|
2017-08-31 13:23:24 +02:00
|
|
|
|
# Module pandoc
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
Lua functions for pandoc scripts; includes constructors for
|
|
|
|
|
document tree elements, functions to parse text in a given
|
|
|
|
|
format, and functions to filter and modify a subtree.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Pandoc
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Pandoc (blocks[, meta])`]{#pandoc.pandoc}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: A complete pandoc document
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`blocks`:
|
|
|
|
|
: document content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`meta`:
|
|
|
|
|
: document meta data
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Pandoc] object
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Meta
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
[`Meta (table)`]{#pandoc.meta}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Create a new Meta object.
|
2017-12-01 17:58:12 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-12-01 17:58:12 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`table`:
|
|
|
|
|
: table containing document meta information
|
2017-12-01 17:58:12 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Meta] object
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## MetaValue
|
2017-12-01 17:58:12 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`MetaBlocks (blocks)`]{#pandoc.metablocks}
|
2017-12-01 17:58:12 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Meta blocks
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`blocks`:
|
|
|
|
|
: blocks
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [MetaBlocks] object
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`MetaInlines (inlines)`]{#pandoc.metainlines}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Meta inlines
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`inlines`:
|
|
|
|
|
: inlines
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [MetaInlines] object
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`MetaList (meta_values)`]{#pandoc.metalist}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Meta list
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`meta_values`:
|
|
|
|
|
: list of meta values
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [MetaList] object
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`MetaMap (key_value_map)`]{#pandoc.metamap}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Meta map
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`key_value_map`:
|
|
|
|
|
: a string-indexed map of meta values
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [MetaMap] object
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`MetaString (str)`]{#pandoc.metastring}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates string to be used in meta data.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`str`:
|
|
|
|
|
: string value
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [MetaString] object
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`MetaBool (bool)`]{#pandoc.metabool}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates boolean to be used in meta data.
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`bool`:
|
|
|
|
|
: boolean value
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [MetaBool] object
|
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
## Blocks
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`BlockQuote (content)`]{#pandoc.blockquote}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a block quote element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: block content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [BlockQuote] object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-04-01 09:24:23 +02:00
|
|
|
|
[`BulletList (items)`]{#pandoc.bulletlist}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-04-01 09:24:23 +02:00
|
|
|
|
: Creates a bullet list.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-04-01 09:24:23 +02:00
|
|
|
|
`items`:
|
|
|
|
|
: list items
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [BulletList] object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`CodeBlock (text[, attr])`]{#pandoc.codeblock}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a code block element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`text`:
|
|
|
|
|
: code string
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`attr`:
|
|
|
|
|
: element attributes
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [CodeBlock] object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`DefinitionList (content)`]{#pandoc.definitionlist}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a definition list, containing terms and their
|
|
|
|
|
explanation.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: list of items
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [DefinitionList] object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Div (content[, attr])`]{#pandoc.div}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a div element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: block content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`attr`:
|
|
|
|
|
: element attributes
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Div] object
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Header (level, content[, attr])`]{#pandoc.header}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a header element.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`level`:
|
|
|
|
|
: header level
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`attr`:
|
|
|
|
|
: element attributes
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Header] object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`HorizontalRule ()`]{#pandoc.horizontalrule}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a horizontal rule.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [HorizontalRule] object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`LineBlock (content)`]{#pandoc.lineblock}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a line block element.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [LineBlock] object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Null ()`]{#pandoc.null}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a null element.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Null] object
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`OrderedList (items[, listAttributes])`]{#pandoc.orderedlist}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates an ordered list.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`items`:
|
|
|
|
|
: list items
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`listAttributes`:
|
|
|
|
|
: list parameters
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [OrderedList](#type-orderedlist) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Para (content)`]{#pandoc.para}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a para element.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Para](#type-para) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Plain (content)`]{#pandoc.plain}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a plain element.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Plain](#type-plain) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`RawBlock (format, text)`]{#pandoc.rawblock}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a raw content block of the specified format.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`format`:
|
|
|
|
|
: format of content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`text`:
|
|
|
|
|
: string content
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [RawBlock](#type-rawblock) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-07-25 20:29:21 +02:00
|
|
|
|
[`Table (caption, colspecs, head, bodies, foot[, attr])`]{#pandoc.table}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a table element.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`caption`:
|
2020-07-25 19:26:40 +02:00
|
|
|
|
: table [caption](#type-caption)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
`colspecs`:
|
|
|
|
|
: column alignments and widths (list of [ColSpec](#type-colspec)s)
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
`head`:
|
|
|
|
|
: [table head](#type-tablehead)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
`bodies`:
|
|
|
|
|
: [table bodies](#type-tablebody)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-07-25 19:26:40 +02:00
|
|
|
|
`foot`:
|
|
|
|
|
: [table foot](#type-tablefoot)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-07-25 20:29:21 +02:00
|
|
|
|
`attr`:
|
|
|
|
|
: element attributes
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Table](#type-table) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Inline
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Cite (content, citations)`]{#pandoc.cite}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Cite inline element
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: List of inlines
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`citations`:
|
|
|
|
|
: List of citations
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Cite](#type-cite) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Code (text[, attr])`]{#pandoc.code}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Code inline element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`text`:
|
|
|
|
|
: code string
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`attr`:
|
|
|
|
|
: additional attributes
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Code](#type-code) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Emph (content)`]{#pandoc.emph}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates an inline element representing emphasised text.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Emph](#type-emph) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Image (caption, src[, title[, attr]])`]{#pandoc.image}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Image inline element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`caption`:
|
|
|
|
|
: text used to describe the image
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`src`:
|
|
|
|
|
: path to the image file
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`title`:
|
|
|
|
|
: brief image description
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`attr`:
|
|
|
|
|
: additional attributes
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Image](#type-image) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`LineBreak ()`]{#pandoc.linebreak}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Create a LineBreak inline element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [LineBreak](#type-linebreak) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Link (content, target[, title[, attr]])`]{#pandoc.link}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a link inline element, usually a hyperlink.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: text for this link
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`target`:
|
|
|
|
|
: the link target
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`title`:
|
|
|
|
|
: brief link description
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`attr`:
|
|
|
|
|
: additional attributes
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Link](#type-link) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Math (mathtype, text)`]{#pandoc.math}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Math element, either inline or displayed.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`mathtype`:
|
|
|
|
|
: rendering specifier
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`text`:
|
|
|
|
|
: Math content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Math](#type-math) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`DisplayMath (text)`]{#pandoc.displaymath}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
: Creates a math element of type "DisplayMath" (DEPRECATED).
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`text`:
|
|
|
|
|
: Math content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Math](#type-math) object
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`InlineMath (text)`]{#pandoc.inlinemath}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
: Creates a math element of type "InlineMath" (DEPRECATED).
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`text`:
|
|
|
|
|
: Math content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Math](#type-math) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Note (content)`]{#pandoc.note}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Note inline element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: footnote block content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Note](#type-note) object
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Quoted (quotetype, content)`]{#pandoc.quoted}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Quoted inline element given the quote type and
|
|
|
|
|
quoted content.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`quotetype`:
|
|
|
|
|
: type of quotes to be used
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Quoted](#type-quoted) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`SingleQuoted (content)`]{#pandoc.singlequoted}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a single-quoted inline element (DEPRECATED).
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Quoted](#type-quoted)
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`DoubleQuoted (content)`]{#pandoc.doublequoted}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a single-quoted inline element (DEPRECATED).
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Quoted](#type-quoted)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`RawInline (format, text)`]{#pandoc.rawinline}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
: Creates a raw inline element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`format`:
|
|
|
|
|
: format of the contents
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`text`:
|
|
|
|
|
: string content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [RawInline](#type-rawinline) object
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`SmallCaps (content)`]{#pandoc.smallcaps}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates text rendered in small caps
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [SmallCaps](#type-smallcaps) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`SoftBreak ()`]{#pandoc.softbreak}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a SoftBreak inline element.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [SoftBreak](#type-softbreak) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Space ()`]{#pandoc.space}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Create a Space inline element
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Space](#type-space) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Span (content[, attr])`]{#pandoc.span}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Span inline element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`attr`:
|
|
|
|
|
: additional attributes
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Span](#type-span) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Str (text)`]{#pandoc.str}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Str inline element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`text`:
|
|
|
|
|
: content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Str](#type-str) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Strikeout (content)`]{#pandoc.strikeout}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates text which is striked out.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Strikeout](#type-strikeout) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Strong (content)`]{#pandoc.strong}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Strong element, whose text is usually displayed in
|
|
|
|
|
a bold font.
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Strong](#type-strong) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Subscript (content)`]{#pandoc.subscript}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Subscript inline element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Subscript](#type-subscript) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Superscript (content)`]{#pandoc.superscript}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a Superscript inline element
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`content`:
|
|
|
|
|
: inline content
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Superscript](#type-superscript) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Element components
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Attr ([identifier[, classes[, attributes]]])`]{#pandoc.attr}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Create a new set of attributes (Attr).
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`identifier`:
|
|
|
|
|
: element identifier
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`classes`:
|
|
|
|
|
: element classes
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`attributes`:
|
|
|
|
|
: table containing string keys and values
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Attr](#type-attr) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Citation (id, mode[, prefix[, suffix[, note_num[, hash]]]])`]{#pandoc.citation}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a single citation.
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`id`:
|
|
|
|
|
: citation identifier (like a bibtex key)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`mode`:
|
|
|
|
|
: citation mode
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`prefix`:
|
|
|
|
|
: citation prefix
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`suffix`:
|
|
|
|
|
: citation suffix
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`note_num`:
|
|
|
|
|
: note number
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`hash`:
|
|
|
|
|
: hash number
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [Citation](#type-citation) object
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`ListAttributes ([start[, style[, delimiter]]])`]{#pandoc.listattributes}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Creates a set of list attributes.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`start`:
|
|
|
|
|
: number of the first list item
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`style`:
|
|
|
|
|
: style used for list numbering
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`delimiter`:
|
|
|
|
|
: delimiter of list numbers
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
Returns: [ListAttributes](#type-listattributes) object
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
## Constants
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`AuthorInText`]{#pandoc.authorintext}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Author name is mentioned in the text.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [Citation](#type-citation)
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`SuppressAuthor`]{#pandoc.suppressauthor}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Author name is suppressed.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [Citation](#type-citation)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`NormalCitation`]{#pandoc.normalcitation}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Default citation style is used.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [Citation](#type-citation)
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`AlignLeft`]{#pandoc.alignleft}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Table cells aligned left.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [Table](#type-alignment)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`AlignRight`]{#pandoc.alignright}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Table cells right-aligned.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [Table](#type-alignment)
|
2018-01-07 22:41:59 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`AlignCenter`]{#pandoc.aligncenter}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Table cell content is centered.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [Table](#type-alignment)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`AlignDefault`]{#pandoc.aligndefault}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Table cells are alignment is unaltered.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [Table](#type-alignment)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`DefaultDelim`]{#pandoc.defaultdelim}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Default list number delimiters are used.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Period`]{#pandoc.period}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: List numbers are delimited by a period.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`OneParen`]{#pandoc.oneparen}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: List numbers are delimited by a single parenthesis.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`TwoParens`]{#pandoc.twoparens}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: List numbers are delimited by a double parentheses.
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`DefaultStyle`]{#pandoc.defaultstyle}
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: List are numbered in the default style
|
2018-10-11 22:28:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2018-10-11 22:28:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Example`]{#pandoc.example}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
|
|
|
|
: List items are numbered as examples.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`Decimal`]{#pandoc.decimal}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
|
|
|
|
: List are numbered using decimal integers.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`LowerRoman`]{#pandoc.lowerroman}
|
2018-10-11 22:28:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: List are numbered using lower-case roman numerals.
|
2018-10-11 22:28:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2018-10-11 22:28:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`UpperRoman`]{#pandoc.upperroman}
|
2018-10-11 22:28:24 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: List are numbered using upper-case roman numerals
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`LowerAlpha`]{#pandoc.loweralpha}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
|
|
|
|
: List are numbered using lower-case alphabetic characters.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`UpperAlpha`]{#pandoc.upperalpha}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
|
|
|
|
: List are numbered using upper-case alphabetic characters.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
See also: [ListAttributes](#type-listattributes)
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`sha1`]{#pandoc.sha1}
|
2019-08-08 20:21:31 +02:00
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
: Alias for [`pandoc.utils.sha1`](#pandoc.utils.sha1)
|
|
|
|
|
(DEPRECATED).
|
2018-10-11 22:28:24 +02:00
|
|
|
|
|
2017-12-29 09:58:47 +01:00
|
|
|
|
## Helper functions
|
2017-08-31 13:23:24 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### pipe {#pandoc.pipe}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`pipe (command, args, input)`
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Runs command with arguments, passing it some input, and returns
|
|
|
|
|
the output.
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
- Output of command.
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Raises:
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
- A table containing the keys `command`, `error_code`, and
|
|
|
|
|
`output` is thrown if the command exits with a non-zero
|
|
|
|
|
error code.
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local output = pandoc.pipe("sed", {"-e","s/a/b/"}, "abc")
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### walk\_block {#pandoc.walk_block}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`walk_block (element, filter)`
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Apply a filter inside a block element, walking its contents.
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Parameters:
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`element`:
|
|
|
|
|
: the block element
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`filter`:
|
2020-01-12 11:22:20 +01:00
|
|
|
|
: a Lua filter (table of functions) to be applied within the
|
2019-08-08 20:21:31 +02:00
|
|
|
|
block element
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns: the transformed block element
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### walk\_inline {#pandoc.walk_inline}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`walk_inline (element, filter)`
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Apply a filter inside an inline element, walking its contents.
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Parameters:
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`element`:
|
|
|
|
|
: the inline element
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`filter`:
|
2020-01-12 11:22:20 +01:00
|
|
|
|
: a Lua filter (table of functions) to be applied within the
|
2019-08-08 20:21:31 +02:00
|
|
|
|
inline element
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns: the transformed inline element
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### read {#pandoc.read}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`read (markup[, format])`
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Parse the given string into a Pandoc document.
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Parameters:
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`markup`:
|
|
|
|
|
: the markup to be parsed
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`format`:
|
2019-01-31 19:13:36 +01:00
|
|
|
|
: format specification, defaults to `"markdown"`.
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns: pandoc document
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local org_markup = "/emphasis/" -- Input to be read
|
|
|
|
|
local document = pandoc.read(org_markup, "org")
|
|
|
|
|
-- Get the first block of the document
|
|
|
|
|
local block = document.blocks[1]
|
|
|
|
|
-- The inline element in that block is an `Emph`
|
|
|
|
|
assert(block.content[1].t == "Emph")
|
2017-12-29 09:04:21 +01:00
|
|
|
|
|
2017-12-21 22:30:59 +01:00
|
|
|
|
# Module pandoc.utils
|
|
|
|
|
|
|
|
|
|
This module exposes internal pandoc functions and utility
|
|
|
|
|
functions.
|
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
The module is loaded as part of the `pandoc` module and
|
|
|
|
|
available as `pandoc.utils`. In versions up-to and including
|
|
|
|
|
pandoc 2.6, this module had to be loaded explicitly. Example:
|
2019-02-07 09:50:06 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
pandoc.utils = require 'pandoc.utils'
|
2019-02-07 09:50:06 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
Use the above for backwards compatibility.
|
2019-02-07 09:50:06 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### blocks\_to\_inlines {#pandoc.utils.blocks_to_inlines}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`blocks_to_inlines (blocks[, sep])`
|
2018-07-30 19:55:25 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Squash a list of blocks into a list of inlines.
|
2018-07-30 19:55:25 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Parameters:
|
2018-07-30 19:55:25 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`blocks`:
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: List of [Blocks](#type-block) to be flattened.
|
2018-07-30 19:55:25 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`sep`:
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: List of [Inlines](#type-inline) inserted as separator between
|
2019-08-08 20:21:31 +02:00
|
|
|
|
two consecutive blocks; defaults to
|
|
|
|
|
`{ pandoc.Space(), pandoc.Str'¶', pandoc.Space()}`.
|
2018-07-30 19:55:25 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2018-07-30 19:55:25 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
- [List](#type-list) of [Inlines](#type-inline)
|
2018-07-30 19:55:25 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2018-07-30 19:55:25 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local blocks = {
|
|
|
|
|
pandoc.Para{ pandoc.Str 'Paragraph1' },
|
|
|
|
|
pandoc.Para{ pandoc.Emph 'Paragraph2' }
|
|
|
|
|
}
|
|
|
|
|
local inlines = pandoc.utils.blocks_to_inlines(blocks)
|
|
|
|
|
-- inlines = {
|
|
|
|
|
-- pandoc.Str 'Paragraph1',
|
|
|
|
|
-- pandoc.Space(), pandoc.Str'¶', pandoc.Space(),
|
|
|
|
|
-- pandoc.Emph{ pandoc.Str 'Paragraph2' }
|
|
|
|
|
-- }
|
2018-07-30 19:55:25 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### equals {#pandoc.utils.equals}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`equals (element1, element2)`
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Test equality of AST elements. Elements in Lua are considered
|
|
|
|
|
equal if and only if the objects obtained by unmarshaling are
|
|
|
|
|
equal.
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Parameters:
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`element1`, `element2`:
|
2020-01-11 20:55:02 +01:00
|
|
|
|
: Objects to be compared. Acceptable input types are [Pandoc],
|
|
|
|
|
[Meta], [MetaValue], [Block], [Inline], [Attr],
|
|
|
|
|
[ListAttributes], and [Citation].
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
- Whether the two objects represent the same element (boolean)
|
2018-11-19 21:36:02 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### make\_sections {#pandoc.utils.make_sections}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-09-07 20:23:12 +02:00
|
|
|
|
`make_sections (number_sections, base_level, blocks)`
|
2017-12-23 22:39:05 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
Converst list of [Blocks](#type-block) into sections.
|
2019-09-07 20:23:12 +02:00
|
|
|
|
`Div`s will be created beginning at each `Header`
|
|
|
|
|
and containing following content until the next `Header`
|
|
|
|
|
of comparable level. If `number_sections` is true,
|
|
|
|
|
a `number` attribute will be added to each `Header`
|
|
|
|
|
containing the section number. If `base_level` is
|
|
|
|
|
non-null, `Header` levels will be reorganized so
|
|
|
|
|
that there are no gaps, and so that the base level
|
|
|
|
|
is the level specified.
|
2017-12-23 22:39:05 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2017-12-23 22:39:05 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
- List of [Blocks](#type-block).
|
2017-12-23 22:39:05 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-12-23 22:39:05 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local blocks = {
|
|
|
|
|
pandoc.Header(2, pandoc.Str 'first'),
|
|
|
|
|
pandoc.Header(2, pandoc.Str 'second'),
|
|
|
|
|
}
|
2019-09-07 20:23:12 +02:00
|
|
|
|
local newblocks = pandoc.utils.make_sections(true, 1, blocks)
|
2017-12-23 22:39:05 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### run\_json\_filter {#pandoc.utils.run_json_filter}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`run_json_filter (doc, filter[, args])`
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Filter the given doc by passing it through the a JSON filter.
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Parameters:
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`doc`:
|
|
|
|
|
: the Pandoc document to filter
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`filter`:
|
|
|
|
|
: filter to run
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`args`:
|
|
|
|
|
: list of arguments passed to the filter. Defaults to
|
|
|
|
|
`{FORMAT}`.
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
- ([Pandoc](#type-pandoc)) Filtered document
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
-- Assumes `some_blocks` contains blocks for which a
|
|
|
|
|
-- separate literature section is required.
|
|
|
|
|
local sub_doc = pandoc.Pandoc(some_blocks, metadata)
|
|
|
|
|
sub_doc_with_bib = pandoc.utils.run_json_filter(
|
|
|
|
|
sub_doc,
|
|
|
|
|
'pandoc-citeproc'
|
|
|
|
|
)
|
|
|
|
|
some_blocks = sub_doc.blocks -- some blocks with bib
|
2018-01-10 22:26:12 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### normalize\_date {#pandoc.utils.normalize_date}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`normalize_date (date_string)`
|
2017-12-23 13:35:27 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parse a date and convert (if possible) to "YYYY-MM-DD" format.
|
|
|
|
|
We limit years to the range 1601-9999 (ISO 8601 accepts greater
|
|
|
|
|
than or equal to 1583, but MS Word only accepts dates starting
|
|
|
|
|
1601).
|
2017-12-23 13:35:27 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2017-12-23 13:35:27 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
- A date string, or nil when the conversion failed.
|
2017-12-23 13:35:27 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### sha1 {#pandoc.utils.sha1}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`sha1 (contents)`
|
2017-12-21 22:30:59 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns the SHA1 has of the contents.
|
2017-12-21 22:30:59 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2017-12-21 22:30:59 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
- SHA1 hash of the contents.
|
2017-12-21 22:30:59 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-12-21 22:30:59 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local fp = pandoc.utils.sha1("foobar")
|
2017-12-21 22:30:59 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### stringify {#pandoc.utils.stringify}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`stringify (element)`
|
2017-12-22 20:29:00 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Converts the given element (Pandoc, Meta, Block, or Inline) into
|
|
|
|
|
a string with all formatting removed.
|
2017-12-22 20:29:00 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2017-12-22 20:29:00 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
- A plain string representation of the given element.
|
2017-12-22 20:29:00 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-12-22 20:29:00 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local inline = pandoc.Emph{pandoc.Str 'Moin'}
|
|
|
|
|
-- outputs "Moin"
|
|
|
|
|
print(pandoc.utils.stringify(inline))
|
2017-12-22 20:29:00 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### to\_roman\_numeral {#pandoc.utils.to_roman_numeral}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`to_roman_numeral (integer)`
|
2017-12-23 11:53:26 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Converts an integer \< 4000 to uppercase roman numeral.
|
2017-12-23 11:53:26 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2017-12-23 11:53:26 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
- A roman numeral string.
|
2017-12-23 11:53:26 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-12-23 11:53:26 +01:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local to_roman_numeral = pandoc.utils.to_roman_numeral
|
|
|
|
|
local pandoc_birth_year = to_roman_numeral(2006)
|
|
|
|
|
-- pandoc_birth_year == 'MMVI'
|
2017-12-23 11:53:26 +01:00
|
|
|
|
|
2017-12-21 22:30:59 +01:00
|
|
|
|
# Module pandoc.mediabag
|
|
|
|
|
|
|
|
|
|
The `pandoc.mediabag` module allows accessing pandoc's media
|
2017-09-30 09:56:08 +02:00
|
|
|
|
storage. The "media bag" is used when pandoc is called with the
|
2019-10-27 23:09:20 +01:00
|
|
|
|
`--extract-media` or (for HTML only) `--self-contained` option.
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
The module is loaded as part of module `pandoc` and can either
|
|
|
|
|
be accessed via the `pandoc.mediabag` field, or explicitly
|
|
|
|
|
required, e.g.:
|
2019-02-09 09:52:51 +01:00
|
|
|
|
|
|
|
|
|
local mb = require 'pandoc.mediabag'
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### delete {#pandoc.mediabag.delete}
|
2019-02-16 13:35:16 +01:00
|
|
|
|
|
|
|
|
|
`delete (filepath)`
|
|
|
|
|
|
|
|
|
|
Removes a single entry from the media bag.
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
|
|
`filepath`:
|
|
|
|
|
: filename of the item to be deleted. The media bag will be
|
|
|
|
|
left unchanged if no entry with the given filename exists.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### empty {#pandoc.mediabag.empty}
|
2019-02-16 13:20:33 +01:00
|
|
|
|
|
|
|
|
|
`empty ()`
|
|
|
|
|
|
|
|
|
|
Clear-out the media bag, deleting all items.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### insert {#pandoc.mediabag.insert}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`insert (filepath, mime_type, contents)`
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Adds a new entry to pandoc's media bag.
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Parameters:
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`filepath`:
|
|
|
|
|
: filename and path relative to the output folder.
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`mime_type`:
|
|
|
|
|
: the file's MIME type
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`contents`:
|
|
|
|
|
: the binary contents of the file.
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local fp = "media/hello.txt"
|
|
|
|
|
local mt = "text/plain"
|
|
|
|
|
local contents = "Hello, World!"
|
2019-05-30 20:03:23 +02:00
|
|
|
|
pandoc.mediabag.insert(fp, mt, contents)
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### items {#pandoc.mediabag.items}
|
2019-02-15 17:13:04 +01:00
|
|
|
|
|
|
|
|
|
`items ()`
|
|
|
|
|
|
|
|
|
|
Returns an iterator triple to be used with Lua's generic `for`
|
|
|
|
|
statement. The iterator returns the filepath, MIME type, and
|
|
|
|
|
content of a media bag item on each invocation. Items are
|
|
|
|
|
processed one-by-one to avoid excessive memory use.
|
|
|
|
|
|
|
|
|
|
This function should be used only when full access to all items,
|
|
|
|
|
including their contents, is required. For all other cases,
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`list`](#pandoc.mediabag.list) should be preferred.
|
2019-02-15 17:13:04 +01:00
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
- The iterator function; must be called with the iterator
|
|
|
|
|
state and the current iterator value.
|
|
|
|
|
- Iterator state -- an opaque value to be passed to the
|
|
|
|
|
iterator function.
|
|
|
|
|
- Initial iterator value.
|
2019-02-15 17:13:04 +01:00
|
|
|
|
|
|
|
|
|
Usage:
|
|
|
|
|
|
|
|
|
|
for fp, mt, contents in pandoc.mediabag.items() do
|
|
|
|
|
-- print(fp, mt, contents)
|
|
|
|
|
end
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### list {#pandoc.mediabag.list}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`list ()`
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Get a summary of the current media bag contents.
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Returns: A list of elements summarizing each entry in the media
|
|
|
|
|
bag. The summary item contains the keys `path`, `type`, and
|
|
|
|
|
`length`, giving the filepath, MIME type, and length of contents
|
|
|
|
|
in bytes, respectively.
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
-- calculate the size of the media bag.
|
|
|
|
|
local mb_items = pandoc.mediabag.list()
|
|
|
|
|
local sum = 0
|
2019-10-27 23:09:20 +01:00
|
|
|
|
for i = 1, #mb_items do
|
2019-01-30 21:37:14 +01:00
|
|
|
|
sum = sum + mb_items[i].length
|
|
|
|
|
end
|
|
|
|
|
print(sum)
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### lookup {#pandoc.mediabag.lookup}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`lookup (filepath)`
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-02-16 12:11:58 +01:00
|
|
|
|
Lookup a media item in the media bag, and return its MIME type
|
2019-01-30 21:37:14 +01:00
|
|
|
|
and contents.
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Parameters:
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
`filepath`:
|
|
|
|
|
: name of the file to look up.
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-02-16 12:11:58 +01:00
|
|
|
|
- the entry's MIME type, or nil if the file was not found.
|
2019-01-30 21:37:14 +01:00
|
|
|
|
- contents of the file, or nil if the file was not found.
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local filename = "media/diagram.png"
|
|
|
|
|
local mt, contents = pandoc.mediabag.lookup(filename)
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### fetch {#pandoc.mediabag.fetch}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
|
|
|
|
`fetch (source, base_url)`
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Fetches the given source from a URL or local file. Returns two
|
|
|
|
|
values: the contents of the file and the MIME type (or an empty
|
|
|
|
|
string).
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Returns:
|
2017-10-01 08:00:14 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
- the entries MIME type, or nil if the file was not found.
|
|
|
|
|
- contents of the file, or nil if the file was not found.
|
2017-10-01 08:00:14 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
Usage:
|
2017-09-30 09:56:08 +02:00
|
|
|
|
|
2019-01-30 21:37:14 +01:00
|
|
|
|
local diagram_url = "https://pandoc.org/diagram.jpg"
|
2019-10-27 23:09:20 +01:00
|
|
|
|
local mt, contents = pandoc.mediabag.fetch(diagram_url, ".")
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
|
|
|
|
# Module pandoc.List
|
|
|
|
|
|
2020-01-10 20:13:06 +01:00
|
|
|
|
The this module defines pandoc's list type. It comes with useful
|
|
|
|
|
methods and convenience functions.
|
|
|
|
|
|
|
|
|
|
## Constructor
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`pandoc.List([table])`]{#pandoc.list}
|
2020-01-10 20:13:06 +01:00
|
|
|
|
|
|
|
|
|
: Create a new List. If the optional argument `table` is given,
|
|
|
|
|
set the metatable of that value to `pandoc.List`. This is an
|
|
|
|
|
alias for [`pandoc.List:new([table])`](#pandoc.list:new).
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
|
|
|
|
## Metamethods
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`pandoc.List:__concat (list)`]{#pandoc.list:__concat}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Concatenates two lists.
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`list`:
|
|
|
|
|
: second list concatenated to the first
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Returns: a new list containing all elements from list1 and
|
|
|
|
|
list2
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
|
|
|
|
## Methods
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`pandoc.List:clone ()`]{#pandoc.list:clone}
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Returns a (shallow) copy of the list.
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
[`pandoc.List:extend (list)`]{#pandoc.list:extend}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
: Adds the given list to the end of this list.
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
`list`:
|
|
|
|
|
: list to appended
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`pandoc.List:find (needle, init)`]{#pandoc.list:find}
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Returns the value and index of the first occurrence of the
|
|
|
|
|
given item.
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`needle`:
|
|
|
|
|
: item to search for
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`init`:
|
|
|
|
|
: index at which the search is started
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Returns: first item equal to the needle, or nil if no such
|
|
|
|
|
item exists.
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`pandoc.List:find_if (pred, init)`]{#pandoc.list:find_if}
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Returns the value and index of the first element for which
|
|
|
|
|
the predicate holds true.
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`pred`:
|
|
|
|
|
: the predicate function
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`init`:
|
|
|
|
|
: index at which the search is started
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Returns: first item for which \`test\` succeeds, or nil if
|
|
|
|
|
no such item exists.
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
[`pandoc.List:filter (pred)`]{#pandoc.list:filter}
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
: Returns a new list containing all items satisfying a given
|
|
|
|
|
condition.
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
`pred`:
|
|
|
|
|
: condition items must satisfy.
|
|
|
|
|
|
|
|
|
|
Returns: a new list containing all items for which \`test\`
|
|
|
|
|
was true.
|
|
|
|
|
|
|
|
|
|
[`pandoc.List:includes (needle, init)`]{#pandoc.list:includes}
|
|
|
|
|
|
|
|
|
|
: Checks if the list has an item equal to the given needle.
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
|
|
`needle`:
|
|
|
|
|
: item to search for
|
|
|
|
|
|
|
|
|
|
`init`:
|
|
|
|
|
: index at which the search is started
|
|
|
|
|
|
|
|
|
|
Returns: true if a list item is equal to the needle, false
|
|
|
|
|
otherwise
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:35:56 +01:00
|
|
|
|
[`pandoc.List:insert ([pos], value)`]{#pandoc.list:insert}
|
|
|
|
|
|
|
|
|
|
: Inserts element `value` at position `pos` in list, shifting
|
2020-07-09 16:17:56 +02:00
|
|
|
|
elements to the next-greater index if necessary.
|
2020-01-11 20:35:56 +01:00
|
|
|
|
|
|
|
|
|
This function is identical to
|
|
|
|
|
[`table.insert`](https://www.lua.org/manual/5.3/manual.html#6.6).
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
|
|
`pos`:
|
|
|
|
|
: index of the new value; defaults to length of the list + 1
|
|
|
|
|
|
|
|
|
|
`value`:
|
|
|
|
|
: value to insert into the list
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
[`pandoc.List:map (fn)`]{#pandoc.list:map}
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Returns a copy of the current list by applying the given
|
|
|
|
|
function to all elements.
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
`fn`:
|
|
|
|
|
: function which is applied to all list items.
|
2019-01-31 19:13:36 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
[`pandoc.List:new([table])`]{#pandoc.list:new}
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
: Create a new List. If the optional argument `table` is given,
|
|
|
|
|
set the metatable of that value to `pandoc.List`.
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
Parameters:
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
`table`:
|
|
|
|
|
: table which should be treatable as a list; defaults to an
|
|
|
|
|
empty table
|
2017-12-01 17:14:28 +01:00
|
|
|
|
|
2020-01-11 20:00:02 +01:00
|
|
|
|
Returns: the updated input value
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
2020-01-11 20:35:56 +01:00
|
|
|
|
[`pandoc.List:remove ([pos])`]{#pandoc.list:remove}
|
|
|
|
|
|
|
|
|
|
: Removes the element at position `pos`, returning the value
|
|
|
|
|
of the removed element.
|
|
|
|
|
|
|
|
|
|
This function is identical to
|
|
|
|
|
[`table.remove`](https://www.lua.org/manual/5.3/manual.html#6.6).
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
|
|
`pos`:
|
2020-07-09 16:17:56 +02:00
|
|
|
|
: position of the list value that will be removed; defaults
|
2020-01-11 20:35:56 +01:00
|
|
|
|
to the index of the last element
|
|
|
|
|
|
|
|
|
|
Returns: the removed element
|
|
|
|
|
|
|
|
|
|
[`pandoc.List:sort ([comp])`]{#pandoc.list:sort}
|
|
|
|
|
|
|
|
|
|
: Sorts list elements in a given order, in-place. If `comp` is
|
|
|
|
|
given, then it must be a function that receives two list
|
|
|
|
|
elements and returns true when the first element must come
|
|
|
|
|
before the second in the final order (so that, after the
|
|
|
|
|
sort, `i < j` implies `not comp(list[j],list[i]))`. If comp
|
|
|
|
|
is not given, then the standard Lua operator `<` is used
|
|
|
|
|
instead.
|
|
|
|
|
|
|
|
|
|
Note that the comp function must define a strict partial
|
|
|
|
|
order over the elements in the list; that is, it must be
|
|
|
|
|
asymmetric and transitive. Otherwise, no valid sort may be
|
|
|
|
|
possible.
|
|
|
|
|
|
|
|
|
|
The sort algorithm is not stable: elements considered equal
|
|
|
|
|
by the given order may have their relative positions changed
|
|
|
|
|
by the sort.
|
|
|
|
|
|
|
|
|
|
This function is identical to
|
|
|
|
|
[`table.sort`](https://www.lua.org/manual/5.3/manual.html#6.6).
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
|
|
`comp`:
|
|
|
|
|
: Comparison function as described above.
|
|
|
|
|
|
2019-05-04 07:06:30 +02:00
|
|
|
|
# Module pandoc.system
|
|
|
|
|
|
|
|
|
|
Access to system information and functionality.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Static Fields
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### arch {#pandoc.system.arch}
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
|
|
|
|
The machine architecture on which the program is running.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### os {#pandoc.system.os}
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
|
|
|
|
The operating system on which the program is running.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
## Functions
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### environment {#pandoc.system.environment}
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
|
|
|
|
`environment ()`
|
|
|
|
|
|
|
|
|
|
Retrieve the entire environment as a string-indexed table.
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
- A table mapping environment variables names to their string
|
|
|
|
|
value (table).
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### get\_working\_directory {#pandoc.system.get_working_directory}
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
|
|
|
|
`get_working_directory ()`
|
|
|
|
|
|
|
|
|
|
Obtain the current working directory as an absolute path.
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
2019-08-08 20:21:31 +02:00
|
|
|
|
- The current working directory (string).
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### with\_environment {#pandoc.system.with_environment}
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
|
|
|
|
`with_environment (environment, callback)`
|
|
|
|
|
|
|
|
|
|
Run an action within a custom environment. Only the environment
|
|
|
|
|
variables given by `environment` will be set, when `callback` is
|
|
|
|
|
called. The original environment is restored after this function
|
|
|
|
|
finishes, even if an error occurs while running the callback
|
|
|
|
|
action.
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
|
|
`environment`
|
|
|
|
|
: Environment variables and their values to be set before
|
|
|
|
|
running `callback`. (table with string keys and string
|
|
|
|
|
values)
|
|
|
|
|
|
|
|
|
|
`callback`
|
|
|
|
|
: Action to execute in the custom environment (function)
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
|
|
- The result(s) of the call to `callback`
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### with\_temporary\_directory {#pandoc.system.with_temporary_directory}
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
|
|
|
|
`with_temporary_directory ([parent_dir,] templ, callback)`
|
|
|
|
|
|
|
|
|
|
Create and use a temporary directory inside the given directory.
|
|
|
|
|
The directory is deleted after the callback returns.
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
|
|
`parent_dir`
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Parent directory to create the directory in (string). If
|
|
|
|
|
this parameter is omitted, the system's canonical temporary
|
2019-05-04 07:06:30 +02:00
|
|
|
|
directory is used.
|
|
|
|
|
|
|
|
|
|
`templ`
|
|
|
|
|
: Directory name template (string).
|
|
|
|
|
|
|
|
|
|
`callback`
|
2019-08-08 20:21:31 +02:00
|
|
|
|
: Function which takes the name of the temporary directory as
|
|
|
|
|
its first argument (function).
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
|
|
- The result of the call to `callback`.
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### with\_working\_directory {#pandoc.system.with_working_directory}
|
2019-05-04 07:06:30 +02:00
|
|
|
|
|
|
|
|
|
`with_working_directory (directory, callback)`
|
|
|
|
|
|
|
|
|
|
Run an action within a different directory. This function will
|
|
|
|
|
change the working directory to `directory`, execute `callback`,
|
|
|
|
|
then switch back to the original working directory, even if an
|
|
|
|
|
error occurs while running the callback action.
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
|
|
|
|
`directory`
|
|
|
|
|
: Directory in which the given `callback` should be executed
|
|
|
|
|
(string)
|
|
|
|
|
|
|
|
|
|
`callback`
|
|
|
|
|
: Action to execute in the given directory (function)
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
|
|
- The result(s) of the call to `callback`
|
2019-05-19 15:26:00 +02:00
|
|
|
|
|
|
|
|
|
# Module pandoc.types
|
|
|
|
|
|
|
|
|
|
Constructors for types which are not part of the pandoc AST.
|
2019-05-29 22:58:35 +02:00
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
### Version {#pandoc.types.version}
|
2019-05-29 22:58:35 +02:00
|
|
|
|
|
|
|
|
|
`Version (version_specifier)`
|
|
|
|
|
|
|
|
|
|
Creates a Version object.
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
|
2020-01-11 23:19:19 +01:00
|
|
|
|
`version_specifier`:
|
2019-05-29 22:58:35 +02:00
|
|
|
|
: Version specifier: this can be a version string like
|
|
|
|
|
`'2.7.3'`, a list of integers like `{2, 7, 3}`, a single
|
2020-01-11 20:55:02 +01:00
|
|
|
|
integer, or a [Version].
|
2019-05-29 22:58:35 +02:00
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
2020-01-11 20:55:02 +01:00
|
|
|
|
- A new [Version] object.
|