Commit graph

239 commits

Author SHA1 Message Date
Albert Krewinkel
a0af1b5926
Lua: change representation of TableHead, TableFoot, and Row values.
The objects now also follow the principle that element attributes are
accessible through the `.attr` field. Rows in `TableHead` and
`TableFoot` are available via the `.rows` field. Row objects have a
`.cells` field, containing the list of table cells.

Closes: #7718
2021-12-19 09:44:56 +01:00
Albert Krewinkel
7a70b87fac Lua: add function pandoc.utils.references
List with all cited references of a document.

Closes: #7752
2021-12-17 14:45:27 -08:00
Albert Krewinkel
ce44cf688a
doc/lua-filters.md: add docs for Cell constructor 2021-12-14 09:13:38 +01:00
Albert Krewinkel
b8ada284b1
doc/lua-filters.md: update description of walk methods, fix typos 2021-12-13 21:03:26 +01:00
Albert Krewinkel
b79bf192ec Lua: support topdown traversals
The traversal order of filters can now be selected by setting the key
`traverse` of the filter to either `'topdown'` or `'typewise'`; the
default remains `'typewise'`.

Topdown traversals can be cut short by returning `false` as a second
value from the filter function. No child-element of the returned element
is processed in that case.
2021-12-13 08:52:19 -08:00
Albert Krewinkel
e88224621d Custom reader: ensure old Readers continue to work
Retry conversion by passing a string instead of sources when the
`Reader` fails with a message that hints at an outdated function. A
deprecation notice is reported in that case.
2021-12-11 08:59:11 -08:00
Albert Krewinkel
83b5b79c0e Custom reader: pass list of sources instead of concatenated text
The first argument passed to Lua `Reader` functions is no longer a plain
string but a richer data structure. The structure can easily be
converted to a string by applying `tostring`, but is also a list with
elements that contain each the *text* and *name* of each input source as
a property of the respective name.

A small example is added to the custom reader documentation, showcasing
its use in a reader that creates a syntax-highlighted code block for
each source code file passed as input.

Existing readers must be updated.
2021-12-11 08:59:11 -08:00
Albert Krewinkel
3e7b46af64
Switch to released pandoc-lua-marshal-0.1.2
Cell values are now marshaled as userdata objects; a constructor
function for table cells is provided as `pandoc.Cell`.
2021-12-10 17:24:50 +01:00
Albert Krewinkel
fa643ba6d7 Lua: update to latest pandoc-lua-marshal (0.1.1)
- `walk` methods are added to `Block` and `Inline` values; the methods
  are similar to `pandoc.utils.walk_block` and
  `pandoc.utils.walk_inline`, but apply to filter also to the element
  itself, and therefore return a list of element instead of a single
  element.

- Functions of name `Doc` are no longer accepted as alternatives for
  `Pandoc` filter functions. This functionality was undocumented.
