Commit graph

470 commits

Author SHA1 Message Date
John MacFarlane
bc947a4496 Use latest doctemplates, commonmark-extensions in stack.yaml. 2021-12-18 09:49:09 -08:00
John MacFarlane
6303952623 Use dev texmath. 2021-12-14 22:22:09 -08: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
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
8215ca081d Use latest dev version of ipynb.
This should give us deterministic JSON output for mime bundles.
2021-12-08 08:55:26 -08:00
John MacFarlane
51142c6803 Ipynb reader & writer: properly handle cell "id".
This is passed through if it exists (in Nb4); otherwise
the writer will add a random one so that cells all have
an "id".

Closes #7728.
2021-12-06 23:40:51 -08:00
John MacFarlane
928c120806 Allow unicode-transforms 0.4.0. 2021-12-02 09:00:33 -08:00
Albert Krewinkel
c5287e9de5
stack.yaml: use pandoc-lua-marshal-0.1.0.1 2021-11-28 16:19:34 +01:00
Albert Krewinkel
3692a1d1e8
Lua: use package pandoc-lua-marshal (#7719)
The marshaling functions for pandoc's AST are extracted into a separate
package. The package comes with a number of changes:

  - Pandoc's List module was rewritten in C, thereby improving error
    messages.

  - Lists of `Block` and `Inline` elements are marshaled using the new
    list types `Blocks` and `Inlines`, respectively. These types
    currently behave identical to the generic List type, but give better
    error messages. This also opens up the possibility of adding
    element-specific methods to these lists in the future.

  - Elements of type `MetaValue` are no longer pushed as values which
    have `.t` and `.tag` properties. This was already true for
    `MetaString` and `MetaBool` values, which are still marshaled as Lua
    strings and booleans, respectively. Affected values:

      + `MetaBlocks` values are marshaled as a `Blocks` list;

      + `MetaInlines` values are marshaled as a `Inlines` list;

      + `MetaList` values are marshaled as a generic pandoc `List`s.

      + `MetaMap` values are marshaled as plain tables and no longer
        given any metatable.

  - The test suite for marshaled objects and their constructors has
    been extended and improved.

  - A bug in Citation objects, where setting a citation's suffix
    modified it's prefix, has been fixed.
2021-11-27 17:08:01 -08:00
John MacFarlane
06eb889e92 Use released texmath. 2021-11-20 15:18:19 -08:00
John MacFarlane
3ac7deadce Use latest dev texmath. 2021-11-16 21:47:27 -08:00
Albert Krewinkel
327bdd66b6
stack.yaml: require latest lpeg 2021-11-08 16:04:10 +01:00
Albert Krewinkel
a1b6bf69f2
Lua: include lpeg module (#7649)
Compiles the 'lpeg' library (Parsing Expression Grammars For Lua) into
the program.

Package maintainers may choose to rely on package dependencies to make
lpeg available, in which case they can compile the with the constraint
`lpeg +rely-on-shared-lpeg-library`.
2021-11-04 19:25:29 -07:00
Albert Krewinkel
4ea2baf814
Require latest hslua (2.0.1).
This fixes issues with

  - misleading error messages when a required function parameter is
    omitted;
  - absent properties still being listed in the output of `pairs`; and
  - alias accessing leading to errors instead of returning `nil`, e.g.
    with `(pandoc.Str '').identifier`.

Fixes: #7661
See also: #7657
2021-11-04 12:34:07 +01:00
John MacFarlane
a1e422097a Require latest skylighting (0.12.1). 2021-10-27 21:13:29 -07:00
John MacFarlane
87a98b76ce Use ipynb 0.1.0.2.
With this change pandoc can be built with aeson >= 2.
2021-10-23 16:27:51 -07:00
John MacFarlane
45054733fa Use citeproc 0.6, commonmark 0.2.2.1, commonmark-extensions 0.2.2 2021-10-22 17:31:40 -07:00
John MacFarlane
ce1aca4a32 Use texmath 0.12.3.2 2021-10-22 16:42:21 -07:00
John MacFarlane
a9f4bff5e2 Use pandoc-types 1.22.1. 2021-10-22 14:34:58 -07:00
Albert Krewinkel
9e74826ba9 Switch to hslua-2.0
The new HsLua version takes a somewhat different approach to marshalling
and unmarshalling, relying less on typeclasses and more on specialized
types. This allows for better performance and improved error messages.

Furthermore, new abstractions allow to document the code and exposed
functions.
2021-10-22 11:16:51 -07:00
John MacFarlane
c636b5dd16 Revert "Depend on pandoc-types 1.23, remove Null constructor on Block."
This reverts commit fb0d6c7cb6.
2021-10-12 21:00:15 -07:00
John MacFarlane
6593f9638e cabal.project: Dependencies to build with aeson 2. 2021-10-12 19:39:47 -07:00
John MacFarlane
051c366029 Depend on latest dev version of commonmark. 2021-10-12 17:44:59 -07:00
John MacFarlane
972012a42a Require doclayout >= 0.3.1.1.
This fixes recognition of "real widths" of emoji characters,
which is important for tabular layout.
2021-10-11 21:05:27 -07:00
John MacFarlane
0ec16d151f Stack: use latest doclayout 2021-10-10 14:02:28 -07:00
John MacFarlane
a76d5f620b Use latest emojis. 2021-10-10 13:39:10 -07:00
John MacFarlane
fb0d6c7cb6 Depend on pandoc-types 1.23, remove Null constructor on Block. 2021-10-01 15:42:00 -07:00
John MacFarlane
d6dbbb89d0 Use latest citeproc. 2021-09-22 13:21:56 -07:00
John MacFarlane
5891f4f418 Use skylighting-0.12, skylighting-core-0.12.
This fixes highlighting issues with typescript, scala,
and other syntaxes that include keyword lists from
different syntaxes.
2021-09-18 20:55:41 -07:00
John MacFarlane
c6cd92a0a3 stack.yaml: use lts-18.10 resolver. 2021-09-16 19:28:38 -07:00
John MacFarlane
b34dc28926 Use latest dev version of texmath. 2021-09-13 22:36:14 -07:00
John MacFarlane
84b5c55448 Use latest dev citeproc. 2021-09-10 21:29:44 -07:00
John MacFarlane
37e30560ad Use dev version of citeproc. 2021-09-09 23:27:58 -07:00
John MacFarlane
4c6af94f1c Use released citeproc 0.5. 2021-08-17 14:31:00 -07:00
John MacFarlane
82638ad53b Convert Quoted in bib entries to special Spans...
before passing them off to citeproc.
This ensures that we get proper localization and flipflopping
if, e.g., quotes are used in titles.

Closes jgm/citeproc#87.
2021-08-13 19:25:29 -07:00
John MacFarlane
15683bb607 Citeproc: avoid odd handling of quotes.
citeproc changes allow us to ignore Quoted elements;
citeproc now uses its own method for represented quoted
things, and only localizes and flipflops quotes it adds itself.

See #87.

The one thing left to do is to convert Quoted elements in
bibliography databases (esp. titles) to `Span ("",["csl-quoted"],[])`
before passing them to citeproc, IF the localized quotes
for the quote type match the standard inverted commas.
2021-08-13 18:13:06 -07:00
John MacFarlane
05640f9a21 Removed quote localization from citeproc processing.
This is now done in citeproc itself.
2021-08-13 17:30:54 -07:00
John MacFarlane
168b559c96 Use doctemplates 0.4.1 and citeproc 0.10. 2021-07-18 10:55:27 -07:00
John MacFarlane
cfa52e5824 Use skylighting 0.11. 2021-07-17 23:29:15 -07:00
John MacFarlane
ff26af59ac Revamp note citation handling.
Use latest citeproc, which uses a Span with a class rather
than a Note for notes.  This helps us distinguish between
user notes and citation notes.

Don't put citations at the beginning of a note in parentheses.
(Closes #7394.)
2021-07-05 13:19:33 -07:00
John MacFarlane
b7572db224 Use dev version of citeproc.
This eliminates double hyperlinks in author-in-text citations.
Author-only citations are no longer hyperlinked.
See jgm/citeproc#77.
2021-06-29 09:18:49 -07:00
John MacFarlane
382be73d77 Use dev version of citeproc.
This fixes moving of punctuation inside quotes to conform to
the CSL spec: only comma and period are moved, not question
mark or exclamation point.
2021-06-28 22:56:16 -07:00
John MacFarlane
7ac8fcbcac Require commonmark-pandoc >= 0.2.2.1.
This fixes task lists with multiple paragraphs.
2021-06-28 12:20:12 -07:00
John MacFarlane
7dcf727382 Use dev version of doctemplates. 2021-06-22 23:58:24 -07:00
John MacFarlane
0c4ed0045a Bump to 2.14.0.3, update changelog, require latest skylighting. 2021-06-20 19:25:43 -07:00
John MacFarlane
39d019ca73 Use lts-18.0 stack resolver. 2021-06-20 18:17:38 -07:00
John MacFarlane
a8556ac06c Require commonmark 0.2.1. 2021-06-20 17:46:47 -07:00
John MacFarlane
17a2f4c49d Require citeproc 0.4.0.1.
This fixes a bug which led to doubled "et al." in some
(rare) circumstances.
2021-06-05 10:04:30 -06:00
John MacFarlane
f363f00db8 Use commonmark-extensions 0.2.1.2 2021-05-29 19:20:03 -07:00