aboutsummaryrefslogtreecommitdiff
path: root/pandoc.cabal
AgeCommit message (Collapse)Author
2025-07-26New `xml` format exactly representing a Pandoc AST.massifrg
This adds a reader and writer for an XML format equivalent to `native` and `json`. XML schemas for validation can be found in `tools/pandoc-xml.*`. The format is documented in `doc/xml.md`. API changes: - Add module Text.Pandoc.Readers.XML, exporting `readXML`. - Add module Text.Pandoc.Writers.XML, exporting `writeXML`. A new unexported module Text.Pandoc.XMLFormat is also added.
2025-07-23Revise Makefile and CI treatment of `--ghc-options`.John MacFarlane
Previously we set `--ghc-options` in Makefile and CI; but this overrides the ghc-options set in the pandoc.cabal file. Better to add options one-by-one using `--ghc-option`. We no longer use GHC_OPTIONS and just put these extra options in CABAL_OPTIONS.
2025-06-03Docx reader: handle strict OpenXML as well as transitional.John MacFarlane
Closes #7691.
2025-05-28Require texmath 0.12.10.3, typst 0.8.0.1John MacFarlane
2025-05-28Bump to 3.7.0.2, also pandoc-cli.John MacFarlane
2025-05-16Bump pandoc/pandoc-cli to 3.7.0.1, update changelog.John MacFarlane
2025-05-16Fix problems with gridTable and add tests.John MacFarlane
Closes #10848.
2025-05-14Bump version to 0.7John MacFarlane
2025-05-12Use citeproc 0.9.0.1John MacFarlane
2025-05-12Use latest texmath and dev typst.John MacFarlane
2025-05-12Use texmath-0.12.10.1John MacFarlane
2025-05-12Use citeproc-0.9. Bump citeproc bounds for pandoc, pandoc-lua-engine.John MacFarlane
2025-04-29Use released texmath 0.12.10.John MacFarlane
2025-04-05Allow compilation with random 1.2.*.John MacFarlane
2025-03-31Require random >= 1.3 and use `splitGen`.John MacFarlane
`split` has been deprecated.
2025-03-16Bump to 3.6.4 (also in pandoc-cli), update changelog.John MacFarlane
2025-03-16Use latest releases of texmath, typst.John MacFarlane
2025-03-16Allow latest tasty-bench.John MacFarlane
2025-03-16Allow containers 0.8.John MacFarlane
2025-02-09Put changelog.md in extra-doc-files as required.John MacFarlane
2025-02-09cabal files: use https: for repo url.John MacFarlane
2025-02-09Bump pandoc and pandoc-cli to 3.6.3, update changelog.John MacFarlane
Note: we don't have an API change, but we choose to increment the third digit because of some significant behavior changes.
2025-02-09Depend on released commonmark-pandoc, commonmark-extensions.John MacFarlane
2025-02-09Use released citeproc 0.8.1.3John MacFarlane
2025-02-08Use released typst 0.6.2John MacFarlane
2025-02-01Raise xml-conduit upper bound.John MacFarlane
2025-01-12Bump to 3.6.2, update changelogJohn MacFarlane
2025-01-12Use texmath 0.12.8.13John MacFarlane
2025-01-12Revert "Depend on skylighting 0.14.6"John MacFarlane
This reverts commit 12bce32bff7e74e0c405e0a979ef5d3e3528c4ad. We don't need this yet, until we have a solution to #10525.
2025-01-10Docx reader: read table styles as custom styles...John MacFarlane
...when `styles` extension is enabled. Closes #9603. Also improve manual's coverage of custom styles.
2025-01-07Depend on skylighting 0.14.6John MacFarlane
2025-01-06CI: test with ghc 9.8, 9.10John MacFarlane
2025-01-05Allow random 1.3.John MacFarlane
2024-12-27Add Pod readerEvan Silberman
Pod ("Plain old documentation") is a markup languaged used principally to document Perl modules and programs. Since it was originally meant to be translated pretty directly to man, the semantics are fairly simple. This Pod reader was developed with reference to the canonical user and implementer documentation of Pod: https://perldoc.perl.org/perlpod and https://perldoc.perl.org/perlpodspec. There are 1490 .pod, .pl, and .pm in the Perl 5.34 distribution found in /System/Library/Perl on my mac. Of those, this reader dies with a parse error on 7 of them. All of them seem to be cases where pod commands are found within a non-colon-prefixed =begin/=end. perlpodspec says I may treat this as an error. [API change] adds readPod
2024-12-22Bump to 3.6.1, update changelogJohn MacFarlane
2024-12-22Depend on skylighting/skylighting-core 0.14.5John MacFarlane
2024-12-11Depend on citeproc 0.8.1.2.John MacFarlane
2024-12-07Depend on new releases of commonmark-extensions, commonmark-pandoc.John MacFarlane
2024-12-07Depend on released skylighting, skylighting-core 0.14.4.John MacFarlane
2024-12-07Depend on typst 0.6.1John MacFarlane
2024-12-07Depend on texmath 0.12.8.12John MacFarlane
2024-12-07Bump to 3.6, update changelog.John MacFarlane
2024-12-05Add mdoc readerEvan Silberman
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
2024-12-05Parameterize Roff escapingEvan Silberman
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.
2024-11-12Add font-settings.latex partial to pandoc.cabal.John MacFarlane
Closes #10379.
2024-11-11Remove definitions.typst partial.John MacFarlane
Remove unnecessary definition of `endnote`. Incorporate the one remaining definition into `default.typst`.
2024-11-03Allow Diff 0.1.John MacFarlane
(Tested.)
2024-10-28Bump upper bound for data-default.John MacFarlane
2024-10-21Issue warnings for duplicate YAML metadata keys.John MacFarlane
Text.Pandoc.Logging: add YamlWarning constructor to LogMessage [API change]. Closes #10312.
2024-10-05Bump version of pandoc and pandoc-cli to 3.5.John MacFarlane