Commit graph

17948 commits

Author SHA1 Message Date
John MacFarlane
c79ef1270e Fix 9495 command test for windows. 2025-01-10 23:43:32 -08:00
John MacFarlane
cbe67b9602 Docx reader and writer: support row heads.
Reader: When `w:tblLook` has `w:firstColumn` set (or an equivalent bit
mask), we set row heads = 1 in the AST.

Writer: set `w:firstColumn` in `w:tblLook` when there are row
heads. (Word only allows one, so this is triggered by any number
of row heads > 0.)

Closes .
2025-01-10 22:50:17 -08:00
John MacFarlane
6051d62e56 Docx reader: read table styles as custom styles...
...when `styles` extension is enabled.  Closes .

Also improve manual's coverage of custom styles.
2025-01-10 10:30:08 -08:00
Stéphane Guillou
b108cef9dd replace LibreOffice PDF documentation link to latest
... so it links to the latest major release rather than a specific major release (which there are two of every year)
2025-01-09 20:55:54 -08:00
John MacFarlane
74b288a1d8 nightly workflow: use ghc 9.8, cabal 3.14. 2025-01-08 08:54:10 -08:00
John MacFarlane
12bce32bff Depend on skylighting 0.14.6 2025-01-07 15:21:48 -08:00
John MacFarlane
9933a41b76 HTML reader: add size information for fa svg icons.
If the icon has class fa-fw or fa-w16 or fa-w14, we add a width
attribute to prevent the icon from appearing full-width in PDF or
docx output.

Closes .
2025-01-07 10:09:06 -08:00
John MacFarlane
3511f1652e CI: don't use -Werror on ghc 9.10. 2025-01-06 23:35:11 -08:00
John MacFarlane
564be58fa8 CI: test with ghc 9.8, 9.10 2025-01-06 22:19:11 -08:00
John MacFarlane
9e43625e4e Djot reader/writer highlighted text fixes:
- The reader now uses a Span with class "mark" rather than
  "highlighted", for consistency with the other pandoc readers
  and writers.
- The writer renders a Span with sole class "mark" as highlighted
  text.
2025-01-06 10:11:08 -08:00
John MacFarlane
1cfccfae6e Asciidoc writer: don't emit class in span if it's just "mark".
"mark" class is used for highlighting, and Asciidoc treats
bare `#...#` with no attributes as highlighted text.

Closes .
2025-01-06 10:06:06 -08:00
John MacFarlane
45726adeaf CI: comment out nix build.
Pending a solution for .
2025-01-06 10:01:46 -08:00
John MacFarlane
ad105a379e EPUB v2 writer: fix cover image.
Closes . Regression from 3.6 caused by .
2025-01-06 09:53:34 -08:00
John MacFarlane
49ecd7f0ec Allow random 1.3. 2025-01-05 23:44:59 -08:00
John MacFarlane
4040811e63 Use latest dev texmath. 2025-01-05 23:43:15 -08:00
John MacFarlane
5283ae8a9e Use dev version of texmath.
Typst writer improvements.
2025-01-05 00:11:49 -08:00
Evan Silberman
5766443bc8 Add mdoc St for C23
Following mandoc:

https://cvsweb.bsd.lv/mandoc/st.c?rev=1.19&content-type=text/x-cvsweb-markup
2025-01-03 15:45:33 -08:00
John MacFarlane
c9f6d305b3 default.nix: add happy, which is needed by toml-parser. 2025-01-02 09:56:11 -08:00
John MacFarlane
968b0c13ee Typst writer: fix handling of pixel image dimensions.
These are now converted to inches as in the LaTeX writer.

Closes .
2025-01-01 23:00:35 -08:00
John MacFarlane
01b54593cc AsciiDoc writer: improve escaping.
Closes .
Closes .
Closes .
2024-12-28 19:43:23 -08:00
John MacFarlane
9fa4fa3c51 RST reader: fix handling of underscores.
Fixes a regression in 3.6 that caused problems parsing
text with underscores.

Closes .
2024-12-27 19:38:56 -08:00
Evan Silberman
07105ccbff Make pod the default reader for .pod/.pl/.pm 2024-12-27 11:10:48 -08:00
Evan Silberman
c4716d41c5 Add Pod reader
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-27 11:10:48 -08:00
Santiago Zarate
af2b276afe
Improve message for asciidoc input error ()
Closes .
2024-12-23 12:34:08 -08:00
John MacFarlane
f6b42450f9 Update changelog. 2024-12-23 10:38:01 -08:00
John MacFarlane
3c0982c893 MediaWiki reader: allow empty quoted attributes.
Closes .
2024-12-23 10:36:09 -08:00
John MacFarlane
e122ca04b0 MediaWiki reader: allow cells starting with +.
Closes .
2024-12-23 10:27:13 -08:00
John MacFarlane
26ad26b7e6 pandoc-lua-engine: bump to 0.4.1. 2024-12-23 00:51:49 -08:00
John MacFarlane
27ed0ce738 Fix spacing error. 2024-12-23 00:12:34 -08:00
John MacFarlane
85a3e9c222 Update MANUAL.txt date and regenerate man pages. 2024-12-22 23:34:13 -08:00
John MacFarlane
50ef91ab57 Bump pandoc-cli to 3.6.1 and depend on pandoc 3.6.1 2024-12-22 23:29:31 -08:00
John MacFarlane
4fc730d80f Bump to 3.6.1, update changelog 2024-12-22 23:28:49 -08:00
John MacFarlane
c481843ce3 Depend on skylighting/skylighting-core 0.14.5 2024-12-22 23:28:22 -08:00
John MacFarlane
b6aff21452 Docx writer: restart footnotes by section by default.
This can be overridden by a final sectPr element in the body
of the reference.docx.

