Commit Graph
181 Commits
Author SHA1 Message Date
John MacFarlane d929bbf394 Bump pandoc-lua-engine to 0.5.0.1 2025-10-20 10:18:44 +02:00
John MacFarlane 3766e39389 pandoc-lua-engine: allow citeproc 0.11. 2025-10-19 23:27:09 +02:00
John MacFarlane 69709e1b1d Bump pandoc-lua-engine to 0.5. 2025-09-06 11:03:42 +02:00
John MacFarlane ede7128ea5 pandoc-lua-engine: change pandoc dependency bounds. 2025-09-06 10:59:05 +02:00
John MacFarlane ad77315d22 Bump version bound for citeproc in pandoc-lua-engine. 2025-09-04 12:23:53 +02:00
Albert Krewinkel e0acb24528 Refactor highlighting options [API Change]
A new command line option `--syntax-highlighting` is provided; it takes
the values `none`, `default`, `idiomatic`, a style name, or a path to a
theme file. It replaces the `--no-highlighting`, `--highlighting-style`,
and `--listings` options.

The `writerListings` and `writerHighlightStyle` fields of the
`WriterOptions` type are replaced with `writerHighlightStyle`.

Closes: #10525
2025-09-02 17:50:47 +02:00
Albert Krewinkel a36654b222 Lua: add function pandoc.structure.unique_identifier.
The function generates element identifiers based on inlines content.
It's primary use case is the programmatic generation of ID, similar to
what the `auto_identifiers` extension provides for many formats.
2025-08-12 21:37:35 +02:00
Albert Krewinkel 68d80cc9d9 Lua: add functions pandoc.text.superscript and subscript.
The functions convert numbers and parentheses to superscript and
subscript, respectively.
2025-08-12 08:47:49 +02:00
Albert Krewinkel 282fa55421 Lua: require hslua-module-system 1.2.3
This provides List methods to the value returned by
`pandoc.system.list_directory`.

Closes: #11032
2025-08-09 20:59:11 +02:00
Albert Krewinkel b24bba7a20 Add smart_quotes and special_strings extensions for Org
Org mode makes a distinction between smart parsing of quotes, and smart
parsing of special strings like `...`. The finer grained control over
these features is necessary to truthfully reproduce Emacs Org mode
behavior. Special strings are enabled by default, while smart quotes are
disabled.

The behavior of `special_string` is brought closer to the reference
implementation in that `\-` is now treated as a soft hyphen.
2025-08-06 12:54:12 -07:00
Albert Krewinkel 75aee7a23c Lua: use proper interface functions to access the CommonState.
- The `PANDOC_STATE` is no longer a userdata object, but a table that
  behaves like the old object.

- Log messages in `PANDOC_STATE.log` are now in temporal order.
2025-08-01 10:04:14 -07:00
Albert Krewinkel 01a305af58 Lua: add function pandoc.path.exists.
The functions allows to check the existence of file-system objects.
2025-07-23 19:31:03 +02:00
Albert Krewinkel 9893fe8c65 Lua: add normalize function to *Pandoc* objects
This function performs a normalization of Pandoc documents. E.g.,
multiple successive spaces are collapsed, and tables are normalized such
that all rows and columns contain the same number of cells.

Closes: #10356
2025-07-19 15:42:37 +02:00
Albert Krewinkel 6b81649771 Lua: add more UTF-8-aware file operations to pandoc.system.
Functions that expect UTF-8-encoded filenames should make it easier to
write platform-independent scripts, as the encoding of the actual
filename depends on the system.

Additionally, this also adds a generalized method to run commands, and
functions to retrieve XDG directory names.