2021-12-09 09:22:29 -08:00
John MacFarlane
72075423d0 custom-writers.md: use filter to include source of example. 2021-12-06 13:04:51 -08:00
John MacFarlane
0892af33ae Suggest VSCode as a possible editor in getting-started.md. 2021-12-02 08:28:18 -08:00
Albert Krewinkel
fa838deefc
Lua: remove pandoc.utils.text (#7720)
The new `pandoc.Inlines` function behaves identical on string input, but
allows other Inlines-like arguments as well.

The `pandoc.utils.text` function could be written as

    function pandoc.utils.text (x)
      assert(type(x) == 'string')
      return pandoc.Inlines(x)
    end
2021-11-29 09:12:30 -08:00
Mauro Bieg
136739b7ed
fix typo in custom-readers.md (#7722) 2021-11-29 08:59:37 -08:00
Albert Krewinkel
32a4c331d2
doc/lua-filters.md: update docs on Blocks, Inlines, MetaValue 2021-11-28 16:02:48 +01:00
Albert Krewinkel
b9222e5cb1
Lua: add constructors pandoc.Blocks and pandoc.Inlines
The functions convert their argument into a list of Block and Inline
values, respectively.
2021-11-28 16:02:42 +01:00
John MacFarlane
b72ba3ed6d Simplify sample ris reader in doc/custom-readers.md.
Made possible by #7712.
2021-11-23 09:57:09 -08:00
Albert Krewinkel
bffd74323c
Lua: add function pandoc.utils.text (#7710)
The function converts a string to `Inlines`, treating interword spaces
as `Space`s or `SoftBreak`s. If you want a `Str` with literal spaces,
use `pandoc.Str`.

Closes: #7709
2021-11-23 09:32:53 -08:00
John MacFarlane
a039f024f2 Add an example to custom-readers.md. 2021-11-22 14:58:18 -08:00
John MacFarlane
1d56e6059e Add custom-writers.md. 2021-11-21 10:10:27 -08:00
Albert Krewinkel
464abdc854
Rename doc/custom-reader.lua to doc/custom-readers.md 2021-11-21 10:16:20 +01:00
John MacFarlane
3e5af46471 Add doc for custom-readers. 2021-11-18 09:04:24 -08:00
Albert Krewinkel
cd91f72843
Lua: set lpeg, re as globals; allow shared lib access via require
The `lpeg` and `re` modules are loaded into globals of the respective
name, but they are not necessarily registered as loaded packages. This
ensures that

- the built-in library versions are preferred when setting the globals,
- a shared library is used if pandoc has been compiled without `lpeg`,
  and
- the `require` mechanism can be used to load the shared library if
  available, falling back to the internal version if possible and
  necessary.
2021-11-17 10:03:04 +01:00
Albert Krewinkel
ebf7f782d3 Lua: load re module available into global of the same name 2021-11-11 10:32:37 -08:00
Albert Krewinkel
fe113dd5fa
JATS template: fix incomplete previous commit 2021-11-11 09:44:49 +01:00
Albert Krewinkel
6b462e5933 Lua: allow to pass custom reader options to pandoc.read
Reader options can now be passed as an optional third argument to
`pandoc.read`. The object can either be a table or a ReaderOptions value
like `PANDOC_READER_OPTIONS`. Creating new ReaderOptions objects is
possible through the new constructor `pandoc.ReaderOptions`.

Closes: #7656
2021-11-06 09:04:29 -07:00
Albert Krewinkel
1fa6e53425
doc/lua-filters.md: add section on global modules, including lpeg 2021-11-05 22:38:40 +01:00
John MacFarlane
84e4222fed short-guide: Transitions -> Transformations. 2021-10-27 16:19:39 -07:00
Albert Krewinkel
3849e12d45 Update description of T.P.PDF
Co-authored-by: Mauro Bieg <mb21@users.noreply.github.com>
2021-10-27 16:16:53 -07:00
Albert Krewinkel
25b031e3c3 Add a short guide to pandoc's sources 2021-10-27 16:16:53 -07:00
John MacFarlane
26a8de684e Change JSON encodings of some types.
- For LineEnding use lowercase constructors, e.g. `crlf`, `native`.
  This was the original intent, but there was a bug in the
  implementation.
- For HTMLSlideVariant use lowercase constructors.
- For ReaderOptions use e.g. `default-image-extension`
  instead of `readerDefaultImageExtension` for field names.
- For Extension, use e.g. `tex_math_dollars` instead of
  `Ext_tex_math_dollars` as constructor.
- For Extensions, use an array of Extensions, instead of
  an object wrapping the tag `Extensions` and an integer.
  (The representation is not supposed to be part of the
  public API.)
- For Opt, use field names like `tab-stop` instead of `optTabStop`.
2021-10-27 12:50:51 -07:00
Quinn
2b427331d9
Rephrase pandoc.path docs (#7548) 2021-09-04 22:47:01 -07:00
Quinn
db03e75e27 Improve order of Image fields
Ensure consistency throughout docs
2021-09-04 09:52:43 -07:00
Quinn
531eb2a92a Add missing type for Image title 2021-09-04 09:51:58 -07:00
Jeroen de Haas
7d91ff28ac Do not leak working directory in TikZ filter 2021-08-30 08:35:35 -07:00
John MacFarlane
c1ab55793b Add a faq about the "Cannot allocate memory" error on M1 macs. 2021-08-01 10:29:47 -06:00
John MacFarlane
95541294d3 Add FAQ on converting from/to PDF 2021-07-03 15:51:07 -07:00
John MacFarlane
e00e5a4cc2 Add doc/faqs.md.
This is imported from the website; in the future the website
version will be drawn from here.

Added a FAQ on the use of `\AtEndPreamble` for cases when
the contents of `header-includes` need to refer to definitions
that come later in the preamble.  See #7422.
2021-07-03 15:19:39 -07:00
Albert Krewinkel
e66960fe4f
using-the-pandoc-api.md: switch from String to Text
Fixed examples that would no longer compile with current library
versions, as the API now uses Text instead of String in most places.
2021-06-08 12:38:20 +02:00
Sebastian Humenda
39afd4297f Mention GladTeX for EPUB export
This updates the manual and the web site about the GladTeX usage.
2021-06-07 19:17:39 -06:00
John MacFarlane
f69f1101e6 Update doc/using-the-pandoc-api.md for new reader types. 2021-05-09 19:11:34 -06:00
John MacFarlane
56a0d874c7 Add instructions for installing pandoc-types before compiling filter. 2021-04-30 08:35:52 -07:00
John MacFarlane
d0d8bb9818 Add unicode-collation to list of libraries developed to support pandoc. 2021-04-26 09:29:47 -07:00
Charanjit Singh
b159daa8e9
docs/org.md: Add note about default export behavior of org-mode in (#7238)
Since it seem to be a common source of confusion, this commit adds a note in
org-mode documentation referring users to consult org-mode's export
documentation when they find themselves in a pinch.
2021-04-26 11:54:25 +02:00
obcat
08598dedb1
Fix typo (#7200) 2021-04-03 09:36:54 -07:00
Anti-Distinctlyminty
7e887c0a22
Update org.md (#7189)
SELECT_TAGS supported since ac83b9c37c
2021-03-30 08:34:44 -07:00
TatianaPorras
a02ab4622d Fixed typo #7159
This commit fixes the typo in the Lua filters documentation, see #7159
2021-03-28 14:16:32 +02:00
TatianaPorras
69d44b2c82 Fixed "The this" typo in lua-filters.md
The documentation for Lua filters said "The this module defines..."

This has been fixed to say "This module defines..."
2021-03-28 14:14:13 +02:00
Albert Krewinkel
872b4313a1
JATS templates: support 'equal-contrib' attrib for authors
Authors who contributed equally to a paper may be marked with
`equal-contrib`.
2021-03-11 11:07:59 +01:00
John MacFarlane
50e6d3ed23 Add doc/libraries.md.
A description of libraries that support pandoc.
2021-03-02 17:44:19 -08:00
Salim B
fae6a204f1
Fix/update URLs and use HTTP**S** where possible (#7122) 2021-02-26 17:56:04 -08:00