Age | Commit message (Collapse) | Author | Files | Lines |
|
The function is no longer required for element comparisons; it is now an
alias for the `==` operator.
|
|
with `-f commonmark+sourcepos`.
Closes #7769.
|
|
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
|
|
|
|
|
|
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.
|
|
Cell values are now marshaled as userdata objects; a constructor
function for table cells is provided as `pandoc.Cell`.
|
|
- `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.
|
|
This should give us deterministic JSON output for mime bundles.
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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`.
|
|
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
|
|
|
|
With this change pandoc can be built with aeson >= 2.
|
|
|
|
|
|
|
|
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.
|
|
This reverts commit fb0d6c7cb63a791fa72becf21ed493282e65ea91.
|
|
|
|
|
|
This fixes recognition of "real widths" of emoji characters,
which is important for tabular layout.
|
|
|
|
|
|
|
|
|
|
This fixes highlighting issues with typescript, scala,
and other syntaxes that include keyword lists from
different syntaxes.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
This is now done in citeproc itself.
|
|
|
|
|
|
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.)
|
|
This eliminates double hyperlinks in author-in-text citations.
Author-only citations are no longer hyperlinked.
See jgm/citeproc#77.
|
|
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.
|
|
This fixes task lists with multiple paragraphs.
|
|
|
|
|
|
|