The new functions are `command`, `copy`, `read_file`, `remove`,
`rename`, `times`, `write_file`, `xdg`.
2025-06-30 09:56:08 -06:00
Albert Krewinkel bffdd13038 pandoc-lua-engine: Allow hslua-2.4.0 in the tests 2025-06-25 17:06:55 +02:00
Albert Krewinkel d3f2fcc5f8 pandoc-lua-engine: Allow hslua-2.4. 2025-06-23 13:02:19 +02:00
John MacFarlane 883c8725d5 Bump pandoc-lua-engine to 0.4.3. 2025-05-28 15:03:37 -07:00
Albert Krewinkel c92cc277f5 doc/lua-filters.md: add missing docs for pandoc.Caption 2025-05-28 14:00:42 +02:00
Albert Krewinkel ce5e2a2efc Lua: add function pandoc.mediabag.make_data_uri.
The function takes a MIME type and raw data from which it creates an
RFC 2397 data URI.

Closes: #10876
2025-05-28 13:19:01 +02:00
John MacFarlane fdec82c5d8 pandoc-lua-engine: bump to 0.4.2, bump pandoc bounds. 2025-05-14 14:42:28 -07:00
Albert Krewinkel 992842d07b Lua: accept filename-contents pairs as env for pandoc.read
Key-value pairs, mapping from filename to contents, can be used to fill
the ersatz file system used in the reader sandbox.
2025-05-14 09:17:24 -07:00
Albert Krewinkel 5b896bc1a9 Lua: allow to pass files to the pandoc.read sandbox
The sandbox is now enabled if the fourth parameter is a list of files.
The files are read and then made available in the sandbox via a mock
file system.
2025-05-14 09:17:24 -07:00
Albert Krewinkel be9fbb3f67 pandoc-lua-engine: add all test files to the cabal file 2025-05-13 23:41:03 +02:00
Albert Krewinkel 31f74fac06 Lua: support sandboxed parsing with pandoc.read.
The function `pandoc.read` is now taking an optional fourth parameter
that specifies the environment in which the parser will be run. Passing
the string `sandbox` as the argument causes the reader to run in a
sandbox, thereby preventing all access to the network and file system.

Closes: #10831
2025-05-13 23:38:36 +02:00
John MacFarlane 9bb805adb0 Use citeproc-0.9. Bump citeproc bounds for pandoc, pandoc-lua-engine. 2025-05-12 00:43:39 -07:00
John MacFarlane da45a9c76a pandoc-lua-engine to 0.4.1.1, allow latest containers 2025-03-16 10:58:49 -07:00
John MacFarlane 26ad26b7e6 pandoc-lua-engine: bump to 0.4.1. 2024-12-23 00:51:49 -08:00
Albert Krewinkel a084731070 Lua: support more elements as input to pandoc.utils.stringify.
Elements of type Caption, Cell, TableHead, and TableFoot can now be
stringified.