It will only change things for `--top-level-division=chapter`,
since only top-level chapters are put in separate sections.
For that use it will mean that footnote numbers start over with
each chapter, which is usually what is wanted.

Closes .
2024-12-22 13:18:27 -08:00
John MacFarlane
ab29a767ff Remove old comment-out line. 2024-12-22 11:57:46 -08:00
John MacFarlane
dc6a7d06b1 Docx writer: better handling of chapters.
When `--top-level-division=chapter` is used, a paragraph with
section properties is inserted before each level-1 heading.
By default, this causes the new heading to start on a new page
(though this default can be adjusted in Word).

This change should also make it possible to number footnotes
by chapter (), though that change isn't yet made.
2024-12-22 11:38:32 -08:00
John MacFarlane
d9281d1eaf Markdown writer: avoid collapsing of initial/final newline in...
...markdown raw blocks.  For motivation see .
2024-12-22 10:47:30 -08:00
silby
d064ad77a5
RST reader: handle explicit reference links ()
This case was missed when changing the reference link strategy for RST
to allow a single pass.

Closes .
2024-12-22 10:03:00 -08:00
Evan Silberman
7f791f68aa Correct example in charsInBalanced
The given example wasn't actually functional because `anyChar` parses a
`Char` and `charsInBalanced` wants a `Text` parser as its inner parser.
2024-12-20 11:51:49 -08:00
John MacFarlane
cfb9bd5cf3 Mediawiki writer: escape line-initial characters...
...that would otherwise be interpreted as list starts.

Closes .
2024-12-20 10:31:43 -08:00
John MacFarlane
74f64f33e4 LaTeX writer: properly handle boolean value for csquotes variable.
Closes .
2024-12-20 10:01:06 -08:00
John MacFarlane
7b873ac790 Makefile add prof target 2024-12-20 10:01:01 -08:00
Evan Silberman
4c409e6cf2 Mention typst in PandocUnknownWriterError for pdf 2024-12-19 18:47:24 -08:00
John MacFarlane
7cff3590bc Allow --shift-heading-level-by=-1 to work in djot...
...in the same way it works for other formats (with the top-level
heading being promoted to metadata title).  This needed special
treatment because of the way djot surrounds sections with Divs.

Closes .
2024-12-19 15:14:31 -08:00
John MacFarlane
86dd2f7d66 Fix default.beamer nocite location.
It must be inside a frame or it is ignored.

Improves on . Obsoletes .

Co-authored-by:  Thomas Hodgson <hello@twshodgson.net>
2024-12-19 14:54:04 -08:00
John MacFarlane
cef339f78f T.P.mediaBag insertMedia: fast path for data URIs.
Avoid the slow URI parser from network-uri on large data URIs.

See . In a benchmark with a large base64 image in HTML ->
docx, this patch causes us to go from 7942 GCs to 3654, and from
3781M in use to 1396M in use.

(Note that before the last few commits, this was running 9099 GCs
and 4350M in use.)
2024-12-19 14:22:51 -08:00
John MacFarlane
26b5c957db T.P.Class: shortcut for base64 data URIs in downloadOrRead.
This avoids calling the slow URI parser from network-uri on
data URIs, instead calling our own parser.

Benchmarks on an html -> docx conversion with large base64 image:
GCs from 7942 to 6695, memory in use from 3781M to 2351M,
GC time from 7.5 to 5.6.

See .
2024-12-19 13:47:31 -08:00
John MacFarlane
449824c412 T.P.URI: pBase64DataURI now returns mime + bytes 2024-12-19 13:30:38 -08:00
John MacFarlane
3900791a0f T.P.MIME: fix extensionFromMimeType.
We had a few special cases encoded, but as previously written
they wouldn't work properly with modifiers like `;charset=utf-8`.
2024-12-19 13:08:25 -08:00
John MacFarlane
df0d3fb78c Change --template to allow use of extensionless templates.
The intent is to allow bash process substitution: e.g.,
`--template <(echo "foo")`.

Previously pandoc *always* added an extension based on the
output format, which caused problems with the absolute filenames
used by bash process substitution (e.g. `/dev/fd/11`).

Now, if the template has no extension, pandoc will first
try to find it without the extension, and then add the
extension if it can't be found.

So, in general, extensionless templates can now be used.
But this has been implemented in a way that should not cause
problems for existing uses, unless you are using a template
`NAME.FORMAT` but happen to have an extensionless file `NAME` in
the template search path.

Closes .
2024-12-19 10:20:22 -08:00