Recent Releases of pandoc
pandoc - pandoc 3.7.0.2
I'm pleased to announce the release of pandoc 3.7.0.2, available in the usual places:
Binary packages & changelog: https://github.com/jgm/pandoc/releases/tag/3.7.0.2
Source & API documentation: http://hackage.haskell.org/package/pandoc-3.7.0.2
This release fixes some regressions in grid table rendering introduced in 3.7. There are a few other nice improvements as well; see the changelog for details.
Thanks to all who contributed, especially new contributor GHyman83.
Click to expand changelog
- RST writer: - Don’t emit alignment markers in grid tables (#10857). - Asciidoc writer: - Add support for sidebars (GHyman83). - LaTeX writer: - Include alt option in `\includegraphics` (#6095). - Markdown writer: - Preserve figure attributes (Nikolay Yakimov, #10867). Fixes a regression introduced by 0d2114e, which caused the Markdown writer to ignore attributes on the figure if it has class or key-value attributes set. - HTML writer: - Use the ID prefix in the ID for the footnotes section (Benjamin Esham). - Text.Pandoc.Writers.Shared: - `gridTable`: fix (3.7) regression with missing cell alignments (#10853). - `gridTable`: fix headings with colspans (#10855). If the heading contains a colspan, we still need to include information in the header line about the colspecs. - `gridTable`: fix headerless tables. The top line should encode colspan information. - Text.Pandoc.SelfContained: - Fix handling of empty script element (#10862). Previously in this case the closing tag was dropped. - Do not drop `data-` attributes in script tags (#10861). - Lua subsystem (Albert Krewinkel): - Add function `pandoc.mediabag.make_data_uri` (#10876). The function takes a MIME type and raw data from which it creates an RFC 2397 data URI. - `tools/update-lua-module-docs`: fix handling of wikilinks (Albert Krewinkel). - `doc/lua-filters.md`: add missing docs for `pandoc.Caption` (Albert Krewinkel). - Require texmath 0.12.10.3, typst 0.8.0.1
- Haskell
Published by jgm about 1 year ago
pandoc - pandoc 3.7.0.1
I'm pleased to announce the release of pandoc 3.7.0.1, available in the usual places:
Binary packages & changelog: https://github.com/jgm/pandoc/releases/tag/3.7.0.1
Source & API documentation: http://hackage.haskell.org/package/pandoc-3.7.0.1
This release fixes some serious problems with the new grid table writer introduced in 3.7. If you installed 3.7, I recommend you upgrade.
It also fixes tagging with -t context+tagging.
Click to expand changelog
- Text.Pandoc.Shared.Writer: Fix numerous problems with `gridTable` and add tests (#10848). These fixes affect the Markdown, RST, and Muse writers. - Fix context writer/template to produce tagged PDFs (#10846). As before, the `tagging` extension must be enabled. We now add the command that tells ConTeXt to start tagging.
- Haskell
Published by jgm about 1 year ago
pandoc - pandoc 3.7
I'm pleased to announce the release of pandoc 3.7, available in the usual places:
Binary packages & changelog: https://github.com/jgm/pandoc/releases/tag/3.7
Source & API documentation: http://hackage.haskell.org/package/pandoc-3.7
- New command-line option
--variable-json. This allows non-string values (such as booleans or maps) to be given to template variables on the command line. --pdf-enginewill now acceptgroffas a value.- Markdown and RST writers now allow row/colspans in grid tables. In addition, table column widths will expand if needed to contain text that can't be wrapped, avoiding the introduction of unwanted whitespace.
- The
four_space_ruleextension now works forplainoutput. - Roff formats now use the most portable syntax possible.
- Improved handling of inline TeX in Org-mode.
- In Lua filters,
pandoc.readcan now be used in "sandboxed" mode, restricting file or network access, by passing in a list of accessible files as a fourth parameter.
API changes:
- Text.Pandoc.Writers.Shared: new function
delimited. - Text.Pandoc.Writers.Shared: new version of
gridTablewith changed parameters. - Text.Pandoc.Class: new exported function
sandboxWithFileTree.
Thanks to all who contributed, especially new contributors Manolis Stamatogiannakis, Mohamed Akram, and Niklas Eicker.
Click to expand changelog
Add new command-line option
--variable-json(#10341). This allows non-string values (booleans, lists, maps) to be given to template variables on the command line.The
--pdf-engineoption can now takegroffas a value.Markdown writer:
- Avoid spaces after/before open/close delimiters (#10696). E.g. instead of rendering
x<em> space </em>yasx* space *ywe render it asx *space* y. - Handle row/colspans in grid tables, and expand cells when it isn’t possible to lay them out without breaking string of non-whitespace.
- Render a figure with Para caption as implicit figure (#10755).
- When falling back to a Div with class
figurefor a figure that can’t be represented any other way, include a Div with classcaptioncontaining the caption. - Improve use of implicit figures when possible (#10758). When the alt differs from the caption, but only as regards formatting, we still use an implicit figure.
- Omit initial newlines in gfm
mathblocks to avoid an ugly blank line. - Support the
four_space_ruleextension forplainoutput (#10813, Manolis Stamatogiannakis).
- Avoid spaces after/before open/close delimiters (#10696). E.g. instead of rendering
RST writer:
- Handle row/colspans in grid tables, and expand cells when it isn’t possible to lay them out without breaking string of non-whitespace.
Muse writer:
- Handle row/colspans in grid tables, and expand cells when it isn’t possible to lay them out without breaking string of non-whitespace.
JATS writer:
- Fix escaping for writing-review-editing role (#10744).
HTML writer:
- Remove trailing slash from default revealjs URL (#8749). This avoids a double slash in the URL’s path component.
LaTeX writer:
- Make alignment work within
multirowin tables (#10772).
- Make alignment work within
Typst writer:
- Support
markclass on spans (#10747). - Add equation label if math contains
\label{..}(#10805).
- Support
Roff format writers (man, ms):
- Use the most compatible form for roff escapes (#10716). For example,
\(xyinstead of\[xy]. This was the original AT&T troff form and is the most widely supported. The bracketed form causes problem for some tools, e.g.makewhatison macOS. And emitefollowed by an escape for a unicode combining accent rather than the form\[e aa], which works for groff but not e.g. on macOS’s man. This change affects Text.Pandoc.RoffChar, Text.Pandoc.Writers.Roff, and the Man and Ms writers.
- Use the most compatible form for roff escapes (#10716). For example,
Docx writer:
- Ensure that figures and tables with custom styles are not dropped (#10705).
- Preserve Relationships for images from reference docx (#10759). This should allow one to include an image in a reference.docx and reference it in an openxml template.
- Don’t renumber rels (#10769). We used to renumber the Relationships so they didn’t conflict with the set of fixed Relationships we imposed. We are now preserving the ids from the reference doc’s document.xml.refs, so we shouldn’t renumber them or references introduced by the user (e.g. in a template) will fail.
Ms writer:
- Improve PDF TOC labels. We now use the plain writer to render these, so that Greek characters etc. will show up properly.
- When no
pdf-enginevariable is specified, do not use the.pdfhrefmacros at all (#10738). This gives better results for links in formats other than PDF, since the link text would simply disappear if it exists only in a.pdfhrefmacro. When a PDF engine is specified, escape the argument of.pdfhref Oin a way that is appropriate.
OpenDocument writer:
- Fix character styles in footnotes (#10791). Character styles governing the position of the footnote reference should not be imposed on the footnote text.
Powerpoint writer:
- Use reference-doc font for captions (#9896, R. N. West).
DocBook writer:
- Use literallayout element for LineBlock (#10825).
MediaWiki reader/writer:
- Allow definition on same line as term (#10708).
LaTeX reader:
- Skip at most one argument to LaTeX tabular newline (#7512, Evan Silberman).
- Disable ligatures inside
\texttt(#10781). - Support more symbol commands (#10782).
Commonmark Reader:
- Handle GFM math irregularity with braces (#10631). In GFM, you need to use
\\{rather than\{for a literal brace.
- Handle GFM math irregularity with braces (#10631). In GFM, you need to use
DocBook reader:
- Improve handling of literallayout (#10825). This is now only made a CodeBlock when there is a
monospacedclass. Otherwise it is made a LineBlock.
- Improve handling of literallayout (#10825). This is now only made a CodeBlock when there is a
Org reader:
- Add AVIF to Org Reader image extensions (#10736, Christian Christiansen).
- Don’t include newlines in inine code/verbatim (#10730). Convert newlines to spaces as we do in other formats.
- Change handling of inline TeX (#10836). Previously inline TeX was handled in a way that was different from org’s own export, and that could lead to information loss. This was particularly noticeable for inline math environments such as
equation. Previously, anequationenvironment starting at the beginning of a line would create a raw block, splitting up the paragraph containing it (see #10836). On the other hand, anequationenvironment not at the beginning of a line would be turned into regular inline elements representing the math. (This would cause the equation number to go missing and in some cases degrade the math formatting.) Now, we parse all of these as raw “latex” inlines, which will be omitted when converting to formats other than LaTeX (and other formats like pandoc’s Markdown that allow raw LaTex).
Beamer template: fix regression in 3.6.4, reverting the omission of
\datewhen the document does not have a date. By default, beamer will display a date when no\dateis present in the title block, so this was an unintended behavior change. The reverted change was motivated by the desire to include a custom\datein the frontmatter via header-includes. This can be achieved more simply by simply setting thedatevariable. In markdown you can even usedatein metadata and put some raw LaTeX there.Ms template:
- Use T rather than P as default font family (#10738).
- Put PDF-specific things under a conditional. Don’t include them if
pdf-engineisn’t set.
Upgrade reveal.js URL to v5 (#10740, Kolen Cheung). v4 is no longer available on unpkg.com.
Text.Pandoc.PDF: Allow
groffto be used as--pdf-enginewithms(#10738). Whengroffis used as a PDF engine, thegroffextension tomsis automatically enabled. Limitations:groffcurrently produces larger PDFs thanpdfroff.- With
groff, a table of contents produced with--table-of-contents/--tocwill always be placed at the end of the document. - Certain characters (e.g. Greek characters) may be dropped in the PDF outline.
Text.Pandoc.Writers.Shared:
- Export
delimited[API change]. - New version of
gridTable(#6344) [API change]. This handles row and colspans. It also ensures that cells won’t wrap text in places where it wouldn’t normally wrap, even if this means making the cells wider than requested by the colspec (#9001, #7641). Because the parameters are different, this is a breaking API change.
- Export
Text.Pandoc.App: set
pdf-enginevariable. If--pdf-engineis specified or if a PDF is being produced, we set thepdf-enginevariable. This allows writers and templates to behave differently depending on the PDF engine.Text.Pandoc.Class and Text.Pandoc.URI:
- Fix parsing of base64 data URIs to allow URI escapes and whitespace (which will be ignored) (#10704).
- Handle percent encoding in
pBase64URIinstead of unescaping later, for efficiency (#10704).
Text.Pandoc.Citeproc.BibTeX:
- Recognize
enas alangidin biblatex bibliographies (#10764).
- Recognize
Text.Pandoc.MIME:
- Add mime type and extension for
avif(#10704). - Handle
apng,avif,jxl(#10704).
- Add mime type and extension for
Text.Pandoc.Readers.LaTeX.Math: export
inlineEnvironmentNames. Internal module, not a change to the public API.reference.docx(Andrew Dunning):- Remove extra spaces around text placeholders.
- Add footnote block text sample.
Text.Pandoc.Class.Sandbox:
- Add
sandboxWithFileTreefunction [API change] (Albert Krewinkel).
- Add
Lua subsystem (Albert Krewinkel):
- pandoc-lua-engine: add all test files to the cabal file.
- Allow
pandoc.readto be called in “sandbox” mode for added security (#10831). Readers running in a sandbox will not be able to access the network or file system. The sandbox is enabled if the fourth parameter is a list of files or filename/content pairs. The files are read and then made available in the sandbox via en ersatz file system.
Makefile:
- Add target
release-checkist. - Install @daisy/ace from npm if not present.
- Use pandoc lua instead of lua.
- Fix typo in
latex-package-dependenciestarget. - Use
jqinstead ofjson_reformatinvalidate-docx-golden-tests2.
- Add target
NiX infrastructure: new working
flake.nixand simplershell.nix. Removed olddefault.nix.Require random >= 1.3 and use
splitGen.splithas been deprecated.Use citeproc-0.9. Bump citeproc bounds for pandoc, pandoc-lua-engine.
Use texmath-0.12.10.1.
Use released typst 0.8 (partially supporting typst 0.13).
Use citeproc 0.9.0.1.
MANUAL.txt:
- Fix default URL for revealjs.
- Add note that
alertsextension only works with commonmark (#9716). - Remove “Body Text Char” from list of Word styles that can be customized using a reference.docx (#10646). This doesn’t seem to be present in pandoc-generated docx files, nor is it a Word default.
- For pandoc lua, add note about the environment.
- Improve documentation of
--variableoption.
doc/typst-property-output.md: Mention thattypst:no-figureis a class, not an attribute (#10826, Niklas Eicker).Change RELEASE-CHECKLIST to RELEASE-CHECKLIST-TEMPLATE.org. Use org-babel to automate many of the steps of the release.
INSTALL.md: update MacPorts information (#10719, Mohamed Akram).
COPYRIGHT: fix link to source code.
CONTRIBUTING.md: Fix link to discussion forum. (#10834, R. N. West).
- Haskell
Published by jgm about 1 year ago
pandoc - pandoc 3.6.4
Click to expand changelog
- Disable `citations` extension in writers if `--citeproc` is used (#10662). Otherwise we get undesirable results, as the format’s native citation mechanism is used instead of (or in addition to) the citeproc-generated citations.
- Markdown reader:
- Allow line break between URL and title of link (#10621).
- Give better position information when YAML metadata parsing fails with a YAML exception (#10231).
- Fixed `escapedChar'` parser (#10672). It should not accept escaped newlines.
- Remove some misguided list fanciness (#9865, #7778, cf. #5628). Previously we tried to handle things like commented out list items:
- one
- three
and also things like:
- one `and
- two` and
But the code we added to handle these cases caused problems with other, more straightforward things, like:
- one
- ```
code
```
- three
So we are rolling back all the fanciness, so that the markdown parser now behaves more like the commonmark parser, in which indicators of block-level structure always take priority over indicators of inline structure.
- HTML reader:
- Skip MathJaX-introduced cruft (#10673).
- Ignore style tags in the body (#10643).
- LaTeX reader:
- Better handle comments/whitespace in option lists and includes (#10659).
- Support `\newline`, `\linebreak`.
- Docx reader/writer:
- Revert commit adding row heads (cbe67b9602a736976ef6921aefbbc60d51c6755a) (#10627). Word sets `w:firstColumn="1"` by default for tables. You have to find the Table Design tab and explicitly uncheck “First Column” to make this go away. In most cases, I don’t think writers intend to designate the first column as a row head, so this commit is going to produce unexpected results. In addition, because of the table normalization done by pandoc-type’s `tableWith`, any table containing a colspanned cell in the left-hand column will get broken if the first column is designated a row head. For these reasons it seems best to revert this change, which was made in response to #9495.
- LaTeX writer and template:
- Remove `selnolig-langs` (#9863). We now specify the language as a global option again, so we no longer need to specify it when invoking selnolig.
- Use babel options `shorthands=off` (#6817).
- Use `*` for multirow width when no colwidth specified (#10685). Otherwise the multirow will be excessively wide.
- Protect `\phantomsection` (#10688, etclub).
- Markdown writer:
- Omit extra space after bullets (#7172). Those who want the old behavior can obtain it by using `-t markdown+four_space_rule`.
- Treat `Emph [Emph ils]]` as `ils` (#10642). Otherwise we get `**content**` which means strong emphasis.
- EPUB writer:
- Use a nonbreaking space after section number in nav.xhtml. This seems to be required for iOS books app to display the space.
- Typst writer:
- Better heuristics for escaping potential list markers (#10650).
- Ensure that `citation-style` works as well as `csl` (#10661).
- Powerpoint writer:
- Avoid extra blank lines before author when there is no subtitle (#10619).
- JATS template:
- Fix typo in author prefix in article.jats_publishing template (#10622, Tiago-Manzato).
- Text.Pandoc.Parsing:
- Smart quote parsing: ignore curly quotes (#10610). Previously we tried to match curly quotes as well as straight quotes, producing Quoted inlines. But it seems better just to assume that those who use curly quotes want them passed through verbatim. This also fixes an (unintended) bug whereby curly single left quotes would sometimes be changed to single right quotes.
- Text.Pandoc.Shared:
- `makeSections`: put some attributes on section element only. Certain `role` and `epub:type` attributes should only be on the section (and indeed, many `role`s give a validation error if left on the heading element).
- Text.Pandoc.Logging:
- Change NoTitleElement from WARNING to INFO (#10671). Users commonly complain about the warning when producing HTML documents without an explicit title. It seems that an info message is more appropriate, since pandoc’s default here (using the input’s base name) ensures compliance with the standard and many users are happy with that default. Those who want to make sure the message is seen can use `--verbose`.
- Beamer template: only emit `\date` if set (#10687, josch).
- Fix invalid OOXML in definition_list.docx test (#10394).
- MANUAL.txt:
- Correct typo: ‘date’ for doubled ‘title’ (#10654, Olivier Dossmann).
- Add note about `template` variable for typst.
- Change maxwidth default in MANUAL.txt (#10683).
- Improve EPUB metadata documentation.
- In Security section, alert readers to a threat relating to iframe in HTML, and add LaTeX, Typst to the list of formats that have an `include` (#10682).
- `doc/lua-filters.md`: Add missing html_math_method ‘katex’ (R. N. West).
- Use texmath 0.12.9.
- Use typst 0.7. Fixes an issue with package loading, a regression in pandoc 3.6.3.
- Haskell
Published by jgm about 1 year ago
pandoc - pandoc 3.6.3
Click to expand changelog
- Track wikilinks with a class instead of a title (Evan Silberman). Previously wikilinks were distinguished by giving them the `title` `wikilink`. Now that we have link attributes, it makes more sense to give them the `class` `wikilink`. This change affects all readers and writers that support wikilinks.
- DocBook reader:
- Handle title inside `orderedlist` (#10594). Also some other elements that allow title: `blockquote`, `calloutlist`, etc.
- Better handle `informalequation` (#10592, tombolano). Include `id` attribute.
- Better handle `formalpara`, `example`, and `sidebar` (#8666, tombolano). Include identifiers and titles in each case.
- Markdown reader:
- Simplify and fix normal citation parsing (#10584). This fixes a bug that causes some normal citations to be parsed as bracketed regular citations.
- ODT reader:
- Create Figure elements for images that are figures (#10567).
- Avoid producing spurious blockquotes in list items (#9505).
- Fix unwanted block quotes (#10575). Previously the reader created block quotes whenever a paragraph was marked indented (even though this just affects the first line). With this change we still generate block quotes for content that has an altered left margin, but not for indented paragraphs.
- Docx reader:
- Do not issue warning for comments with `+styles` (#10571, Stephen Reindl).
- LaTeX reader:
- Test {,re}newcommand arguments (#4470, Evan Silberman).
- Pod reader:
- Consume blanks after =encoding in pod reader (#10537, Evan Silberman).
- JATS writer:
- Add CRediT roles to JATS (Charles Tapley Hoyt and Jez Cope, #10152). Enable annotating author roles using the Contribution Role Taxonomy (CRediT) and export this information in conformant JATS.
- LaTeX writer/templates:
- Improve babel support (#8283). Previously we used the `.ini` files for every language, but for European languages these tend to provide inferior results to the `.ldf` files used by classic Babel. Currently Babel documentation recommends using the classic system for European languages written in Latin and Cyrillic scripts and Vietnamese. So the LaTeX writer and template now follow this guidance.
Main languages in the list of languages with good “classic” support are added to global documentclass options and will be automatically handled by Babel using the `.ldf` files.
If the main language is not in this list, the `babeloptions` variable will be set to `provide=*`, which will cause support to be loaded from the `.ini` file rather than an `.ldf`. So, for example, setting `-V babeloptions=''` with a polytonic Greek document will cause the `.ldf` support to be used instead of the `.ini`.
The default setting of this variable can be overwritten, but in most cases the default should give good results.
- Allow `csquotesoptions` to be specified.
- Fix indentation bugs in `font-settings.latex`.
- Docx writer:
- Repeat reference doc’s `sectPr` for each new section (#10577). Previously we were only carrying over the reference doc’s `sectPr` at the end of the document, so it wouldn’t affect the intermediate sections that are now added if `--top-level-division` is `chapter` or `part`. This could lead to bad results (e.g. page numbering starting only on the last chapter).
- Create section divisions with `--top-level-division=part` (#10576).
- Improve title style in reference.docx; base Author and Date on Title; remove condensed spacing (Andrew Dunning, #10581).
- Typst writer:
- Brace tables with `typst:no-figure` and `typst:text` attributes (#10563, Gordon Woodhull).
- Ms writer:
- Fix escaping of `-` (#10536). `-` should now be escaped in man output but not in ms output (where `\-` is a unicode minus sign).
- HTML styles: fix style of `hr` so it works when printed (#10535, Hendrik Erz). Previously `background-color` was used to style the hr, but this gets ignored when printing. This commit uses `border-top` instead.
- Text.Pandoc.Shared:
- Handle `` as a span-like inline in `htmlSpanLikeElements` (#5793, Evan Silberman).
- Text.Pandoc.MediaBag:
- Prefer MIME type when determining extensions for MediaBag items (#10557, Max Heller). This should give different results for remote images that are served at URLs that do not contain misleading extensions (e.g. `shields.io`).
- Text.Pandoc.Citeproc:
- Fix moving punctuation before citation notes. This previously worked with regular citations, but not author-in-text citations. Now it works with both.
- `doc/lua-filters.md`:
- Correct luacheck URL (#10589, R. N. West).
- Add static analysis paragraph to debugging section (#10568, R. N. West).
- Add note about extensions handling in `read` and `write` (Albert Krewinkel).
- `doc/extras.md`:
- Add entry for pandoc-subfigs (R. N. West).
- Update diagram Lua filter URL and description (R. N. West).
- MANUAL.txt:
- Add note on using typst to produce pdf/a-2b.
- Document top-level-division functionality with Docx (#10579, Andrew Dunning).
- Raise xml-conduit upper bound.
- Depend on latest commonmark-pandoc, commonmark-extensions, citeproc, typst.
- Makefile: make `make binpath` quiet.
- Haskell
Published by jgm over 1 year ago
pandoc - pandoc 3.6.2
Click to expand changelog
- New input format: `pod` (Evan Silberman). Pod (“Plain old documentation”) is a markup languaged used principally to document Perl modules and programs.
- New reader module Text.Pandoc.Readers.Pod, exporting `readPod` \[API change\].
- Docx reader:
- Support row heads in tables (#9495). Reader: When `w:tblLook` has `w:firstColumn` set (or an equivalent bit mask), we set row heads = 1 in the AST.
- Read table styles as custom styles when `styles` extension is enabled (#9603).
- HTML reader:
- Add size information for font awesome SVG icons (#10134). 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.
- Djot reader:
- Use a Span with class “mark” rather than “highlighted” for highlighted text, for consistency with the other pandoc readers and writers.
- mandoc reader:
- Add mdoc St for C23 (Evan Silberman).
- RST reader:
- Fix handling of underscores (#10497). Fixes a a regression introduced in 3.6.
- Docx writer:
- Support row heads in tables (#9495). 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.)
- Djot writer:
- Render a Span with sole class “mark” as highlighted text.
- Asciidoc writer:
- Don’t emit the class in a span if it’s just “mark” (#10511). The “mark” class is used for highlighting, and Asciidoc treats bare `#...#` with no attributes as highlighted text.
- Improve escaping (#10385, #2337, #6424).
- EPUB v2 writer:
- Fix cover image (#10505). This is a regression introduced in 3.6.
- Typst writer:
- Fix handling of pixel image dimensions (#9945). These are now converted to inches as in the LaTeX writer.
- Improve error message given when users specify `asciidoc` as input format (#8416, Santiago Zarate).
- Allow random 1.3.
- Use texmath 0.12.8.13 (typst improvements).
- `lua-filters.md`: document `system.os` return values (#10523).
- `MANUAL.txt`:
- Improve manual’s coverage of custom styles.
- 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) (Stéphane Guillou).
- Improve links and descriptions for `odt`, `opendocument` (#10518).
- Haskell
Published by jgm over 1 year ago
pandoc - pandoc 3.6.1
Click to expand changelog
- Allow YAML bibliographies to be arrays of references (#10452). Previously, they had to be YAML objects with a `references` key.
- Change `--template` to allow use of extensionless templates (#5270). 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.
- 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) (#10459). This needed special treatment because of the way djot surrounds sections with Divs.
- RST reader:
- Handle explicit reference links (#10484, Evan Silberman). This case was missed when changing the reference link strategy for RST to allow a single pass. (It is a regression in pandoc 3.6.)
- Markdown reader:
- Use T.P.URI’s `pBase64DataURI` in parsing data URIs (#10075, Evan Silberman and John MacFarlane).
- More efficient base64 data URI parsing (#10075, Evan Silberman and John MacFarlane). This should yield dramatic performance improvements for markdown documents containing large data URIs in images.
- HTML reader:
- Don’t canonicalize data: URIs (#10075). It can be very expensive to call network-uri’s URI parser on these.
- LaTeX reader:
- Handle `figure*` environment as a figure (#10472).
- MediaWiki reader:
- Allow empty quoted attributes (#10490).
- Allow cells starting with `+` (#10491).
- Textile reader:
- Improve parsing of spans (#9878). The span needs to be separated from its surroundings by spaces. Also, a span can have attributes, which we now attach.
- Inline constructors shouldn’t trigger if closer is preceded by whitespace (#10414).
- Docx writer:
- Put chapters in separate sections, and restart footnotes by section by default (#2773). The main effect of this change is that when `--top-level-division=chapter` is used, chapters will start on a new page and footnote numbering will restart for each chapter. Both of these defaults can be overridden in the reference.docx.
- Use styleIds not styleNames for Title, Subtitle, etc. (#10282). This fixes a regression introduced in pandoc 3.5. This change affects the default openxml template as well as the OpenXML writer.
- Markdown writer:
- Avoid collapsing of initial/final newline in markdown raw blocks. This makes it easy to write a filter that adds extra blank lines before certain elements (#10477).
- Mediawiki writer:
- Escape line-initial characters that would otherwise be interpreted as list starts (#9700).
- LaTeX writer:
- Properly handle boolean value for `csquotes` variable (#10403).
- Use displayquote for block quotes with `csquotes` (#10456).
- HTML writer:
- Avoid calling parseURIString for data URIs (#10075). This was done to determine the “media category,” but we can get that directly from the mime component of data: URIs.
- Typst writer:
- Properly handle data URIs in images (#10460).
- LaTeX/Beamer templates:
- Fix default.beamer `nocite` location (Thomas Hodgson). It must be inside a frame or it is ignored (#10465).
- Move nocites from LaTeX preamble to body (#10461, Thomas Hodgson). Putting `\nocite` in the preamble works only with biblatex.
- Text.Pandoc.Parsing:
- Correct example in comment on `charsInBalanced` (Evan Silberman).
- Text.Pandoc.Error:
- Mention typst in rendering `PandocUnknownWriterError` for `pdf` (Evan Silberman).
- Text.Pandoc.MediaBag:
- `insertMedia`: fast path for data URIs. Avoid the slow URI parser from network-uri on large data URIs (#10075).
- Text.Pandoc.Class:
- Add shortcut for base64 data URIs in `downloadOrRead` (#10075). This avoids calling the slow URI parser from network-uri on data URIs, instead calling our own parser.
- Text.Pandoc.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`.
- Text.Pandoc.URI:
- Export `pBase64DataURI`. Modify `isURI` to use this and avoid calling network-uri’s inefficient `parseURI` for data URIs.
- Text.Pandoc.PDF:
- Fix temp file extension in `toPdfViaTempFile` (#10468). This fixes a regression in pandoc 3.6, which changed the extension from `html` to `source`. Apparently `wkhtmltopdf` needs it to be `.html`. So now we have added a parameter to `toPdfViaTempFile` that allows the extension to be specified in a way that is appropriate to the PDF engine used.
- Lua (Albert Krewinkel):
- Support more elements as input to `pandoc.utils.stringify` (#10450). Elements of type Caption, Cell, TableHead, and TableFoot can now be stringified.
- Add `Caption` constructor to `pandoc` module.
- Miscellaneous code quality improvements (Joseph C. Sible).
- Depend on citeproc 0.8.1.2, skylighting and skylighting-core 0.14.5.
- \`doc/lua-filters.md: Fix links to constructors (Albert Krewinkel).
- Haskell
Published by jgm over 1 year ago
pandoc - pandoc 3.6
Click to expand changelog
- Add `mdoc` as input format (Evan Silberman). This change introduces a reader for mdoc, a roff-derived semantic markup language for manual pages. This reader 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.
- New module: Text.Pandoc.Readers.Mdoc, exporting `readMdoc` \[API change\].
- Issue warnings for duplicate YAML metadata keys (#10312).
- Ensure that `--sandbox` affects `--embed-resources`. 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.
- Text.Pandoc.App.OutputSettings: add `sandbox'` function. This computes the sandboxed files from Opt and avoids code repetition.
- Docx reader:
- Parse index references as empty spans with attributes (#10171). Attributes included are `entry`, and optionally `bold`, `italic`, `yomi`, `see`.
- Don’t create multiple paragraphs for title or subtitle (#10359). If there are multiple paragraphs with Title or Subtitle style, use only the first for metadata.
- Handle case where Zotero `itemData` has different id from the `citationItem` id. In this case we use the `citationItemId` in the bibliography as well, overriding the `referenceId` in the itemData (#10366).
- LaTeX reader:
- Put parsed minipage in specially marked Div (#10266).
- HTML reader:
- Parse footnotes defined by dpub-aria roles (#5294).
- MediaWiki reader:
- Fix indented tables with caption (#10390).
- Fix parsing of col/rowspan (#6992).
- Typst reader:
- Avoid generating empty paragraphs.
- Support `underparen`, `overparen`.
- Fix `#quote` attribution. If attribution is not present, don’t print the `--` (#10320).
- Fix typo in unicode code point for em dash (see #10320).
- Commonmark reader:
- `implicit_figures` should check for empty caption and not produce an implicit figure in this case (#10429).
- RST reader:
- Use a new one-pass parsing strategy. Instead of having an initial pass where we collect reference definitions, we create links with target `##SUBST##something` or `##REF##something` or `##NOTE##something`, and resolve these in a pass over the parsed AST. This allows us to handle link references that are not at the top level (#10281).
- Ignore newlines in URL in explicit link (#10279).
- Handle block level substitutions.
- Support `:file:` on raw directive (#8584).
- Implement option lists (#10318).
- Avoid putting metadata in Para (#7766). 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.
- Fix linked substitutions (#6588). E.g. `|Python|_`.
- Support inline anchors (#9196).
- Explicit links define references (#5081). For example, `` Go to `g`_ `g
- Haskell
Published by jgm over 1 year ago
pandoc - pandoc 3.5
Click to expand changelog
- Add command-line options `--list-of-figures/--lof` and `--list-of-tables/--lot` (#10029, Akash Patel). Only docx, latex, and context are affected by these options currently. Setting the `lof` and `lot` variables will also work for the formats that are currently supported.
- Defaults files: interpolation of environment variables now works for `to` and `from` fields (#8024). This is needed because these files can contain paths of custom readers/writers.
- Docx reader:
- Reset lists after headers in same list `numId` (#10258). To accomplish this, we add a Heading constructor to BodyPart and include on it all the information list items have.
- DocBook reader:
- Parse id, class, and tabstyle on tables (#10181, Erik Rask). Add parsing of id (xml:id), class, and tabstyle XML attributes for table and informaltable in the DocBook reader. The tabstyle value is put in the ‘custom-style’ attribute.
- Dokuwiki reader:
- Be more forgiving about misaligned lists, like dokuwiki itself (#8863).
- Improve blockquote parsing in dokuwiki. Allow for quoted code blocks.
- Enable smart extension.
- Properly parse `--` and `---` as dashes.
- Fix block quote behavior (#6461). Blockquotes are not really block containers in DokuWiki; the lines are interpreted literally (so, e.g., you can’t start a list), and line breaks are added at the ends.
- EPUB reader:
- Fix links to other files in the EPUB, making them internal links to a fragment derived from the filename (#10207). There was already code to handle links like `#foo`, but not to handle links like `ch0001.html#foo`.
- LaTeX reader:
- Add em, ex, px, mu to list of units for dimension args (#10212).
- ANSI writer:
- Fix subscripts (Evan Silberman).
- DokuWiki writer:
- Don’t emit `` tags (#7413). The use of these tags is now strongly discouraged for security reasons, and will be removed. We previously used them as a fallback for lists that could not be represented using DokuWiki syntax, e.g. ordered lists with fancy numbers or lists with multiple blocks in their items. We also used them for block quotes with multiple blocks as their contents. We now use the `
- Haskell
Published by jgm over 1 year ago
pandoc - pandoc 3.4
Click to expand changelog
- New output format: `ansi` (for formatted console output) (Evan Silberman). Most Pandoc elements are supported and printed in a reasonable way, if not always ideally. This version does no detection of terminal capabilities, nor does it fall back to different output styles for less-capable terminals.
- Add command line options `--table-caption-position` and `--figure-caption-position`. These allow the user to specify whether to put captions above or below tables and figures, respectively. The following output formats are supported: HTML (and related such as EPUB), LaTeX (and Beamer), Docx, ODT/OpenDocument, Typst.
- Change default `--pdf-engine` via HTML to WeasyPrint (#10142). `wkhtmltopdf` is deprecated. `weasyprint` is the easiest-to-install, maintained alternative. For better results, one might prefer `pagedjs-cli`.
- Org reader:
- Fix parsing of src blocks with an `-i` flag (#10071, Albert Krewinkel). Tabs are now preserved in the contents of *src* blocks if the the block has the `-i` flag.
- RTF reader:
- Handle images inside `shp` contexts (#10145).
- RST reader:
- Improve simple table support (#10093). Multiline rows occur only when the *first* cell is empty; we were previously treating lines with *any* empty cell as row continuations. In addition, we no longer wrap multiline cells in Para if they can be represented as Plain. This is consistent with docutils behavior.
- LaTeX reader:
- Math environments don’t have bracketed options (#10160).
- Parse nested tabular environments (#4746).
- Typst reader:
- Change how “block” elements are handled. Previously they were always parsed as divs. But actually they can occur in some “inline” contexts. Now we first try to parse them as inlines, and only as blocks if that fails. A surrounding Div or Span element is added only if there is an identifier.
- HTML reader:
- Only parse main element’s contents (if present) (#10140). If main has an id or class, we include a div with that id or class; otherwise just the contents.
- Read TeX annotation in MathML content if present (#9971).
- Better handle KaTeX-generated math (#9971). KaTeX emits the mathml followed by a span with an HTML fallback. Previously pandoc was converting both. We now ignore the HTML fallback span, marked with class `katex-html`.
- New module: Text.Pandoc.Writers.ANSI \[API change\] (Evan Silberman).
- Docx writer:
- Add “SuppressAuthor” and “AuthorOnly” to citationMode when `+citations` is used (thomjur).
- Support `custom-style` attribute for docx table (Sebbones).
- Support `--number-offsets`.
- Make table/figure rendering sensitive to caption position settings.
- OpenDocument writer:
- Make table/figure rendering sensitive to caption position settings.
- Typst writer/template:
- Implement figure caption positions by triggering a show rule in the default template, which determines caption positions for figures and tables globally.
- Don’t include trailing semicolon after `@` style citations with suffixes (#10148).
- Template: move header-includes before show doc (#9996, Gordon Woodhull).
- LaTeX writer:
- Make table/figure rendering sensitive to caption position settings (#5116).
- Preserve locator labels with `--natbib` (#10057).
- HTML writer/template:
- Make `
- Haskell
Published by jgm over 1 year ago
pandoc - pandoc 3.3
Click to expand changelog
- New cli option: `--link-images`. This causes images to be linked rather than embedded in ODT.
- Allow `--number-sections` to take an optional `true|false` argument.
- RTF reader:
- Handle `\*\shppict` without dropping image (#10025).
- TWiki Reader:
- Recognize WikiWords as internal links (#9941).
- Avoid partial function.
- Typst reader:
- Ignore ‘pad’ and just parse its body (#9958).
- Use typst 0.5.0.5. Fixes parsing of equations like `$1.$`.
- Docx writer:
- Fix regression with nested lists (#9994). The bug affects e.g. ordered lists with bullet sublists; after the sublist the top-level list reverts to bullets instead of being properly numbered. This is a regression introduced in version 3.2.1.
- BibTeX writer:
- Ensure that “literal” names are enclosed in braces (#9987).
- Man writer:
- Use default middle header when metadata does not include `header` (#9943). This change causes pandoc to omit the middle header parameter when `header` is not set, rather than emitting `""`. The parameter is optional and man will use a default based on the section if it is not specified.
- HTML templates: don’t load polyfill (#9918). This was added in a period when MathJaX required polyfill. MathJaX no longer recommends this and polyfill should no longer be necessary on any reasonably modern browser.
- Translations:
- Add `ua.yaml` (Jens Oehlschlägel).
- Add a script (`tools/update-translations.py`) and Makefile target (`update-translations`) to update translation data automatically from babel and polyglossia upstream (Stephen Huan).
- Use this script to update language data, increasing the number of languages we cover (Stephen Huan). Fix a few small bugs in existing translations.
- Fix some mistakes with Japanese language code (#9938). In several places we were mistakenly assuming that the BCP 47 code for Japanese language was `jp`. It is `ja`.
- Text.Pandoc.Options:
- New field in WriterOptions: `writerLinkImages` \[API change\] (#9815).
- Text.Pandoc.App.Opt:
- New field in Opt: `optLinkImages` \[API change\] (#9815).
- Lua subsystem:
- Keep `lpeg` and `re` as “loaded” modules (Albert Krewinkel). The modules `lpeg` and `re` are now treated as if they had been loaded with `require`. Previously the modules were only assigned to global values, but could be loaded again via `require`, thereby allowing to use a system-wide installation. However, this proved to be confusing.
The old behavior can be restored by adding the following lines to the top of Lua scripts, or to the `init.lua` in the data dir.
debug.registry()['_LOADED'].lpeg = nil
debug.registry()['_LOADED'].re = nil
- `pandoc-cli`: Include pandoc copyright in Lua version info (Albert Krewinkel).
- `pandoc-cli`: Refer printing of version info to the Lua interpreter (Albert Krewinkel). The Lua interpreter no longer terminates when called with `-v` or `--version` arguments, thus improving compatibility with the default `lua` interpreter program.
- Avoid partial functions in JATS reader, DocBook writer, Haddock reader.
- Allow tls 2.1.x.
- MANUAL.txt:
- Make documentation of extensions clearer (#9060).
- Fix section level for two Extensions entries.
- lua-filters.md: Partially autogenerate docs for module `pandoc` (Albert Krewinkel). The documentation system isn’t powerful enough to generate the full documentation automatically.
- Haskell
Published by jgm almost 2 years ago
pandoc - pandoc 3.2.1
Click to expand changelog
- Fix `gfm_auto_identifiers` to replace emojis with their aliases, as documented (#9876).
- CSV reader:
- Turn line breaks into LineBreaks not SoftBreaks (#9797).
- Docx reader:
- Support task lists (#8211).
- Fix a small bug in parsing delimiters in numbered lists, which led to the default delimiter being used wrongly in some cases.
- Improve handling of captions.
- Turn captioned images into Figure elements. Closes #9391.
- Improve the logic for associating elements with captions (#9358).
- Ensure that captions that can’t be associated with an element aren’t just silently dropped (#9610).
- Support HorizontalRule. We support both pandoc-style and the style described on a Microsoft support page, an empty paragraph with a bottom border (#6285).
- React to `"left"` value on `jc` attribute.
- Handle column and cell alignments (#8551). We take the column alignments from the first body row.
- Fix a bug that caused comments inside insertions or deletions to be ignored (#9833).
- HTML reader:
- Better handle non-`li` elements in `ul` and `ol` (#9809). For example, a `p` after a closed `li` will be incorporated into the previous `li`. This mirrors what browsers do with this invalid HTML.
- LaTeX reader:
- Fix parsing of dimensions beginning with `.`, e.g. `\kern.1pt` (#9902).
- Markdown reader:
- Allow author-only textual citations (#7219). E.g. `-@reese2002` outside of brackets.
- RST reader:
- Tighten up rules for when emphasis can start (#9805).
- Support `:cite:` role with citeproc (#9904). A subset of the functionality of the sphinxcontrib-bibtex extension to Sphinx is supported.
- Textile reader:
- Don’t let spans begin right after a symbol (#9878).
- Texinfo writer:
- Ensure proper escaping in all node/link contexts.
- Target node rather than anchor when possible in internal links.
- Remove illegal characters from internal link anchors (#6177).
- Use two commas not one in `@ref`.
- Don’t add anchors to headings. We don’t need them, now that we make internal links use the node.
- Avoid duplicate node names.
- Improve menus. Properly handle the case where the node name is different from the descriptive title.
- Texinfo template: add variables for filename and version.
- Typst reader:
- Fix an incomplete pattern match (#9807).
- Handle inline bodies ending in a parbreak. E.g.
`#strong[
test
]
- ConTeXt template: remove `\setupbackend[export=yes]` (#9820).
- Docx writer:
- Omit `jc` attribute on table cells with AlignDefault (#5662).
- Better formatting for task lists. Task lists are now properly formatted, with no bullet (#5198).
- Replace an expensive generic traverse to remove Space elements, for better performance.
- The new OpenXML template had spaces for metadata that need to be filled with OpenXML fragments with the proper shape. This patch ensures that everything is the right shape.
- Wrap figures with `id` in a bookmark (#8662).
- Add eastAsia font hints to `w:r` (#9817). We do this when the text in the run contains any CJK characters. This ensures that ambiguous code points (e.g. quotation marks) will be represented as “wide” characters when together with CJK characters.
- Clean up Abstract Title and Subtitle in default reference docx. Center Subtitle, remove color.
- Allow OpenXML templates to be used with `docx` (#8338, #9069, #7256, #2928). The `--reference-doc` option allows customization of styles in docx output, but it does not allow one to adjust the content of the output (e.g., changing the order in which metadata, the table of contents, and the body of the document are displayed), or adding boilerplate text before or after the document body. For these changes, one can now use `--template` with an OpenXML template. (See the default `openxml` template for a sample.) `--include-before-body` and `--include-after-body` can also now be used with `docx` output. The included files must be OpenXML fragments suitable for inclusion in the document body.
- New unexported module Text.Pandoc.Writers.Docx.OpenXML.
- HTML writer:
- Ensure URI escaping needed for `html4` (#9905). Unicode characters need not be escaped for html5, and still won’t be.
- Don’t emit unnecessary classes in HTML tables (#9325, Thomas Soeiro). Pandoc used to emit a `header` class on the `tr` element that forms the table header. This is no longer needed, because `head > tr` will do the same thing. Similarly, pandoc used to emit `even` and `odd` classes on `tr`s, allowing striped styling. This is no longer needed, because one can use e.g. `tbody tr:nth-child(2n)`.
Compatibility warning: users who relied on these classes to style tables may need to adjust their CSS.
- JATS writer:
- Support `supplementary-material` in metadata for `jats_articlepublishing` (#9818).
- LaTeX writer:
- New method for ensuring images don’t overflow (#9660). Previously we relied on graphicx internals and made global changes to Gin to force images to be resized if they exceed textwidth. This approach is brittle and caused problems with `\includesvg` (see #9660). The new approach uses a new macro `\pandocbounded` that is now defined in the LaTeX template. (Thanks here to Falk Hanisch in https://github.com/mrpiggi/svg/issues/60.) The LaTeX writer has been changed to enclose `\includegraphics` and `\includesvg` commands in this macro when they don’t explicitly specify a width or height. In addition, the writer now adds `keepaspectratio` to the `\includegraphics` or `\includesvg` options if `height` is specified without width, or vice versa. Previously, this was set in the preamble as a global option. Users should attend to the following compatibility issues:
- If custom templates are used with the new LaTeX writer, they will have to be updated to include the new `\pandocbounded` macro, or an error will be raised because of the undefined macro.
- Documents that specify explicit dimensions for an image may render differently, if the dimensions are greater than the line width or page height. Previously pandoc would shrink these images to fit, but the new behavior takes the specified dimensions literally. In addition, pandoc previously always enforced `keepaspectratio`, even when width and height were both specified, so images with width and height specified that do not conform to their intrinsic aspect ratio will appear differently.
- Task lists must be unordered (#9185).
- Specify language option for `selnolig` and only include it if `english` or `german` is used (#9863). (This includes changes to the LaTeX template.) This should restore proper ligature suppression when lualatex is used.
- Fix `--toc-depth` with beamer output (#9861). Previously only top-level sections were ever included in the TOC, regardless of the setting of `--toc-depth`.
- Use `\linewidth` instead of `\columnwidth` or `\textwidth` for resizing figures, table cells, etc. in LaTeX (#9775). `\linewidth`, unlike the others, is sensitive to indented environments like lists.
- LaTeX template: put `babel-lang` in options to beamer (#9868). This is required to make beamer use proper localized terms for things like “Section.”
- Markdown writer:
- Don’t print extra caption when using `implicit_figures`.
- Ensure blank line after HTML blocks in commonmark-based formats (#9792).
- Fix bug rendering block quotes in lists (#9908).
- Typst writer:
- Support ‘.typst:no-figure’ and ‘typst:figure:kind=kind’ attributes (#9778, Carlos Scheidegger). This extends support for fine-grained properties in Typst. If the `typst:no-figure` class is present on a Table, the table will not be placed in a figure. If the `typst:figure:kind` attribute is present, its value will be used for the figure’s `kind` (#9777). These features are documented in `doc/typst-property-output.md`.
- Typst template:
- Add subtitle (#9747, Mickaël Canouil).
- Use content rather than string for title, author, date, email (#9823). This allows formatting in title, author, date, and email fields. Since the PDF metadata requires a string, and typst only converts the title to a string (not the authors), we use
- Textile writer:
- Get rid of header, odd, even classes on `tr` (#9376).
- Text.Pandoc.Class:
- `fillMediaBag`: Convert IOErrors to warnings when fetching absolute paths (#9859, Albert Krewinkel). This will allow many conversions that would have failed with an error to succeed (albeit without images or other needed resources).
- Text.Pandoc.ImageSize:
- Don’t prefer exif width/height when they conflict with image width/height (#9871). That was a mistaken call in #6936. Usually when these values disagree, it is because the image has been resized by a tool that leaves the original exif values the same, so the width/height metadata are more likely to be correct that exif width/height.
- Text.Pandoc.SelfContained:
- Strip CRs from XML before base64 encoding for data URI (so tests can work on Windows).
- Only create `
- Haskell
Published by jgm almost 2 years ago
pandoc - pandoc 3.2
Click to expand changelog
- Change to `--file-scope` behavior (#8741): previously a Div with an identifier derived from the filename would be added around the contents of each file. This caused problems for “chunking” files into chapters, e.g. in EPUB. We no longer add the surrounding Div. This cooperates better with chunking. Note, however, that if you have relied on the old behavior to link to the beginning of the contents of a file using its filename as identifier, that will no longer work.
- Markdown reader:
- Allow repeated labels in numbered example lists. Previously if you tried to use the same label as an earlier example list item, you’d get a new number, not the old one, and references to the label would go to the second occurrence. Now an existing label will be reused, and no new number will be generated. Caveat: this only works reliably when the re-used example list item occurs by itself in a list, or occurs in a list of previously used example list items that occur in exactly the same order as previously.
- Fix `normalCite` so it doesn’t consume past a closing `]` boundary (#9710). This was causing an exponential performance bug on long lists of links containing potential emphasis characters.
- Generalize `inlinesInBalancedBrackets` to `inBalancedBrackets`, with a parameter for the inner parser.
- Auto-close unclosed divs (#9635). This applies to both fenced and HTML-ish varieties. Otherwise we face an exponential performance problem with backtracking. A warning is issued when a div is implicitly closed.
- RST reader:
- Fix `figclass` and `align` annotations for figures (#7473, Gokul Rajiv).
- LaTeX writer:
- Use `polytonicgreek` instead of `polutonikogreek` with babel (#9698). `polutonikogreek` is outdated. Also recognize both in the LaTeX reader.
- Improve treatment of math inside soul commands (#1294, #5529). soul commands (`ul`, `hl`, `st`) are very fragile and the math must be handled specially.
- LaTeX reader:
- Fix over-eager macro expansion in conditionals (#9676).
- Parse `flalign`, `flalign*` math environments (#9679). We parse these as Math elements with an `aligned` environment. Semantically it’s not exactly the same, but better than falling back to raw LaTeX.
- LaTeX template: add `titlegraphicoptions` variable (#9207, Guilhem Saurel).
- Docx reader:
- Issue warning rather than error when we can’t parse EndNote citations (see #8433).
- Fix anchor in header after anchor (#9626, mbracke).
- RTF reader:
- Don’t try to handle non-default code pages (#9683). Emit a warning instead.
- OpenDocument writer:
- Implement custom-style for spans (#9657).
- Typst writer:
- Add blank line in definition lists with multiple definitions (see #9704).
- Property output (#9648, Gordon Woodhull). The Typst writer will pass on specially marked attributes as raw Typst parameters on selected elements. This allows extensive customization using filters. A separate document (`doc/typst-property-output.md`) has been added that provides extensive documentation and examples of the use of this feature.
- Markdown writer:
- Don’t try to align columns in pipe tables with lines greater than COLUMNS. The alignment just reduces readibility when the lines soft wrap.
- Don’t use `raw_attribute` syntax for raw blocks, unless there is no other option (see #9677). Macros in a `raw_attribute` block don’t get interpreted when it is read again by pandoc’s markdown reader.
- ConTeXt writer:
- Replace depreciated `\sc` with `\setsmallcaps` (#9518, James P. Ascher).
- Docx writer:
- Use conventional styles/indents for Word bullet lists (#7280).
- `reference.docx`:
- Use current standard Word theme (#7280). This includes using the sans-serif font Aptos instead of the serif font Cambria, and default colors for headings.
- Remove duplicate `DefaultParagraphFont` in `styles.xml`.
- New module Text.Pandoc.Transforms \[API change\] (Albert Krewinkel). This module exports the following functions which were formerly exported from Tetx.Pnadoc.Shared: `headerShift`, `filterIpynbOutput`, `eastAsianLineBreakFilter`, as well as some functions that were previously not exported.
- Text.Pandoc.Shared:
- `headerShift`, `filterIpynbOutput`, and `eastAsianLineBreakFilter` are no longer exported from this module; they are now exported from Text.Pandoc.Transforms (Albert Krewinkel).
- Text.Pandoc.Error:
- Improve reporting of unsupported extensions errors (#9247, Albert Krewinkel).
- Text.Pandoc.App:
- Move “transforms” after filters (#9664). This will mean that `--shift-heading-level-by` affects a heading added by `reference-section-title`.
- Text.Pandoc.App.CommandLineOptions:
- Simplify output for `OptVersion`. Omit the information about versions of dependencies. We no longer emit version info at this level anyway; `pandoc-cli` intercepts and handles `--version`. This code would only be called if someone used the pandoc library function `handleWithOptInfo` in their own program.
- Text.Pandoc.ImageSize:
- Export `ImageSize` datatype.
- Text.Pandoc.SelfContained:
- Merge class attribute when both img and svg specify it (#9652, Carlos Scheidegger).
- Text.Pandoc.Logging:
- Add `ScriptingInfo` constructor for `LogMessage` \[API change\] (Albert Krewinkel).
- Make `DocxParserWarning` a WARNING, not INFO. \[API change\].
- Add `UnsupportedCodePage` constructor to `LogMessage` \[API change\].
- Add `UnclosedDiv` constructor for `LogMessage` \[API change\].
- Lua subsystem (Albert Krewinkel:
- Add a `pandoc.log` module.
- Uupdate to pandoc-lua-marshal version 0.2.7 (#8916). This fixes counterintuitive behavior of the `content` property on BulletList and OrderedList items. Unmarshalling of that field now matches the behavior of the constructor.
- Use newest zip module. This adds a `symlink` function to Entry objects, allowing to check if an entry represents a symbolic link.
- Improve `pandoc.json.decode` docs.
- Update and fix docs for `pandoc.types.Version` and `pandoc.utils.type`.
- Add new module `pandoc.image` The module provides basic querying functions for image properties.
- Bump pandoc-lua-engine to 0.2.1.4.
- Use latest KaTeX CDN asset (#9707, Salim B).
- `pandoc-cli`: ensure UTF8 when emitting version info.
- tools/update-lua-module-docs.lua: improve script-internal docs, cleanup (Albert Krewinkel).
- Allow network 3.2.
- Use latest versions of texmath, djot, skylighting-core, skylighting.
- Fix command test for #9652.
- Fix some typos in code comments (#9638, guqicun).
- Command tests: include regular PATH after directory with the test executable (ensures that DLLs will be found on Windows).
- MANUAL.txt:
- Document `handout` variable for beamer (#9742).
- Document formats affected by `--slide-level` (#9745).
- Update the list of required LaTeX packages (#9728, Albert Krewinkel).
- Use more descriptive link text for ODT (#9673).
- Add clarification about `toc-title` in `docx`, `pptx` (#9645).
- Better document truthiness for conditionals (#9661).
- Mention that `custom-style` works with ODT (Ian Max Andolina).
- Harmonize typographic dashes (#9688, Salim B). Standardize on `---` with no space.
- INSTALL.md: Minor tweaks (#9705, Leo Heitmann Ruiz).
- Haskell
Published by jgm about 2 years ago
pandoc - pandoc 3.1.13
Click to expand changelog
- Org reader:
- Fix treatment of `id` property under heading (#9639).
- DocBook reader:
- Add empty title to admonition div if not present (#9569). This allows admonition elements (e.g. `
- Haskell
Published by jgm about 2 years ago
pandoc - pandoc 3.1.12.3
Click to expand changelog
- Markdown reader: Fix bug with footnotes at end of fenced div (#9576).
- LaTeX reader:
- Improve tokenization of `@` (#9555). Make tokenization sensitive to `\makeatletter`/`\makeatother`. Previously we just always treated `@` as a letter. This led to bad results, e.g. with the sequence `\@`. E.g., `a\@ b` would parse as “ab” and `a\@b` as “a”.
- Make `withRaw` work inside `parseFromToks` (#9517). This is needed for raw environments to work inside table cells.
- Better handling of table colwidths (#9579). Previously the parser just failed if the column width specified in `p{}` wasn’t a multiple of `\linewidth`. This led to cases where content was skipped.
- Typst writer:
- Add ‘kind’ parameter to figures with tables (#9574).
- Avoid unnecessary box around image in figure (#9236).
- Omit width/height in images unless explicitly specified (#9236). Previously we computed width/heigth for images that didn’t have size information, because otherwise typst would expand the image to fit page width. This typst behavior has changed in 0.11. This change fixes a bug in which images would sometimes overflow page margins, depending on their intrinsic size.
- Don’t add hard-coded `inset` to tables (#9580). Instead, set this globally in the default template, allowing it to be customized.
- LaTeX template: Fix block headings support for unnumbered paragraphs (#9542, #6018, Oliver Fabel).
- HTML templates: Replace polyfill provider (#9537, @SukkaW). Replace polyfill.io with cdnjs.cloudflare.com/polyfill. polyfill.io has been acquired by Funnull, and the service has become unstable.
- Korean translations: delete colon in translation for ‘to’. This was invalid YAML, and not desired anyway, since a colon is added.
- Use latest commonmark, commonmark-extensions. This fixes a 3.12 regression in parsing of commonmark/gfm autolinks (jgm/commonmark-hs#151).
- Depend on djot 0.1.1.3, which fixes a serious parsing bug affecting regular paragraphs after lists.
- Depend on latest skylighting, skylighting-core, typst-hs, texmath.
- MANUAL.txt: Change broken link to IDML cookbook (#9563).
- Haskell
Published by jgm about 2 years ago
pandoc - pandoc 3.1.12.2
Click to expand changelog
- Docx reader:
- Ensure that table captions are counted (#9518).
- Detect caption by style name not id (#9518). The styleId can change depending on the localization.
- Avoid emitting empty paragraph where caption was.
- Markdown reader: fix regression in link parsing with wikilinks extensions (#9481). This fixes a regression introduced in 3.1.12.
- Org reader/writer: support admonitions (#9475).
- Org writer: omit extra blank line at end of quote block.
- Typst writer: ensure that `-`, `+`, etc. are escaped at beginning of block (#9478). Our recent relaxing of escaping (#9386) caused problems for things like emphasized `-` characters that were rendered using `#strong[-]#`. This now gets rendered as `#strong[\-]`.
- LaTeX writer: fix bug when a language is specified in two different ways (#9472). If you used `lang: de-DE` but then had a span or div with `lang=de`, the preamble would try to load `ngerman` twice, leading to an error. This fix ensures that a language is only loaded once.
- Docx writer: Don’t copy over `footnotePr` in `settings.xml` from reference.docx (#9522).
- EPUB writer: omit EPUB2-specific meta tag on EPUB3 (#9493). This caused a validation failure in epubs with cover images.
- Lua: avoid crashing when an error message is not valid UTF-8 (Albert Krewinkel).
- Text.Pandoc.SelfContained:
- Add `role="img"` to svgs.
- Add `aria-label` to svg elements with `alt` text if present. Screen readers ignore `alt` attributes on svg elements but do pay attention to `aria-label` (#9525).
- Text.Pandoc.Shared: Fix regression in section numbering in `makeSections` (#9516). Starting with pandoc 3.1.12, unnumbered sections incremented the section number.
- Text.Pandoc.Class: fix `openUrl` TLS negotiation (#9483). With the release of TLS 2.0.0, the TLS library started requiring Extended Main Secret for the TLS handshake. This caused problems connecting to zotero’s server and others that do not support TLS 1.3. This commit relaxes this requirement.
- Depend on djot 0.1.1.0 (fixes rendering on multiline block attributes).
- Use new releases of skylighting-format-blaze-html (#9520). Fixes auto-wrapping of long source lines in HTML print media.
- Use new commonmark-extensions (fixes issue with the `rebase_relative_paths` extension when used with commonmark/gfm.
- Makefile: improve epub-validation target (#9493). Use `--epub-cover-image` to catch issues that only arise with that.
- Haskell
Published by jgm about 2 years ago
pandoc - pandoc 3.1.12.1
Click to expand changelog
- EPUB writer: omit EPUBv3-specific accessibility features on epub2 (#9469). Fixes a regression in 3.1.12.
- More fixes for SVG ids with `--self-contained` (#9467). This generalizes the fix to #9420 so it applies to things like `style="fill(url(#..."` and should fix problems with SVGs including gradients.
- Powerpoint writer: properly handle math in headings and tables (#9465). This ensures that paragraphs containing math are wrapped in a `mc:AlternateContent` node as required.
- Makefile: make validate-epub check v2 output too.
- Haskell
Published by jgm over 2 years ago
pandoc - pandoc 3.1.12
Click to expand changelog
- Add `djot` as input and output format. Djot is a light markup syntax (https://djot.net).
- New module Text.Pandoc.Readers.Djot \[API change\]. The function `readDjot` is also exported by Text.Pandoc.Readers.
- New module Text.Pandoc.Writers.Djot \[API change\]. The function `writeDjot` is also exported by Text.Pandoc.Writers.
- `--number-sections` now uses the first digit for the number of the top-level section, no matter what its level. So if the top-level section is level-2, numbers will be `1`, `2`, etc. rather than `0.1`, `0.2`, as in the past (#5071). For some backwards compatibility, we revert to the old behavior when the `--number-offset` option is used.
- DocBook reader:
- Better handling of `` to list of exceptions for `markdown_in_html_blocks` extension (#9305).
- Add clarification to docs for `--resource-path` (#9417).
- Makefile: Validate generated EPUB as part of prerelease checks.
- Add validation for docx golden files to CI (Edwin Török).
- Haskell
Published by jgm over 2 years ago
pandoc - pandoc 3.1.11.1
Click to expand changelog
- Docx reader:
- Fix HYPERLINK with only switch and no argument (#9246).
- Org reader:
- Parse caption and label for grid tables (#9279).
- MediaWiki reader:
- Handle multiline math in list items (#9293).
- OPML writer:
- Respect `--wrap` options & `--columns` in contents of notes (#9297).
- ODT/OpenDocument writers:
- Properly handle highlighting styles (#9287). These styles were going into an `office:styles` element in `content.xml`, but this is invalid. Instead they must go in `styles.xml`. The variable `highlighting-styles` no longer has any effect on the default opendocument template, and highlighting styles are not included in `opendocument` output.
- Markdown writer:
- Add table identifier at end of caption if present (#9279).
- Text.Pandoc.PDF:
- Expand list of environment variables to display in verbose output (#9303).
- Ensure that we find all the LaTeX warnings requiring a rerun (#9284). This should fix a regression from 3.1.9 that led to incorrect alignments in tables (and possibly other issues).
- Docx writer:
- Ensure that pandoc’s output validates (Edwin Török, #9273, #9269, John MacFarlane, #9265, #9266, #9264).
- Don’t emit empty table rows, which seem to cause problems for Word (#9224).
- LaTeX writer:
- Omit superfluous page locator label when used with `--natbib` or `--biblatex` (#9275). These will treat a bare number as a page locator, and they will be able to localize it. Note that the recognition of the locator label is locale-sensitive; if `lang` is `de`, then `S. 33` is a page reference, and `p. 33` is not!
- Text.Pandoc.Chunks: Fine tune `makeChunks` (#9281).
- Ensure that chunks not based on sections (those with the “preamble” class) get unique identifiers, by appending chunk number.
- This will also ensure that they get unique path names when the path is generated from the identifier.
- Default HTML5 template: remove html5shiv (and support for IE \< 9).
- Makefile:
- Fix `make quick-stack`: `j` was expecting a number (Edwin Török).
- Run built pandoc (instead of pandoc in path).
- Add `validate-epub` target, using `epubcheck` to test the golden files.
- Add `validate-docx-golden-tests` target.
- Haskell
Published by jgm over 2 years ago
pandoc - pandoc 3.1.11
Click to expand changelog
- Typst writer:
- Emit `;` after typst code, unless followed by space (#9252). Otherwise there’s the potential that the typst code will swallow up a following character.
- Text.Pandoc.Logging:
- Add `MakePDFWarning` constructor to LogMessage \[API change\].
- Add `MakePDFInfo` constructor to LogMessage \[API change\].
- Text.Pandoc.PDF:
- LaTeX warnings are passed on to the user as warnings.
- Use `report` with `MakePDFWarning` and `MakePDFInfo` to relay verbose information and warnings, instead of writing directly to stderr.
- Parse logs to determine whether additional runs needed, instead of running a fixed number of times (#9255). (The number of times that was appropriate given pandoc’s default templates didn’t always work for custom templates, and thus pandoc 3.1.10’s change in the number of runs led to some regressions in PDF production.)
- Makefile: in `make prelease`, add checks that pandoc-cli and pandoc have the same version, that pandoc-cli depends on this exact version of pandoc, that there is an entry for this version in the changelog, and that the version numbers in the generated man pages are correct.
- Regenerate man pages with pandoc 3.1.10. This properly escapes hyphens and fixes version numbers in man pages for `pandoc-server` and `pandoc-lua`.
- Depend on texmath 0.12.8.6. This omits unneeded `lr`s in typst math output.
- Depend on typst 0.5. This allows the typst reader to support multiline strings, the version type, and the `as` keyword with `import`.
- Haskell
Published by jgm over 2 years ago
pandoc - pandoc 3.1.10
Click to expand changelog
- Link pandoc-cli version to pandoc version. Henceforth pandoc-cli’s version will be synchronized with pandoc’s, and pandoc-cli will depend on an exact pandoc version. This will avoid confusion by ensuring that `cabal install pandoc-cli-X.Y.Z` installs pandoc version X.Y.Z. It will make things more straightforward for upstream packagers (see #9232). This scheme does not follow the Haskell PVP, but that should cause no harm, because this package does not expose a library.
- Add `alerts` markdown extension. This enables GitHub style markdown alerts as a commonmark extension. This extension is now default for `gfm`. It can’t be used with `markdown`, only with `commonmark` and variants.
- Markdown reader:
- Preserve newlines in math instead of changing to spaces. Otherwise we can get unwanted results if there’s a `%` comment (#9193).
- Make attributes work with reference links (#9171).
- HTML reader:
- Improve handling of invalidly nested sublists (#9187, cf. #8150).
- MediaWiki reader:
- Allow attribute keys with hyphens (#9178).
- ODT reader:
- Support attr `text:continue-numbering` (#8979, Stephan Meijer).
- Typst reader:
- Allow references (e.g. `@foo`) to become citations if there is no corresponding label in the document.
- Collapse adjacent `cite` elements.
- Handle supplements in `cite`.
- Change `cite` (only one key allowed, a label) (typst 0.9 breaking change).
- Support `quote` element (typst 0.9).
- LaTeX reader:
- Handle otherlanguage environment and language-name environments like `\begin{french}...\end{french}` (#9202).
- Fix theorem label parsing (#8872, Hikaru Ibayashi).
- Docx reader:
- Unwrap content of shaped textboxes (Stephan Meijer, #9214).
- Improve handling of `w:sym` (#9220). We now look up symbols in symbol fonts using the table defined at Text.Pandoc.Readers.Docx.Symbols.
- Add unexported module Text.Pandoc.Readers.Docx.Symbols. This gives us a table to use to resolve characters included in docx via `w:sym` element.
- Man reader:
- Properly handle `.sp` macro inside lists and block quotes (#9201).
- LaTeX writer:
- Fix bug with big footnotes inside emphasis (#8982, Hikaru Ibayashi).
- Handle identifiers inside heading contents. `\phantomsection` can’t be used in this case, so we need `\hypertarget` (#9209).
- LaTeX template:
- Include `bookmark` package unconditionally. This package produces better PDF bookmarks than `hyperref` and does it on the first pass.
- Typst writer:
- Use `quote` for block quotes.
- Support `--toc-depth` as in other writers (#9242).
- Put inline image dimensions on enclosing box, not image (#9104).
- Better handling of tables with captions (#9194). We now put these in a figure with a caption argument.
- Update typst writer to typst 0.9 citation format (#9188).
- Typst template:
- Remove custom definition of `blockquote` in default template. (We now use built-in `quote`.)
- Support table of contents.
- Support csl (#9186, Ian Max Andolina). Typst now supports CSL for its native citation engine, so pandoc should use a specified `csl` style in the template, falling back to `bibliographystyle` if `csl` is not specified.
- Docx writer:
- Use different style for block quotes in notes (#9243). Using “Footnote Block Text” for the style name, so it can be given a different font size if footnotes are.
- Allow embedded fonts to be used in reference.docx (#6728).
- HTML5 writer:
- To conform to validator’s expectations, `doc-footnote` role is used with `aside` and `doc-endnotes` with `section`.
- `aside` is used only for notes at ends of sections or blocks; if all the notes come at the end of the document, `section` is used so we can have the `doc-endnotes` role.
- JATS writer:
- Handle case where there is material after refs div (#9166). Previously in such cases the references were not being moved to back matter.
- Ms writer:
- Don’t do normal escapes in filename arguments for PSPIC etc.
- T.P.RoffChar: escape `-` as `\-`. The `groff_man (7)` man page indicates that `-` characters will be treated as typographic hyphens and are not appropriate for cases where the output should be copy-pasteable as an ASCII hyphen-minus character. (E.g. in command line options.) However, until a recent update groff man did not actually do this; it treated `-` and `\-` the same. With the new update (1.23.0) the two are distinguished (see https://lwn.net/Articles/947941/ for background), so now it is important that pandoc escape `-`.
- Text.Pandoc.Extension: add `Ext_alerts` constructor \[API change\].
- Text.Pandoc.PDF: We now default to running LaTeX only once in producing a PDF (instead of twice). This is made possible by the shift to the `bookmark` package, which does not require a second pass for PDF bookmarks. If a table of contents is present, we still have to run three times to get the page numbers, and if beamer is used we still do a minimum of two runs.
- Text.Pandoc.Shared:
- `renderTags'`: use minimized tag for `rect`.
- Allow svg `path` element to be minimized.
- Export `combineAttr` \[API change\].
- Improve `isTightList` so that it recognizes an item containing only a list which is itself tight as potentially an item in a tight list (#9161).
- Text.Pandoc.MIME: Ensure we use `.svg` not `.svgz` as extension for `image/svg+xml` mime type. This fixes issues with embedded SVG images in docx output, among other things (#9195).
- Text.Pandoc.Class: `openURL` improvements for data uris. Only treat data URI as `base64` if ‘;base64’ is specified. Otherwise treat as UTF-8 (not 100% reliable but should cover most other cases). Strip off `;base64` (or `;charset=...` or whatever) from mime type (#9195).
- Text.Pandoc.SelfContained: Improve treatment of embedded SVGs (#9206, #8948).
- Ensure unique ids for elements by prefixing SVG id.
- Ensure SVG `id` attribute except when `use` element is used.
- Remove `width`, `height` attributes from svg element when `use` element is used. Instead, add `width` and `height` 100% to the `use` element. This seems to get the sizing right.
- Text.Pandoc.Citeproc: Don’t link citations if `suppress-bibliography` specified, for there will be nothing to link to (#9163).
- epub.css: add styling for sup and sub (#9160).
- Switch from `base64` to `base64-bytestring` (#9233).
- Use newest versions of commonmark, commonmark-extensions, commonmark-pandoc, texmath, typst, skylighting, skylighting-core.
- Benchmark: use standalone documents for reader tests. Otherwise typst reader benchmark fails. Note: this means that we are now parsing longer documents, so bench results on readers won’t be comparable to before.
- MANUAL.txt: update defaults file docs for bibliography fields (#9173). Recommend using top-level `bibliography` `csl`, etc. instead of a nested `metadata` field. Reason: `${USERDATA}` and `${HOME}` are only expanded in these contexts, not in `metadata`.
- Move man pages to pandoc-cli package (#9245).
- Haskell
Published by jgm over 2 years ago
pandoc - pandoc 3.1.9
Click to expand changelog
- Make `reference-section-title` work with `jats+element_citations` (#9021).
- Add `bits` as synonym of `jats` as input format.
- JATS reader:
- Modify JATS reader to handle BITS too (#9138, Julia Diaz). Add provision for title-group, book, book-part-wrapper, book-meta, book-part-meta, book-title, book-title-group, index, toc, legend, title, collection-meta
- Fix handling of alt-text (#9130, Julia Diaz). Previously we were looking for an attribute that doesn’t exist in JATS; alt-text is provided by a child element.
- CommonMark reader:
- Handle `Ext_tex_math_gfm` (#9121). Parse GFM-specific math constructions when `tex_math_gfm` enabled.
- DokuWiki reader:
- Allow autolinks to be avoided using e.g. `https:%%//%%...` (#9153).
- Parse `` and `
- Haskell
Published by jgm over 2 years ago
pandoc - pandoc 3.1.8
Click to expand changelog
- JATS reader:
- Ignore `
- Haskell
Published by jgm over 2 years ago
pandoc - pandoc 3.1.7
Click to expand changelog
- Org reader:
- Don’t parse alphabetical lists unless the `fancy_lists` extension is enabled (#9042).
- Allow escaping commas in macro arguments (Amneesh Singh).
- JATS reader:
- Support for `
- Haskell
Published by jgm over 2 years ago
pandoc - pandoc 3.1.6.2
Click to expand changelog
- Org reader: allow example lines to end immediately after the colon (Brian Leung).
- Docx reader:
- Omit “Table NN” from caption (#9002).
- Avoid spurious block quotes in list items (#8836).
- JATS reader: Fix display of block elements (#8889, Julia Diaz). A number of block elements, like disp-quote, list, and disp-formula, were always treated as inlines if appearing inside paragraphs, even if their usage granted a separate block.
- HTML reader: avoid duplicate id on header and div (#8991).
- Typst writer:
- Use `~` for nonbreaking space, and escape literal `~` (#9010).
- Put the label in right place for Div, use `#block` (#8991). Previously we were putting the label at the beginning of the Div’s contents, but according to the documentation such a label gets attached to the *preceding* element. We now use an explicit `#block` and add the label at the end.
- LaTeX writer:
- Improve escaping of URIs in href, url (#8992).
- Improve internal links and targets (#8744). We no longer wrap section headings in a `\hypertarget`. This is unnecessary (hyperref creates an anchor based on the label) and it interferes with tagging. In addition, we now use `\hyperref` rather than `\hyperlink` for internal links. Currently `\hypertarget` is still being used for link anchors not on headings. Thanks to @u-fischer.
- HTML format templates (style.html): Fix typo in clause for svg (Jackson Schuster).
- Use lastest texmath, typst-symbols, typst. Targets typst 0.7.
- Haskell
Published by jgm almost 3 years ago
pandoc - pandoc 3.1.6.1
Click to expand changelog
- HTML reader: properly calculate RowHeadColumns (#8984). This fixes a bug in the calculation of the number of header columns in table row. It also changes the algorithm for determining the table body’s RowHeadColumns based on the numbers of head columns in each row. Previously we used the max, and #8634 switched to the min, which led to bad results. Now we only set RowHeadColumns to a non-zero value if *all* rows have the same number of head columns.
- OpenDocument writer:
- Implement syntax highlighting for inline and block code (#6710).
- Support highlighted text in ODT/OpenDocument writers for Span with class `mark` (#8960). The color can be adjusted by modifying the Highlighted style.
- Typst writer: escape `//` so it doesn’t get interpreted as a comment (#8966).
- ChunkedHTML writer: Fix regression including MathJax script (#8967). The fix for #8620 caused the script to be included when the table of contents but not the body text of a page contains math. But it broke the case where the table of contents doesn’t contain math but the page does. This patch fixes the issue.
- Text.Pandoc.SelfContained:
- Retain attributes in SVG tag when referring to another SVG’s content using `
- Haskell
Published by jgm almost 3 years ago
pandoc - pandoc 3.1.6
Click to expand changelog
- Fix new variant of the vulnerability in CVE-2023-35936. Guilhem Moulin noticed that the fix to CVE-2023-35936 was incomplete. An attacker could get around it by double-encoding the malicious extension to create or override arbitrary files.
- `--embed-resources`: Use inline SVG instead of data uris for SVG images in HTML5 (#8948). Note that SelfContained does not have access to the writer name, so we check for HTML5 by determining whether the document starts with `` for inline code (#8889). It is intended for block-level code.
- HTML writer: don’t make line blocks sensitive to `--wrap` (#8952).
- RST writer: fix figure handling (#8930, #8871). This fixes a number of regressions from pandoc 2.x. Properly handle caption, alt attribute in figures. No longer treat a paragraph with a single image in it as a figure (we have a dedicated Figure element now).
- Docx writer: Copy “mirror margins” property from reference.docx (#8946).
- Text.Pandoc.UTF8: Deprecate `decodeArg` which is now a no-op. This was needed for old base versions which we no longer support.
- Use released skylighting, typst.
- Allow latest commonmark-extensions. This allows entities in wikilinks.
- Switch back to using ghc 9.2 for linux and Windows binary releases (#8947, #8955). With ghc 9.4+, we were getting AVX instructions in the amd64 binary, which aren’t supported on older hardware. For maximum compatibility we switch back to ghc 9.2, which doesn’t cause the problem. (As documented, ghc should not be emiting these instructions, so we aren’t clear on the diagnosis, but the cure has been tested.)
- Change Windows release build to use cabal instead of stack.
- Haskell
Published by jgm almost 3 years ago
pandoc - pandoc 3.1.5
Click to expand changelog
- Allow all boolean flags to take an optional `true` or `false` value (#8788, Sam S. Almahri). The default is true if no value is specified, so this is fully backwards-compatible.
- Support `--id-prefix` for markdown output (#8878)
- Markdown reader:
- Add strictness annotations to fix a memory leak (#8762).
- Typst reader:
- Use typst-hs 0.3.0.0, which is more robust, fixes many bugs, and targets typst 0.6.
- Package loading is now supported, as long as the package has been cached or is local.
- Rewrite Typst reader in a way that makes it easier to extend.
- Filter out CR in raw.
- Handle block content for link element.
- Handle block-level content in text element.
- Handle style, align, place in inline contexts too.
- Improve info message for skipped elements.
- Add typst reader tests (#8942).
- MediaWiki reader:
- Revise treatment of “link trail.” Previously we only included ASCII letters. That is correct for English but not for, e.g., Spanish (see comment in #8525). A safer approach is to include all letters except those in the CJK unified ideograph ranges.
- AsciiDoc writer:
- Make modern AsciiDoc the target for `asciidoc` (#8936). The AsciiDoc community now regards the dialect parsed by `asciidoctor` as the official AsciiDoc syntax, so it should be the target of our `asciidoc` format. The `asciidoc` output format now behaves like `asciidoctor` used to. `asciidoctor` is a deprecated synonynm. For the old `asciidoc` behavior (targeting the Python script), use `asciidoc_legacy`. The templates have been consolidated. Instead of separate `default.asciidoctor` and `default.asciidoc` templates, there is just `default.asciidoc`.
- Text.Pandoc.Writers.AsciiDoc API changes:
- `writeAsciiDoc` now behaves like `writeAsciiDoctor` used to.
- `writeAsciiDoctor` is now a deprecated synonym for `writeAsciiDoc`.
- New exported function `writeAsciiDocLegacy` behaves like `writeAsciDoc` used to.
- Update line-through for asciidoc writer to custom inline style (#8933, Kevin Broch).
- Typst writer:
- Support `unlisted` class in headings (#8941).
- Consolidate bibliography files into one `#bibliography` command (#8937).
- Improve handling of autolinks (#8931).
- Docx writer:
- Make relative widths work in tables. This didn’t work before because we were missing an attribute that tells Word to used fixed widths rather than computing optimal ones.
- DokuWiki writer: fix lists with Div elements (#8920). The DokuWiki writer doesn’t render Divs specially, so their presence in a list (e.g. because of custom-styles) need not prevent a regular DokuWiki list from being used. (Falling back to raw HTML in this case is pointless because no new information is given.)
- LaTeX writer:
- Fix babel name for `fa` (should be `persian`).
- Prevent babel language from being imported twice (#8925).
- Text.Pandoc.Class:
- Add `toTextM` \[API change\]. This is like `Text.Pandoc.UTF8.toText`, except:
- it takes a file path as first argument, in addition to bytestring contents
- it raises an informative error with source position if the contents are not UTF8-encoded
This replaces `utf8ToText` whenever we have the filename and are in a PandocMonad instance. This will lead to more informative error messages for UTF8-encoding, indicating the file path and byte offset where the error occurs (#8884).
- Remove invalid term “Subject” from Turkish translations (#8921).
- stack.yaml: add pkg-config to nix packages (#8927, pacien).
- Allow aeson 2.2.
- MANUAL: Add clarification on –section-divs. Closes #8882.
- Haskell
Published by jgm almost 3 years ago
pandoc - pandoc 3.1.4
Click to expand changelog
- Fix a security vulnerability in MediaBag and T.P.Class.IO.writeMedia. This vulnerability, discovered by Entroy C, allows users to write arbitrary files to any location by feeding pandoc a specially crafted URL in an image element. The vulnerability is serious for anyone using pandoc to process untrusted input. The vulnerability does not affect pandoc when run with the `--sandbox` flag.
- Allow `epub-title-page` to be used in defaults files (#8908).
- Issue `Extracting` info message (in `--verbose` mode) when using `--extract-media` or extracting media temporarily in PDF production.
- HTML reader: Update TableBody RowHeadColumns caculation (#8634, Ruqi). This change sets RowHeadColumns to the minimum value of each row, which gives better results in cases where rows have different numbers of leading th tags.
- Dokuwiki reader: retain image query parameters as attributes (#8887, echo0).
- Textile reader: Add support for link references (#8706, Stephen Altamirano). Textile supports what it calls “link alias”, which are analogous to Markdown’s reference-style links.
- LaTeX reader: support alt text on images (#8743, Albert Krewinkel).
- Commonmark reader: Make `implicit_figures` work again. Support for this (introduced in #6350) disappeared when we made an architectural change.
- JATS reader:
- Add footer and multiple body parsing to table reader (#8765, Noah Malmed).
- Parse references title from ref-list (#8365).
- JATS writer:
- Make `--number-sections` work.
- Include title in ref-list (#8364). Previously the reference title ended up in a separate section at the back of the body instead of in the ref-list in the back matter.
- Mediawiki writer: allow highlighting to work for F# language (Adelar da Silva Queiróz).
- LaTeX writer: Fix escaping of `&` in `\href` and `\url` (#8903).
- Docx writer:
- Fix localization of “Abstract” title (#8702).
- Allow `abstract-title` to be specified in docx metadata (#8794).
- ChunkedHTML writer: Make math work in top-level page (#8915).
- Text.Pandoc.Logging: add new log message type `ScriptingWarning` \[API change\] (Albert Krewinkel).
- Lua: report warnings from Lua scripts (Albert Krewinkel). Lua’s warning system is plugged into pandoc’s reporting architecture. Warnings that are raised with the Lua `warn` function are now reported together with other messages.
- Use crypton-connection instead of connection (#8896, Felix Yan). Follows the change introduced in tls 1.7.0.
- Bump versions for skylighting-core, skylighting.
- Include lua/module/sample.svg in cabal extra-source-files (Felix Yan).
- Add Nynorsk (New Norwegian) translations (Per Christian Gaustad).
- Add tests for `fillMediaBag`/`extractMedia`.
- INSTALL.md:
- Mention alternatives to LaTeX to generate PDF (Norwid Behrnd).
- Update Linux install links (harabat).
- pandoc-extras.md: add to “Academic publishing workflows” (#8696, Vladimir Alexiev).
- Haskell
Published by jgm almost 3 years ago
pandoc - pandoc 3.1.3
Click to expand changelog
- New output format: `typst`.
- New module: Text.Pandoc.Readers.Typst \[API change\].
- DocBook reader:
- Support more emphasis roles (Albert Krewinkel). The role “bf” is taken to indicate “bold face”, i.e., “strongly emphasized” text, while “underline” leads to underlined text.
- JATS reader:
- Improve title and label parsing in the JATS reader (#8718, Noah Malmed.)
- Add rowspan, colspan and alignment to cells in jats table reader (#8408, Noah Malmed)
- Org reader (Albert Krewinkel):
- Require abstract environment to use lowercase.
- Treat `#+NAME` as synonym for `#+LABEL` (#8578).
- ODT reader:
- Allow lists in table cells (#8892).
- Allow frames inside spans (#8886).
- RST reader:
- Fix sorting on anonymous keys (#8877). This fixes a link resolution bug bug affecting RST documents with anonymous links.
- HTML reader:
- Fix iframe with data URI of an image (#8856). In this case we don’t want to try to parse the data at the URL. Instead, create an image inside a div.
- RTF reader:
- Fix bug in table parsing (#8767). In certain cases, text before a table was being incorporated into the table itself.
- Docx reader:
- Introduce support for Intense Quote (Stephan Meijer).
- Markdown reader:
- Disallow escaping of `~` and `"` in `markdown_strict` (#8777, Albert Krewinkel). This matches the behavior of the legacy `Markdown.pl` as well as what is described in the manual.
- LaTeX reader: ignore args to column type in `\multicolumn` (#8789).
- HTML writer:
- Use first paragraph in task item as checkbox label (#8729, Albert Krewinkel).
- Ms writer:
- Coerce titles to inlines (#8835). Block-level formatting is not allowed inside `.TL`.
- LaTeX writer:
- Fix width for multicolumn simple table (#8831).
- Jira writer:
- Use first code block class as highlighting language (#8814, Albert Krewinkel). The writer no longer searches the list of classes for a known programming language but always uses the first class in that list as the language identifier.
- OpenDocument writer:
- Handle row header column cells as header cells (#8764, Michael Stahl).
- Fix invalid `text:p` inside `text:p` from meta (#8256).
- ODT writer:
- Don’t add settings.xml (Michael Stahl). This will cause defaults to be used, which is what we want.
- Don’t add unnecessary Configurations2 directory (Michael Stahl).
- Don’t add thumbnail (Michael Stahl).
- Put `manifest.version` on directory file-entry (Michael Stahl). See ODF 1.3 part 2, 4.16.14.1.
- Stop validator complaints by producing ODF 1.3 (Michael Stahl).
- MediaWiki writer:
- Remove links from inside links in mediawiki writer (#8739, Wout Gevaert).
- Typst writer:
- Omit bibliography if `citations` not enabled (#8763). With this change, the typst writer will omit the `#bibliography` command when `citations` is not enabled. (If you want to use pandoc’s own `--citeproc`, you should combine it with `-t typst-citations` to disable native typst citations.
- Use `<..>` for labels, create internal links.
- Use `#footnote` for notes (#8893).
- Fix alignment issue in lists. It’s an aesthetic issue only; the first line had an extra space indent after the list marker.
- Commonmark writer:
- Use shortcut reference links: commonmark supports these.
- EPUB template: add `lang` attribute to `` (Gabriel Lewertoski).
- Template styles.html: fix task-list styling in reveal.js (#8731, Albert Krewinkel).
- LaTeX template: Fix `\babelfont` (#8728).
- Text.Pandoc.Parsing:
- Remove unnecessary ‘spaces’ in `parseFromString`.
- Text.Pandoc.ImageSize: Drop BOM at start of SVG if present. Otherwise our code can fail to determine image size.
- Lua subsystem:
- Fix value of PANDOC_SCRIPT_FILE for custom readers & writers (#8781, Albert Krewinkel). The value did not hold the actual file path for scripts in the *custom* folder of the datadir.
- Fix YAML in translation files for `cs` and `pl` (#8787).
- Fix pdf output via typst (#8754). One must now use `typst compile` rather than `typst`.
- MANUAL.txt:
- Added note that the user will need to create the user data dir (#8727).
- Add `wikilinks` to non-default extensions (Ilona).
- Update link to custom djot writer (Albert Krewinkel).
- Better link to citation syntax.
- Fix typo (sdhoward).
- Note that `#` fancy list markers don’t work with commonmark (#8772, William Lupton).
- Add commonmark `fenced_div` note (#8773, William Lupton).
- Move highlighting documentation, with minor adjustments (William Lupton).
- Fix inaccurate statement about spaces and tabs in template syntax (Frank Seifferth).
- Update documentation for org-mode (Christian Christiansen, #8716).
- doc/lua-filter.md:
- Fix typos (#8734, perro tuerto).
- Fix anchor (Toni Dietze).
- Use full field name in example (#8857, Matt Dodson).
- Fix copy-paste error (#8798, thron7).
- CONTRIBUTING.md: update info on ghc versions.
- INSTALL.md:
- Fix cabal install instructions (Albert Krewinkel).
- Use more relevant link to NetBSD/pkgsrc entry (Charlotte Koch).
- Fix Windows install instructions for winget (#8799).
- Tests: Rename test/docx/block_quotes_parse_indent.native for consistency (Stephan Meijer).
- Add `tls` constraint on cabal.project. This is needed to avoid problems caused by the transition to `crypton`.
- Require texmath 0.12.8.
- Haskell
Published by jgm almost 3 years ago
pandoc - pandoc 3.1.2
Click to expand changelog
- Add a Lua REPL (Albert Krewinkel). This can be started with `pandoc lua -i`. It is also possible to instruct a filter to open the REPL at a certain point, for debugging (see `pandoc.cli.repl`).
- Support `typst` as a `--pdf-engine`.
- Add typst writer (#8713). New module Text.Pandoc.Writers.Typst, exporting `writeTypst` \[API change\].
- Org reader:
- Allow zero width space as an escape character (#8716, Christian Christiansen). Allow the character U+200B to be used as an escape character as described in the Org-mode documentation (
- Haskell
Published by jgm about 3 years ago
pandoc - pandoc 3.1.1
Click to expand changelog
- EPUB reader: Give additional information in error if the epub zip container can’t be unpacked.
- TSV reader: don’t gobble tabs as whitespace (#8661).
- Org reader: accept empty tables (#8659).
- LaTeX reader: fix multiplication syntax for tabular (#8658). We recognized `*{6}{...}` but not `*6{...}` or `*6c`.
- Docx reader: parse image alt texts in LibreOffice generated files. LibreOffice tags images slightly differently than Word; this change lets the parses take that difference into account when looking for an image description (alt text).
- DocBook reader:
- Fix ``, `
- Haskell
Published by jgm about 3 years ago
pandoc - pandoc 3.1
Click to expand changelog
- Fix regression with `--print-highlight-style` option (#8586).
- Add new `--chunk-template` option (#8581), allowing more control over the filenames in chunked HTML output.
- Text.Pandoc.App: Add `optChunkTemplate` constructor to Opt \[API change\].
- Text.Pandoc.Options: add `writerChunkTemplate` constructor to `WriterOptions` \[API change\].
- Text.Pandoc.Chunks: add Data, Typeable, Generic, ToJSON, FromJSON instances for `PathTemplate` \[API change\].
- Text.Pandoc.Citeproc: Fix bug in `metaValueToReference` (#8611). This bug caused us to get some repeated content when converting MetaBlock to Inlines.
- Textile reader:
- Support footnote backlinks (#8585, Stephen Altamirano).
- Don’t allow brackets in URLs (#8582).
- ODT reader: fix blockquote indent detection (#3437, Daniel Kessler).
- LaTeX writer: include short figure/table caption if one is given (Albert Krewinkel). Short captions are used by LaTeX when generating the list of figures or list of tables. Adding a short caption will now overwrite the full caption in these lists.
- Powerpoint writer: fix handling of simple figures (#8565, Albert Krewinkel). This ensures that simple figures are displayed in the same way as before the introduction of a dedicated `Figure` constructor in the AST.
- Improve handling of `%` in bib(la)tex parsing (#8597, #8595).
- Use released skylighting 0.13.2.1
- INSTALL.md: direct people to cabal install pandoc-cli.
- doc/lua-filters.md: document ‘Figure’ type and constructor (Albert Krewinkel). Fix typos (Martin Joerg).
- Fix link in manual (#8583, Salim B).
- Haskell
Published by jgm over 3 years ago
pandoc - pandoc 3.0.1
Click to expand changelog
- Fix use of extensions with custom readers (#8571).
- Text.Pandoc.Writers.Shared: export `setupTranslations` \[API change\]. Use this in HTML and OpenDocument writers, to ensure that translations are set up properly even when we don’t go through `convertWithOpts`.
- LaTeX reader: fix regression in macro resolution for environments (#8573).
- Chunked HTML writer: Fix handling of images with absolute URLs (#8567).
- HTML writer:
- Don’t omit newlines in task lists.
- Don’t disable checkboxes in task lists (#8562).
- Ensure that automatically set variables `pandoc-version`, `outputfile`, `title-prefix`, `epub-cover-image`, `curdir`, `dzslides-core` can be overridden by `--variable` on the command line. Previously they would create lists in the template Context, which is not desirable.
- Fix man page copying in `linux/make_artifacts.sh` (#8566). Previously we were copying the pandoc-server.1 pandoc page to pandoc-lua.1.
- pandoc.cabal: remove pandoc.cabal, stack.cabal from extra-source-files (#8560). The problem is that if these are in extra-source-files, then they get put in the tarball, and then anyone trying to build the source from an unpacked tarball will run into the problem that cabal.project and stack.yaml refer to pandoc-server, pandoc-lua-engine, and pandoc-cli, which aren’t in the tarball.
- Require texmath 0.12.6 for better MathML output.
- Fix typo in Lua filter documentation (Carlos Scheidegger).
- Fix formatting of link in pandoc-server.md (James Scott-Brown).
- Minor changelog fixups.
- Haskell
Published by jgm over 3 years ago
pandoc - pandoc 3.0
helloClick to expand changelog
- Split pandoc-server, pandoc-cli, and pandoc-lua-engine into separate packages (#8309). Note that installing the `pandoc` package from Hackage will no longer give you the `pandoc` executable; for that you need to install `pandoc-cli`.
- Pandoc now behaves like a Lua interpreter when called as `pandoc-lua` or when `pandoc lua` is used (#8311, Albert Krewinkel). The Lua API that is available in filters is automatically available to the interpreter. (See the `pandoc-lua` man page.)
- Pandoc behaves like a server when called as `pandoc-server` or when `pandoc server` is used. (See the `pandoc-server` man page.)
- A new command-line option `--list-tables`, causes tables to be formatted as list tables in RST (#4564, with Francesco Occhipinti).
- New command line option: `--epub-title-page=true|false` allows the EPUB title page to be omitted (#6097).
- `--reference-doc` can now accept a URL argument (#8535) and load a remote reference doc.
- `--version` output no longer contains version info for dependent packages. Instead, it contains a “Features” line that indicates whether the binary was compiled with support for acting as a server, and for using Lua filters and Custom writers.
- A new option `--split-level` replaces `--epub-chapter-level` and affects both EPUB and chunked HTML output. `--epub-chapter-level` will still work but is deprecated.
- Multiple input files with `--file-scope`: fix case where the links are URL-encoded, e.g. with `%20` (#8467).
- Produce error if `--csl` is used more than once (#8195, Prat).
- Remove deprecated `--atx-headers` option.
- Remove deprecated option `--strip-empty-paragraphs`.
- In `--verbose` mode add message when running citeproc (as with other filters).
- Add new `mark` extension for highlighted text in Markdown, using `==` delimiters (#7743).
- Add new extensions `wikilinks_title_after_pipe` and `wikilinks_title_before_pipe` for `commonmark` and `markdown`. (#2923, Albert Krewinkel). The former enables links of style `[[Name of page|Title]]` and the latter `[[Title|Name of page]]`. Titles are optional in both variants, so this works for both: `[[https://example.org]]`, `[[Name of page]]`. The writer is modified to render links with title `wikilink` as a wikilink if a respective extension is enabled. Pandoc will use `wikilinks_title_after_pipe` if both extensions are enabled.
- Add prefixes to identifiers with `--file-scope` (#6384). This change only affects the case where `--file-scope` is used and more than one file is specified on the command line. In this case, identifiers will be prefixed with a string derived from the file path, to disambiguate them. For example, an identifier `foo` in `contents/file1.txt` will become `contents__file1.txt__foo`. Links will be adjusted accordingly: if `file2.txt` links to `file1.txt#foo`, then the link will be changed to point to `#file1.txt__foo`. Similarly, a link to `file1.txt` will point to `#file1.txt`. A Div with an identifier derived from the file path will be added around each file’s content, so that links to files will still work.
- New output format: `chunkedhtml`. This creates a zip file containing multiple HTML files, one for each section, linked with “next,” “previous,” “up,” and “top” links. (If `-o` is used with an argument without an extension, it is treated as a directory and the zip file is automatically extracted there, unless it already exists.) The top page will contain a table of contents if `--toc` is used. A `sitemap.json` file is also included. The option `--split-level` determines the level at which sections are to be split.
- Support complex figures (Albert Krewinkel, Aner Lucero). There is now a dedicate Figure block constructor for figures. The old hack of representing a figure as `Para [Image attr [..alt..] (source, "fig:title")]` has been dropped. Here is a summary of figure support in different formats:
- Markdown reader: paragraphs containing just an image are treated as figures if the `implicit_figures` extension is enabled. The identifier is used as the figure’s identifier and the image description is also used as figure caption; all other attributes are treated as belonging to the image.
- Markdown writer: figures are output as implicit figures if possible, via HTML if the `raw_html` extension is enabled, and as Div elements otherwise.
- HTML reader: `
- Haskell
Published by jgm over 3 years ago
pandoc - pandoc 2.19.2
Click to expand changelog
- Fix regression with data uris in 2.19.1 (#8239). In 2.19.1 we used the base64URL encoding rather than base64.
- pandoc-server: handle `citeproc` parameter as documented (#8235).
- Org reader: treat *emacs-jupyter* src blocks as code cells (#8236, Albert Krewinkel). This improves support for notebook-like org files that are intended to be used with emacs-jupyter package.
- HTML writer and templates: revert to using `width` property for column widths (Albert Krewinkel). The default `flex` and `overflow-x` properties of a column are set to `auto`. In combination, these changes allow to get good results when using columns with or without explicit widths.
- Org writer (Albert Krewinkel):
- Add support for jupyter nodebook cells (#6367).
- Prefix code language of ipynb code blocks with `jupyter-`. This is the convention used by the *emacs-jupyter* package.
- Keep code block attributes as header args. This allows to keep more information in the resulting `src` blocks, making it easier to roundtrip from or through Org. Org babel ignores unknown header arguments.
- Add code block identifier as `#+name` to src blocks.
- Fix some typos in the codebase (luz paz).
- Require hslua-module-path 1.0.3 (#8228, Albert Krewinkel).
- Haskell
Published by jgm almost 4 years ago
pandoc - pandoc 2.19.1
Click to expand changelog
- Add server capabilities.
- New exported module Text.Pandoc.Server \[API change\].
- The pandoc executable now starts up a web server when renamed or symlinked as `pandoc-server`, and functions as a CGI program when renamed or symlinked as `pandoc-server.cgi`. See the man page for `pandoc-server` for full documentation.
- Text.Pandoc.App.Opts: Redo `FromJSON` for `Opt` so that optional values can be omitted (in which case the values from `defaultOptions` are used).
- Org reader: treat “abstract” block as metadata (Albert Krewinkel, #8204). A block of type “abstract” is assumed to define the document’s abstract. It is transferred from the main text to the metadata.
- Org template: add abstract from metadata as block of type “abstract” (#8204).
- HTML writer: use `flex` property for column widths (Albert Krewinkel, #8232).
- LaTeX writer:
- Add label to tables that have an identifier (Albert Krewinkel, #8219). Tables with an identifier are marked with a `\label`. A caption is always included in this case, even if the caption is empty.
- Use `\textquotesingle` for straight quotes in text.
- Fix widths of multicolumn cells (#8218).
- LaTeX template: fix behavior of `colorlinks` variable (Albert Krewinkel, #8226). Fixes a regression in 2.19 that required the `boxlinks` variable to be set in addition to the usual link coloring variables. Otherwise links were never colored in LaTeX PDF output.
- Text.Pandoc.Highlighting: Export `lookupHighlightingStyle` \[API change\]. Previously this lived in an unexported module Text.Pandoc.App.CommandLineOptions, under the name `lookupHighlightStyle`.
- Text.Pandoc.App:
- Remove unneeded MonadIO constraints in readSources.
- Factor out `convertWithOpts'` from `convertWithOpts`. This runs in any PandocMonad, MonadIO, MonadMask instance. So far it is not exported, but it might find a use later.
- Support `--strip-comments` in commonmark/gfm (#8222). This change makes the commonmark reader sensitive to `readerStripComments`.
- Lua: add function `pandoc.utils.citeproc` (Albert Krewinkel). The function runs the *citeproc* processor on a Pandoc document. Exposing this functionality to Lua allows to make citation processing part of a filter or writer, simplifies the creation of multiple bibliographies, and enables the use of varying citation styles in different parts of a document.
- Refactor `linux/make_artifacts.sh`.
- Update INSTALL.md installation from source instructions.
- Use base64 package instead of base64-bytestring. It is supposed to be faster and more standards-compliant.
- trypandoc improvements:
- Add dropdown with canned examples.
- Add citeproc support.
- Support csv, bibliographic and binary formats.
- Add load from file.
- Add permalink. Don’t always reload page.
- Use vanilla JS and CSS + the new `pandoc-server.cgi`.
- Allow haddock-library-1.11.0.
- Convert `tool/extract-changes.hs` to a Lua filter.
- Haskell
Published by jgm almost 4 years ago
pandoc - pandoc 2.19
Click to expand changelog
- Add `--embed-resources` flag (Elliot Bobrow, #7331). This can be used to embed resources without implying `--standalone`. Deprecate `--self-contained` in favor of `--embed-resources --standalone`.
- Allow environment variable interpolation in `highlight-style` and `pdf-engine` fields in defaults files (#8061; Jaehwang Jung, #8073).
- Allow placing custom readers and writers in user data directory (Albert Krewinkel, #8112) (`readers` and `writers` subdirectories).
- Add `tsv` (tab separated values) as an input format (#7974). \[API change\]: Text.Pandoc.Readers.CSV now exports `readTSV`. Internal change: In Text.Pandoc.CSV, `CSVOptions` has changed so that `csvQuote` takes a Maybe value.
- Add `tex_math_dollars` to `gfm` default extensions (reflecting gfm’s new support for math).
- RST, Org, Markdown readers: support rowspans and colspans in grid tables (#8202, Albert Krewinkel). Note: the writers does not yet support these more complex grid table features, so these complex grid tables will not round-trip.
- HTML, LaTeX, and MediaWiki readers: use `formatCode` (#8162, #8129, Elliot Bobrow). This moves formatting from inside inline code elements to the outside, since pandoc’s Code element only takes string content.
- Markdown reader:
- Don’t parse inline notes with blank lines inside (#8028).
- Allow attributes in special spans (e.g. `smallcaps`, `underline`) (Albert krewinkel, #4102). These spans are parsed as SmallCaps or Underline elements, but any attributes are included in a wrapping Span.
- HTML reader:
- Allow sublists that are not marked as items (Albert Krewinkel, #8150). This is technically invalid HTML, but it can be found in the wild and browsers handle it.
- Org reader (Albert Krewinkel):
- Recognize absolute paths on Windows (Albert Krewinkel, #8201).
- Recognize {webp,jxl} files as images (YI).
- Allow attrs for Org tables (Albert Krewinkel, #8049). Tables with attributes are no longer wrapped in Div elements; attributes are added directly to the table element.
- Support line selection in INCLUDE directives (Brian Leung, #8060).
- Fix Post / Pre mixup when setting emphasis chars (Amir Dekel, #8134).
- LaTeX reader:
- Support `\includesvg` (#8027).
- Unescape characters in `\lstinline` inside `\passthrough` (#8179).
- Improve `mathEnvWith` (#8122). When converting e.g. an align environment to an aligned environment inside a Math element, we need to include a newline before the `\end{aligned}`, since the previous line might end in a comment.
- Fix treatment of extensions for `\input` in LaTeX reader (#8092). Previously we required a `.tex` extension, but TeX allows any extension for `\input` (as opposed to `\include`).
- RTF reader:
- support `\nosupersub` (#8170).
- TikiWiki reader:
- Support underlined text
- DocBook reader:
- Improved reading `