Fixes: #10450
2024-12-10 11:45:51 +01:00
Albert Krewinkel 64f45fefa7 Lua: add Caption constructor to pandoc module. 2024-12-10 11:06:37 +01:00
John MacFarlane aaf9223b78 Depend on typst 0.6.1 2024-12-07 13:55:11 -08:00
John MacFarlane 920747918c Depend on released pandoc-lua-marshal 0.3.0. 2024-12-07 13:31:33 -08:00
John MacFarlane 809b7da7ca Bump pandoc-lua-engine to 0.4 and depend on it in pandoc-cli. 2024-12-07 12:32:19 -08:00
Andreas Deininger eeb8b1eb3a Fix typos (#10349) 2024-11-06 10:04:33 -08:00
John MacFarlane ec27d4bd22 Bump upper bound for data-default. 2024-10-28 09:41:10 -07:00
Albert Krewinkel d399943759 Lua: Remove prefixes from Lua type names
Lua type names were inconsistent with regard to the use of prefixes; all
prefixes are removed now, and Lua types now have the same name as the
Haskell types.

The use of app-specific prefixes is suggested by the Lua manual to avoid
collisions. However, this shouldn't be a problem with pandoc, as it
cannot be used as a Lua package.

Closes: #8574
2024-10-14 07:53:12 +02:00
John MacFarlane abe86835e1 Depend on latest pandoc-lua-marshall. 2024-10-05 12:45:40 -07:00
John MacFarlane 8ff24ec4e4 Bump pandoc-lua-engine to 0.3.3. 2024-10-05 12:42:08 -07:00
Albert Krewinkel a37035caa1 doc/lua-filters.md: list functions in pandoc.utils alphabetically 2024-10-01 12:24:13 +02:00
Albert Krewinkel 4cf6ddb027 Lua: allow returning a single filter from filter files
It is now possible to return a single filter from a filter file, e.g.

``` lua
-- Switch single- and double quotes
return {
  Quoted = function (q)
    elem.quotetype = elem.quotetype == 'SingleQuote'
      and 'DoubleQuote' or 'SingleQuote'
    return elem
  end
}

The filter must not contain numerical indexes, or it might be treated as
a list of filters.
2024-10-01 12:23:36 +02:00
Albert Krewinkel 7565a90cec Stop depending on package SHA
Pandoc already depends on `crypton-conntection`, and thus transitively
on `crypton`. The latter provides a vast variety of hashing algorithms
and makes the dependency on SHA unnecessary.
2024-09-29 18:36:56 +02:00
Akash PatelandJohn MacFarlane ca348940e3 Add support for list of figures (lof) and list of tables (lot) (#10029)
Two new command-line options are added:

`--lof[=true|false]`, `--list-of-figures[=true|false]`
`--lot[=true|false]`, `--list-of-tables[=true|false]`

Only docx, latex, and context are supported at this point.

Setting the `lof` and `lot` variables will also work for the formats that are
currently supported.

[API changes]

+ Lua: `list_of_figures` and `list_of_tables` can now be used in writer options.
+ Text.Pandoc.Options:  add `writerListOfFigures` and `writerListOfTables` fields
  to `WriterOptions`.
+ Text.Pandoc.App.Opt: add `optListOfFigures` and `optListOfTables` to `Opt`.

Closes #8245.

Co-authored-by: John MacFarlane <jgm@berkeley.edu>
2024-09-22 11:49:52 -07:00
Albert Krewinkel 8aa796f30a Lua: support character styling via pandoc.layout
The `Doc` values produced and handled by the `pandoc.layout` module can
now be styled using `bold`, `italic`, `underlined`, or `strikeout`. The
style is ignored in normal rendering, but becomes visible when rendering
to ANSI output. The `pandoc.layout.render` function now takes a third
parameter that defines the output style, either *plain* or *ansi*.
2024-09-21 15:20:34 +02:00
Albert Krewinkel 05aa18420f Lua: update List module
The module now comes with a method `:at(index[, def])` that allows to access
indices, accepts negative indices to count from the end, and will return the
`def` value as a default if the list has no item at the given position.

Furthermore, the list constructor `pandoc.List` now accepts iterators. E.g.,
`pandoc.List(text:gmatch '%S+')` returns the list of words in `text`.

Closes: #9835
2024-09-21 10:10:35 +02:00
John MacFarlane a0e0973c63 Bump pandoc-lua-engine to 0.3.2. 2024-09-09 22:13:27 -07:00
John MacFarlane a256f007cf Depend on doclayout 0.5. 2024-09-09 08:18:28 -07:00
John MacFarlane 477e235f6e pandoc-lua-engine: marshall list_tables, epub_title_page writer options. 2024-09-08 09:42:20 -07:00
John MacFarlane 25b9314472 Finishing touches on --link-images:
- Document in defaults file section of MANUAL.
- Add to pandoc-lua-engine writer option marshalling.
- Add to pandoc-server initialization of writer options.
2024-09-08 09:07:55 -07:00
John MacFarlane 45da887ff7 Include accessors for new writer options 2024-09-08 08:52:23 -07:00
John MacFarlane ac98a22bee Bump pandoc version in pandoc-lua-engine. 2024-07-28 13:45:13 -07:00
John MacFarlane 7200b2bbfc Bump pandoc-lua-engine version to 0.3.1, depend on it in pandoc-cli 2024-07-28 13:44:12 -07:00