diff --git a/MANUAL.txt b/MANUAL.txt index ef569433a..815ed0fdf 100644 --- a/MANUAL.txt +++ b/MANUAL.txt @@ -1,7 +1,7 @@ --- title: Pandoc User's Guide author: John MacFarlane -date: May 31, 2021 +date: June 11, 2021 --- # Synopsis diff --git a/changelog.md b/changelog.md index 880bfc26f..822f2fb16 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,106 @@ # Revision history for pandoc +## pandoc 2.14.0.2 (2021-06-11) + + * Fix MediaBag regressions (#7345). iIn the 2.14 release `--extract-media` + stopped working as before; there could be mismatches between the + paths in the rendered document and the extracted media. + This patch makes several changes that restore the earlier behavior + (while keeping the same API). The `mediaPath` in 2.14 was always + constructed from the SHA1 hash of the media contents. Now, we + preserve the original path unless it's an absolute path or contains + `..` segments (in that case we use a path based on the SHA1 hash of + the contents). + + In Text.Pandoc.MediaBag, `mediaDirectory` and `mediaItems` now use the + `mediaPath`, rather than the mediabag key, for the first component of the + tuple. This makes more sense, I think, and fits with the documentation of + these functions; eventually, though, we should rework the API so that + `mediaItems` returns both the keys and the MediaItems. + + In Text.Pandoc.Class.IO, rewriting of source paths in `extractMedia` has + been fixed. + + In Text.Pandoc.Class.PandocMonad, `fillMediaBag` has been modified so that + it doesn't modify image paths (that was part of the problem in #7345). + + We now do path normalization (e.g. `\` separators on Windows) in + writing the media. + + * Text.Pandoc.PDF: + + + Text.Pandoc.PDF: Fix regression in 2.14 for generation of PDFs with + SVGs (#7344). + + Only print relevant part of environment on `--verbose`. Since + `--verbose` output might be put in an issue, we want to avoid + spilling out secrets in environment variables. + + * Markdown reader: fix pipe table regression in 2.11.4 (#7343). + Previously pipe tables with empty headers (that is, a header + line with all empty cells) would be rendered as headerless + tables. This broke in 2.11.4. The fix here is to produce an + AST with an empty table head when a pipe table has all empty + header cells. + + * LaTeX reader: don't allow optional `*` on symbol control sequences + (#7340). Generally we allow optional starred variants of LaTeX commands + (since many allow them, and if we don't accept these explicitly, + ignoring the star usually gives acceptable results). But we + don't want to do this for `\(*\)` and similar cases. + + * Docx writer: fix handling of empty table headers (Albert Krewinkel, + #7369). A table header which does not contain any cells is now treated as + an empty header. + + * LaTeX writer: Fix regression in table header position (#7347). + In recent versions the table headers were no longer bottom-aligned + (if more than one line). This patch fixes that by using minipages + for table headers in non-simple tables. + + * CommonMark writer: + + + Do not use simple class for fenced-divs (Jan Tojnar, amends #7242.) + + Do not throw away attributes when `Ext_attributes` is enabled. + `Ext_attributes` covers at least the following: + `Ext_fenced_code_attributes`, `Ext_header_attributes`, + `Ext_inline_code_attributes`, `Ext_link_attributes`. + + * Markdown writer: re-use functions from Text.Pandoc.Markdown.Inline (Jan + Tojnar). + + * DocBook writer: Remove non-existent admonitions (Jan Tojnar). + `attention`, `error` and `hint` are reStructuredText specific. + + * HTML writer: Don't omit width attribute on div (#7342). + + * Text.Pandoc.MIME, `extensionFromMimeType`: add a few special cases. + When we do a reverse lookup in the MIME table, we just get the + last match, so when the same mime type is associated with several + different extensions, we sometimes got weird results, e.g. `.vs` + for `text/plain`. These special cases help us get the most standard + extensions for mime types like `text/plain`. + + * Lua utils: fix handling of table headers in `from_simple_table` (Albert + Krewinkel, #7369). Passing an empty list of header cells now results + in an empty table header. + + * Text.Pandoc.Citeproc: avoid duplicate classes and attributes on + references div. + + * Require citeproc 0.4.0.1. This fixes a bug which led to doubled + "et al." in some (rare) circumstances. + + * MANUAL.txt: + + + Mention GladTeX for EPUB export (Sebastian Humenda). + This updates the manual and the web site about the GladTeX usage. + + More details and a useful link for YAML syntax. + + * CONTRIBUTING.md: update modules overview (Albert Krewinkel). + + * using-the-pandoc-api.md: switch from String to Text (Albert Krewinkel). + + ## pandoc 2.14.0.1 (2021-06-01) * Commonmark reader: Fix regression in 2.14 with YAML metdata block parsing, diff --git a/man/pandoc.1 b/man/pandoc.1 index ae3aba19c..de2133cf2 100644 --- a/man/pandoc.1 +++ b/man/pandoc.1 @@ -1,7 +1,7 @@ '\" t -.\" Automatically generated by Pandoc 2.14 +.\" Automatically generated by Pandoc 2.14.0.1 .\" -.TH "Pandoc User\[cq]s Guide" "" "May 31, 2021" "pandoc 2.14.0.1" "" +.TH "Pandoc User\[cq]s Guide" "" "June 11, 2021" "pandoc 2.14.0.2" "" .hy .SH NAME pandoc - general markup converter @@ -716,11 +716,11 @@ Extract images and other media contained in or linked from the source document to the path \f[I]DIR\f[R], creating it if necessary, and adjust the images references in the document so they point to the extracted files. -If the source format is a binary container (docx, epub, or odt), the -media is extracted from the container and the original filenames are -used. -Otherwise the media is read from the file system or downloaded, and new -filenames are constructed based on SHA1 hashes of the contents. +Media are downloaded, read from the file system, or extracted from a +binary container (e.g.\ docx), as needed. +The original file paths are used if they are relative paths not +containing \f[C]..\f[R]. +Otherwise filenames are constructed from the SHA1 hash of the contents. .TP \f[B]\f[CB]--abbreviations=\f[B]\f[R]\f[I]FILE\f[R] Specifies a custom abbreviations file, with abbreviations one to a line. @@ -1504,16 +1504,16 @@ inserted. .TP \f[B]\f[CB]--gladtex\f[B]\f[R] Enclose TeX math in \f[C]\f[R] tags in HTML output. -The resulting HTML can then be processed by GladTeX to produce images of -the typeset formulas and an HTML file with links to these images. -So, the procedure is: +The resulting HTML can then be processed by GladTeX to produce SVG +images of the typeset formulas and an HTML file with these images +embedded. .RS .IP .nf \f[C] pandoc -s --gladtex input.md -o myfile.htex -gladtex -d myfile-images myfile.htex -# produces myfile.html and images in myfile-images +gladtex -d image_dir myfile.htex +# produces myfile.html and images in image_dir \f[R] .fi .RE @@ -4820,6 +4820,13 @@ abstract: | \f[R] .fi .PP +The literal block after the \f[C]|\f[R] must be indented relative to the +line containing the \f[C]|\f[R]. +If it is not, the YAML will be invalid and pandoc will not interpret it +as metadata. +For an overview of the complex rules governing YAML, see the Wikipedia +entry on YAML syntax. +.PP Template variables will be set automatically from the metadata. Thus, for example, in writing HTML, the variable \f[C]abstract\f[R] will be set to the HTML equivalent of the Markdown in the \f[C]abstract\f[R] diff --git a/pandoc.cabal b/pandoc.cabal index 590bb445e..a0acbe654 100644 --- a/pandoc.cabal +++ b/pandoc.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: pandoc -version: 2.14.0.1 +version: 2.14.0.2 build-type: Simple license: GPL-2.0-or-later license-file: COPYING.md