| Age | Commit message (Collapse) | Author |
|
This change affects the default openxml template as well as the
OpenXML writer.
Closes #10282 (regression introduced in pandoc 3.5).
|
|
|
|
Instead of storing isDisplay and then always choosing displayMath or math
based on that, just store displayMath or math directly.
|
|
|
|
|
|
"all f []" is always true, so "null xs || all f xs" can be simplified
to just "all f xs".
|
|
This is more efficient than the existing one.
|
|
|
|
|
|
Previously, they had to be YAML objects with a `references` key.
Closes #10452.
|
|
|
|
|
|
|
|
Previously it did not (contrary to what was implied by the manual),
which means that an image with URL `/etc/passwd` would leak an
encoded version of that file to HTML output with `--self-contained`
or `--embed-resources`, even if `--sandbox` was used.
Thanks to Samuel Mortenson for pointing out the issue.
|
|
This computes the sandboxed files from Opt and avoids some
code repetition in T.P.App and T.P.App.OutputSettings.
|
|
See #10171.
|
|
Closes #5294.
|
|
This change introduces a reader for mdoc, a roff-derived semantic markup
language for manual pages. The two relevant contemporary implementations
of mdoc for manual pages are mandoc (https://mandoc.bsd.lv/), which
implements the language from scratch in C, and groff
(https://www.gnu.org/software/groff/), which implements it as roff macros.
mdoc has a lot of semantics specific to technical manuals that aren't
representable in Pandoc's AST. I've taken a cue from the mandoc HTML
output and many mdoc elements are encoded as Codes or Spans with classes
named for the mdoc macro that produced them.
Much like web browsers with HTML, mandoc attempts to produce best-effort
output given all kinds of weird and crappy mdoc input. Part of the
reason it's able to do this is it uses a very accommodating parse tree
and stateful output routines specialized to the output mode, and when it
encounters some macro it wasn't expecting, it can easily give up on
whatever it was outputting and output something else. I've encoded as
much flexibility as I reasonably could into the mdoc reader here, but I
don't know how to be as flexible as mandoc.
This branch has been developed almost exclusively against mandoc's
documentation and implementation of mdoc as a reference, and the
real-world manual pages tested against are those from the OpenBSD base
system. Of ~3500 manuals in mdoc format shipped with a fresh OpenBSD
install, 17 cause the mdoc reader to exit with a parse error. Any
further chasing of edge cases is deferred to future work.
Many of the tests in test/Tests/Readers/Mdoc.hs are derived directly
from mandoc's extensive regression tests.
[API change] Adds readMdoc to the public API
|
|
The existing lexRoff does some stuff I don't want to deal with in mdoc
just yet, like lexing tbl, and some stuff I won't do at all, like
handling macro and text string definitions and switching between modes.
Uses a typeclass with associated type families to reuse most of the
escaping code between Roff (i.e. man) and Mdoc.
Future work could improve on this so that more lexing code could be
shared between Man and Mdoc. Mdoc inherits Roff's surface syntax so
hypothetically it makes sense to lex it into tokens that make sense for
roff. But it happens that the Mdoc parser is much easier to build with
an Mdoc specific token stream. Some discussion in jgm/pandoc#10225 about
the rationale.
Adds a test for the roff \A escape, which I accidentally dropped support
for in an earlier iteration without anything complaining.
|
|
Support crossrefs.
Clean up and unify switch parsing for fields.
|
|
See #10171.
|
|
|
|
...and not produce an implicit figure in this case.
Closes #10429.
|
|
...instead of the original name.
This avoids problems with e.g. filenames containing spaces.
Closes #10404.
|
|
...e.g., when `raw_html` is disabled and the table can't be
fit into a supported markdown table format.
Closes #10407.
|
|
Text.Pandoc.ImageSize: Add `Webp` constructor on ImageType. [API change]
|
|
Closes #10390.
|
|
|
|
|
|
The plain writer behaved as a markdown variant with Ext_line_blocks
turned off, and so empty lines in a line block would get eliminated.
This is surprising, since if there's anything where the intent can be
preserved in plain text output it's empty lines.
It's still a bit surprising to have nbsps in plain text output, as in
the test, where the distinction doesn't really matter, but that'd be an
orthogonal change.
|
|
This can be set to an empty string (or, in metadata, to false) for
no page numbers.
Addresses #10370.
|
|
from the citationItem id. In this case we use the citationItemId
in the bibliography as well, overriding the referenceId in the itemData.
Closes #10366.
|
|
|
|
|
|
Closes #5769.
|
|
Closes #10266.
|
|
|
|
Closes #8584.
|
|
Closes #10318.
|
|
Divs are unwrapped if the only purpose of the div seems to be to control
whether lists are presented incrementally on slides.
Closes: #10328
|
|
Closes #10308.
The old method (checking to see if toc hash had changed) is not
completely reliable; there are cases where an additional run is
needed anyway to get the correct "logical" page
numbers (especially when different pagination is used for
front matter). See #10308 for an example.
|
|
See #10314.
|
|
|
|
If attribution is not present, don't print the `--`.
See #10320.
|
|
This affects attributions in quote blocks.
See #10320.
|
|
Text.Pandoc.Logging: add YamlWarning constructor to LogMessage
[API change].
Closes #10312.
|
|
|
|
Create MetaInlines when possible, just as with markdown input.
MetaBlocks is still used when there are multiple paragraphs or
non-paragraph content.
This change also affects field lists.
Closes #7766.
|
|
E.g. `|Python|_`.
Closes #6588.
|
|
Closes #9196.
|