Commit Graph
18572 Commits
Author SHA1 Message Date
Tuong Nguyen Manh 6592dfb082 pptx writer: Handle reference doc without slides (#11310)
An empty `sldIdLst` is now added if the reference doc is missing one so that
`modifySldIdLst` can replace it. To ensure PowerPoint doesn't say that the file
will need fixing, the `sldIdLst` has to be placed after the `sldMasterIdLst`.
I also added a test to ensure that if there are notes, they will be placed between
the `sldMasterIdLst` and `sldIdLst`. Otherwise PowerPoint wouldn't show the
slide of a note when viewing Notes Pages.

Closes #7536.
2025-11-30 13:17:34 +01:00
John MacFarlane 176d9be0f3 Change message for missing HTML title warning.
Suggest setting the `pagetitle` variable instead of setting
`title` in metadata, which also has the effect of adding an h1
element.

Closes #11307.
2025-11-30 12:22:56 +01:00
John MacFarlane af9443a981 RST reader: correctly handle intraword emphasis.
Closes #11309.
2025-11-30 12:16:40 +01:00
John MacFarlane 37b7bd3b38 Use latest dev asciidoc. 2025-11-30 11:08:32 +01:00
John MacFarlane cc9be5d9cb Make Control.Monad import unqualified.
ghc 9.6+ needs the import of MonadPlus, but previous
versions give a warning.
2025-11-30 10:25:10 +01:00
John MacFarlane 0d8cc2fa8b CI: don't fail fast so we can figure out...
which base versions need MonadPlus imported.
2025-11-29 18:44:53 +01:00
John MacFarlane fc4b6200bb Avoid compiler warning with mplus import. 2025-11-29 17:46:44 +01:00
John MacFarlane 8651ec3c28 Add asciidoc as an input format.
New exported module Text.Pandoc.Readers.AsciiDoc,
exporting readAsciiDoc [API change].

The bulk of parsing is handled by the asciidoc library.

Closes #1456.
2025-11-29 17:04:42 +01:00
John MacFarlane 525113c31e Fix warning in Docx reader test. 2025-11-24 23:39:59 +01:00
Anton Antich 59b8b3ed4b Add xlsx (Microsoft Excel) as an input format.
Each worksheet turns into a section containing a table.

The common file `nativeDiff` has been extract from
the Docx and Pptx text files and put in Tests.Helpers.
2025-11-24 23:10:33 +01:00
Anton Antich ec75b693e5 Support pptx (PowerPoint) as an input format.
New module `Text.Pandoc.Readers.Pptx`,
exporting `readPptx`. [API change]

Factored out some common OOXML functions from
Text.Pandoc.Readers.Docx.Util into a non-exported module
Text.Pandoc.Readers.OOXML.Shared.
2025-11-24 22:37:39 +01:00
dependabot[bot] 5d3b2916d6 Bump actions/checkout from 5 to 6 (#11302)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 10:48:37 +01:00
John MacFarlane 36b1f73a5d CI: only run CI on main 2025-11-24 10:42:24 +01:00
John MacFarlane fe62b25f49 Use latest dev citeproc. 2025-11-19 21:59:50 +01:00
Albert Krewinkel 4e0f626898 Lua: preserve common state of custom Lua readers
The common state is transferred to Lua when calling a custom Lua reader,
and is now also transferred back after the reader has finished. This
ensures that info messages, warnings, and mediabag entries are available
to the main program and all subsequent processing steps.
2025-11-19 12:22:41 +01:00
John MacFarlane f162c7a1cd Use latest dev citeproc. 2025-11-18 23:18:30 +01:00
John MacFarlane 97a9088121 Use latest dev typst-hs. 2025-11-18 23:05:04 +01:00
John MacFarlane 28338112ee HTML writer: use 'defer' when including mathjax script.
As recommended in the MathJax docs.

Closes #11292.
2025-11-16 14:17:59 +01:00
James Barlow 7b29962d86 LaTeX writer: make L1-3 headings work inside blockquotes.
Add mbox before all headings (not just L4+) inside blockquotes.
Otherwise LaTeX raises an error.

Closes #11281.
2025-11-12 23:40:15 +01:00
Albert Krewinkel a5576317c9 Docx reader: check recursively for caption styles.
The docx reader uses caption styles to identify figures and captioned
tables. It now checks for known caption styles in the full styles
hierarchy of a paragraph instead of just checking the style directly.
This allows to recognize caption styles that are built on top of the
basic *caption* style, as is sometimes the case in sophisticated styles.
2025-11-12 23:12:01 +01:00
John MacFarlane 1443e7dc8f Use latest dev djoths. 2025-11-10 11:27:12 +01:00
John MacFarlane 5c3144feb8 PDF: avoid converting SVG to PDF when non-TeX PDF engine is used.
This fixes a 3.8 regression, which caused documents with SVGs to
raise an error when converted to PDF using WeasyPrint.

Closes #11275.
2025-11-06 00:12:46 +01:00
John MacFarlane 940c22bc31 LaTeX writer: Remove split from list of math environments.
This fixes #11274.
2025-11-05 17:31:34 +01:00
John MacFarlane 573921cc19 LaTeX reader: revert \linebreak as LineBreak.
`\linebreak` is more of a hint, it shouldn't produce
a hard break.

See #11272.
2025-11-05 12:51:30 +01:00
reptee c660bd3419 Add BBCode writer (#11242)
`bbcode` is now supported as an output format, as well as variants
`bbcode_fluxbb` (FluxBB), `bbcode_phpbb` (phpBB), `bbcode_steam` (Hubzilla),
`bbcode_hubzilla` (Hubzilla), and `bbcode_xenforo` (xenForo).

[API change]
Adds a new module Text.Pandoc.Writers.BBCode, exporting a number of functions.
Also exports `writeBBCode`,  `writeBBCodeSteam`, `writeBBCodeFluxBB`,
`writeBBCodePhpBB`, `writeBBCodeHubzilla`, `writeBBCodeXenforo` from
Text.Pandoc.Writers.
2025-11-05 12:49:46 +01:00
John MacFarlane 018b03638a Update INSTALL.md.
Remove mention of Haskell platform, improve install instructions.
See #11271.
2025-11-04 16:56:32 +01:00
John MacFarlane 814bdbdbef Better handling of \makeatletter in parsing raw LaTeX.
Closes #11270.
2025-11-04 14:30:05 +01:00
John MacFarlane 69479fa490 Revert "Improve parsing of raw LaTeX blocks..."
This reverts commit 22863a3e12.
2025-11-04 14:09:37 +01:00
John MacFarlane 97f7a93460 Add command test for #9953. 2025-11-04 14:08:57 +01:00
John MacFarlane 22863a3e12 Improve parsing of raw LaTeX blocks...
containing macro definitions with `\makeatletter` and `\makeatother`.

Closes #9953, see also #11270.
2025-11-04 14:02:25 +01:00
John MacFarlane 0e4c9b0ea6 T.P.LaTeX.Parsing: change type on rawLaTeXParser.
The preparser doesn't need to return a value.
2025-11-04 13:12:27 +01:00
Emmanuel Ferdman b106dca069 LaTeX reader: fix spurious paragraph breaks in math environments (#11265)
Previously, a math environment with extra space before the
`\end` would get rendered with a blank line, which LaTeX
treats as a paragraph break.

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-11-04 09:42:27 +01:00
John MacFarlane 74f583847f LaTeX reader: fix bugs in raw LaTeX parsing.
Fix `rawTeXParser`.  Make macro expansion in raw LaTeX depend on
the setting of the `latex_macros` extension.  Previously macros
were always expanded, even in raw TeX in markdown. In addition,
there was previously a bug that caused content to be garbled
in certain cases.

Closes #11253.

Handle `ifstrequal` at a lower level, like the other `if` commands.
See #11253.
2025-11-03 23:16:48 +01:00
Tuong Nguyen Manh 594f109956 asciidoc writer: Add more table features (#11267)
This adds the following table features:

- row span and column span
- footer row
- individual horizontal cell alignment

[API change] T.P.Writers.Shared: Add functions `allRowsEmpty` and
`tableBodiesToRows` from the RST writer for reuse in other writers.

Also fix hlint warning about `unzip` from `NonEmpty`:
The exported polymorphic function will become
monomorphic in the future. Restrict the `NonEmpty`
import to use the Prelude `unzip` function.
2025-11-03 20:30:33 +01:00
John MacFarlane a7778c80f3 Markdown reader: fix performance issue in links with '.
Closes #10880.
2025-11-03 17:09:34 +01:00
John MacFarlane c04c5ad16d Makefile: Use python3 in update-translations. 2025-11-02 15:40:09 +01:00
John MacFarlane 1edd5cde72 LaTeX writer: improve handling of math environments in tex math.
Previously the special handling added for #9711 worked only
when the math element did not contain spaces before the
math environment.

Closes #11266.
2025-11-02 15:37:54 +01:00
John MacFarlane b69e9dbb81 Typst reader: handle document metadata and #title.
See jgm/typst-hs#80.

Note that previously, the typst reader never returned document
metadata.  Now it does, even if the typst document does not contain
a `#title` function that would result in actually printing the
title block.
2025-10-30 20:02:28 +01:00
John MacFarlane 2c6cd8327a PDF: fix regression with typst and smart quotes.
Before 3.8, the default behavior when producing a PDF `-t typst`
was to produce smart quotes according to typst's defaults.
(This could be defeated by specifying `-t typst-smart`.)

This behavior broke in 3.8 because of a change to Text.Pandoc.PDF.
This change caused `smart` to be disabled for all formats when
producing PDFs, when before it was only disable for TeX-based
formats (to avoid bad ligatures).

This commit restores the old behavior. Possibly the regression also
other affects other non-TeX formats, e.g. HTML.

Closes #11256.
2025-10-30 17:49:46 +01:00
John MacFarlane 379e389e20 Fix tests for #11259 change. 2025-10-30 17:46:15 +01:00
John MacFarlane cfc5ac447b Re-add columns to typst template.
This is a regression since 3.8.

Closes #11259.
2025-10-30 11:15:09 +01:00
John MacFarlane d353e1d11c LaTeX reader: Moved some entries from environments to blockCommands.
They are not environments!  `ifstrequal`, `iftoggle`, etc.

ifstrequal, iftoggle, etc. -- these are not environments,
and they are handled under inlineCommands.
2025-10-28 22:49:38 +01:00
John MacFarlane 5ba0dbe976 Djot reader: add Space elements.
Previously we just got big Str elements with spaces included.
But many pandoc writers assume that breakable spaces will be
Space elements.  So, we got odd results with e.g. jira output.

Closes #11250.
2025-10-27 22:25:18 +01:00
John MacFarlane d4d69fafb9 Fix stack.yaml. 2025-10-27 09:23:48 +01:00
John MacFarlane 6f1972351d stack.yaml - fix syntax. 2025-10-27 08:03:56 +01:00
dependabot[bot] df7d6bc590 Bump actions/upload-artifact from 4 to 5 (#11248)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 07:36:44 +01:00
John MacFarlane 9639a33b17 Use dev versions of typst-hs, texmath, typst-symbols. 2025-10-26 22:43:18 +01:00
John MacFarlane 8b4e72e969 Typst template: fix font for compatibility with typst 0.14.
Typst 0.14 doesn't permit an empty array for `font`.
Closes #11238.
2025-10-26 19:43:03 +01:00
John MacFarlane 8a60743624 Citeproc: allow formatting in locator to be transmitted to citeproc.
We do this indirectly, by rendering the formatting using the
HTML tags that citeproc recognizes.  Fixes jgm/citeproc#68
and jgm/citeproc#163.

Note that formatting is only possible for locators given in
the explicit form, surrounded by curly braces.  It won't work
for implicit locators, since these expect number-like expressions.
2025-10-24 23:11:26 +02:00
John MacFarlane d6c95435bf Use latest dev citeproc. 2025-10-24 23:11:26 +02:00