The HTML standard requires all list items to be marked with a `<li>`
tag, but some tools fail to do so for sublists. The reader now accepts
these unwrapped lists as sublists.
Closes: #8150
Images that cannot be fetched are replaced with a Span that contains the
image's description. The span now also retains all original image
attributes and inherits all attributes of the image. Furthermore, the
classes `image` and `placeholder` are added, and path and title are
store in attributes `original-image-src` and `original-image-title`,
respectively.
Closes: #8099
Spans with "smallcaps" as the first class are converted to *SmallCaps*
elements. While previously no other classes or attributes were allowed,
additional classes, attributes, and an identifier are not permitted and
kept in a *SmallCaps* wrapping *Span* element.
The same change is applied to underline spans, where the first class
must be either "ul" or "underline".
Closes: #4102
* Add tests for zero-width and fullwidth chars in grid tables
* T.P.Parsing: simplify `gridTableWith'`, `gridTableWith` [API Change]
The functions `gridTableWith` and `gridTableWith'` no longer takes a
boolean argument that toggles whether a table head should be parsed:
both, tables with heads and without heads, are always accepted now.
* Support colspans, rowspans, and multirow headers in grid tables.
Grid tables in Markdown, reStructuredText, and Org can now contain cells
spanning over multiple columns and/or multiple rows; table headers
containing multiple rows are supported as well.
Note: the markdown writer does not yet support these more complex grid
table features.
The `tex_math_dollars` extension is now supported for `dokuwiki`
(but off by default).
Content inside `<latex>...</latex>` is parsed as raw LaTeX inline,
and inside `<LATEX>..</LATEX>` as raw LaTeX block.
In addition, this commit changes the behavior of `<php>...</php>` so
that instead of producing a code block, it produces raw HTML
with `<?php ... ?>`.
Closes#8178.
The mediabag is filled with document resources after the filters have
run. This allows, for example, filter authors to modify image paths
before pandoc tries to fetch the images.
Lua filters that rely on a filled mediabag can use the new
`pandoc.mediabag.fill` function to perform that action in the filter.
Closes: #8099
Previously we always used MathML for math in EPUB3, because
the spec includes MathML. But this is not widely supported
by readers, so it seems better to allow users to choose their
math method as they can with EPUB2 or HTML.
Closes#8164.
NOTE! Existing workflows that produce EPUBv3 documents including
math will be affected by this change. You must add `--mathml` to
your command line if you want to continue producing MathML.
Previously classes like "underline" and "marked" had to
be the first class in a span in order for the span to be
interpreted as a "ul" or "mark" element. This commit allows
these special classes to be "stacked," e.g.
`[test]{.mark .underline}`; in addition, the special classes are no
longer required to come first in the list of classes.
See #8194 for context.
The module now has the additional functions `list_directory`,
`make_directory`, and `remove_directory`. This makes it easier to write
cross-platform scripts that need to inspect or modify the file system.
The previous code threw away the directory component of
the filename in constructing a new one. This led to
surprising results if you had e.g. `foo/pic.svg` and `bar/pic.svg`;
in the final PDF they'd be the same image, because the latter
would overwrite the former in the temp directory.
parsed as inlines, as the manual states.
Previously, they were parsed as inlines if they would
otherwise have been a single Plain or Para, but otherwise
left unchanged. This led to some quirky results (e.g. #8143).
We now use the general function `blocksToInlines` from T.P.Shared.
The following table feature are now supported in ConTeXt:
- colspans,
- rowspans,
- multiple bodies,
- row headers, and
- multi-row table head and foot.
The wrapping `placetable` environment is also given a `reference` option
with the table identifier, enabling referencing of the table from within
the document.
Add `formatCode` function to Text.Pandoc.Shared [API change].
Use this in the LaTeX reader so that e.g.
`\texttt{\textbf{bold code}}` is parsed as `Strong [Code ("",[],[]) "bold code"]`.
This was a leftover from previous hslua versions that relied heavily on
`Foreign.C.withCString` and the like. However, hslua 2 and later use
bytestring functions to retrieve string values, so this is no longer
needed.
When converting e.g. an align environment to an aligned environment
inside a Math element, we need to include a newline before the
`\end{aligned}`, since the previous line might end in a comment.
Closes#8122.
* PandocMonad: add new function `findFileWithDataFallback` [API Change]
* Custom readers: allow files to be placed in "readers" data dir
* Custom writers: allow files to be placed in "writers" data dir
The function allows to fill the mediabag with all images in a given
document. Images that cannot be fetched are replaced with a Span
containing the image description.
The document hierarchy is now conveyed using the
`\startsectionlevel`/`\stopsectionlevel` by default. This makes it easy
to include pandoc-generated snippets in documents at arbitrary levels.
The more semantic environments "chapter", "section", "subsection", etc.
are used if the `--top-level-division` command line parameter is set to
a non-default value.
Closes: #5539
Autolinks, i.e. links with content that's the same as the linked URL,
are now marked with the `\url` command. All other links, both internal
and external, are created with the `\goto` command, leading to shorter,
slightly more idiomatic code. As before, autolinks can still be styled
via `\setupurl`, other links via `\setupinteraction`.