pandoc 2.6
-
Support ipynb (Jupyter notebook) as input and output format.
- Add
ipynb
as input and output format (extension.ipynb
). - Added Text.Pandoc.Readers.Ipynb [API change].
- Added Text.Pandoc.Writers.Ipynb [API change].
- Add
PandocIpynbDecodingError
constructor to Text.Pandoc.Error.Error [API change]. - Depend on ipynb library.
- Note: there is no template for ipynb.
- Add
-
Add DokuWiki reader (#1792, Alexander Krotov). This adds Text.Pandoc.Readers.DokuWiki [API change], and adds
dokuwiki
as an input format. -
Implement task lists (#3051, Mauro Bieg). Added
task_lists
extension. Task lists are supported from markdown and gfm input. They should work, to some degree, in all output formats, though in most formats you’ll get a bullet list with a unicode character for the box. In HTML, you get checkboxes and in LaTeX/PDF output, a box is used as the list marker. API changes:- Added constructor
Ext_task_lists
toExtension
. - Added
taskListItemFromAscii
andtaskListItemToAscii
to Text.Pandoc.Shared.
- Added constructor
-
Allow some command line options to take URL in addition to FILE.
--include-in-header
,--include-before-body
,--include-after-body
. -
HTML reader:
-
RST reader:
- Change treatment of
number-lines
directive (Brian Leung, #5207). Directives of this type without numeric inputs should not have astartFrom
attribute; with a blank value, the writers can produce extra whitespace. - Removed superfluous
sourceCode
class on code blocks (#5047). - Handle
sourcecode
directive as synonynm forcode
(#5204).
- Change treatment of
-
Markdown reader:
-
Org reader:
- Handle
minlevel
option differently (#5190, Brian Leung). Whenminlevel
exceeds the original minimum level observed in the file to be included, every heading should be shifted rightward. - Allow for case of
:minlevel == 0
(#5190). - Fix treatment of links to images (#5191, Albert Krewinkel). Links with descriptions which are pointing to images are no longer parsed as inline images, but as links.
- Add support for #+SELECT_TAGS (Brian Leung).
- Separate filtering logic from conversion function (Brian Leung).
- Handle
-
TWiki reader: Fix performance issue with underscores (#3921).
-
MediaWiki reader: use
_
instead of-
in auto-identifiers (#4731). We may not still be exactly matching mediawiki’s algorithm. -
LaTeX reader:
- Remove
sourceCode
class for literate Haskell code blocks (#5047). Reverse order ofliterate
andhaskell
classes on code blocks when parsing literate Haskell, sohaskell
is first. - Support
\DeclareMathOperator
(#5149). - Support
\inputminted
(#5103). - Support
\endinput
(#5233). - Allow includes with dots like
cc_by_4.0
. Previously the.0
was interpreted as a file extension, leading pandoc not to add.tex
(and thus not to find the file). The new behavior matches tex more closely.
- Remove
-
Man reader:
- Use
mapLeft
from Shared instead of defining own.
- Use
-
Docx reader (Jesse Rosenthal):
- Handle level overrides (#5134).
-
Docx writer:
-
ICML writer (Mauro Bieg):
-
Texinfo writer: Use header identifier for anchor if present (#4731). Previously we were overwriting an existing identifier with a new one.
-
Org writer: Preserve line-numbering for example and code blocks (Brian Leung).
-
Man/Ms writers: Don’t escape
-
as\-
. The\-
gets rendered in HTML and PDF as a unicode minus sign. -
Ms writer: Ensure we have a newline after .EN in disply math (#5251).
-
RST writer: Don’t wrap simple table header lines (#5128).
-
Asciidoc writer: Shorter delimiters for tables, blockquotes (#4364). This matches asciidoctor reference docs.
-
Dokuwiki writer: Remove automatic
:
prefix before internal image links (#5183, Damien Clochard). This prevented users from making relative image links. -
Zimwiki writer: remove automatic colon prefix before internal images (#5183, Damien Clochard).
-
MediaWiki writer: fix caption, use ‘thumb’ instead of ‘frame’ (#5105). Captions used to have the word ‘caption’ prepended; this has been removed. Also, ‘thumb’ is used instead of ‘frame’ to allow images to be resized.
-
reveal.js writer:
-
Markdown writer:
- Make
plain
RawBlocks pass through inplain
output. - Include needed whitespace after HTML figure (#5121). We use HTML for a figure in markdown dialects that can’t represent it natively.
- Make
-
Commonmark writer:
-
EPUB writer:
- Ensure that picture transforms are done on metadata too.
- Small fixes to
nav.xhtml
: Add ‘landmarks’ id attribute to the landmarks nav. Replace old default CSS removing numbers from ol.toc li with new rules that matchnav#toc ol, nav#landmarks ol
. We keep thetoc
class onol
for backwards compatibility.
-
LaTeX writer:
- Make raw content marked
beamer
pass through inbeamer
output (pandoc/lua-filters#40). - Beamer: avoid duplicated
fragile
property in some cases (#5208). - Add
#
special characters for listings (#4939). This character needs special handling in\lstinline
.
- Make raw content marked
-
RTF writer: use
toTableOfContents
from Shared to replace old duplicated code. -
Pptx writer:
- Support custom properties. Also supports additional core properties:
subject
,category
,description
(#5252, Agustín Martín Barbero). - Use
toTableOfContents
from Shared to replace old duplicated code.
- Support custom properties. Also supports additional core properties:
-
ODT writer (Augustín Martín Barbero):
-
Custom writers:
-
reveal.js template: Add
zoomKey
config (#4249). -
HTML5 template: Remove unnecessary type=“text/css” on style and link for HTML5 (#5146).
-
LaTeX template (Andrew Dunning, except where noted):
- Prevent fontspec from scaling
mainfont
to match the default font, Latin Modern. A main font set to 12pt could previously appear between 11pt to 13pt depending on its design. To return to the earlier rendering, use-V mainfontoptions="Scale=MatchLowercase"
(#5212, #5218). - Display monospaced fonts without TeX ligatures when using
--pdf-engine=lualatex
. It now matches the behaviour of other engines (#5212, #5218). - Remove the deprecated
romanfont
variable. The functionality ofmainfont
is identical (#5218). - Render
\subtitle
with the standard document classes. Previously,subtitle
only appeared when using the KOMA-Script classes or Beamer (#5213, #5244). - Use Babel instead of Polyglossia for LuaLaTeX. This avoids several language selection problems, notably with retaining French spacing conventions when switching to a verbatim environment or another language; and in printing Greek text without hyphenation (#5193).
- Use the
xurl
package if available, improving the appearance of URLs by allowing them to break at additional points (#5193). - Use
bookmark
if available to correct heading levels in PDF bookmarks: see the KOMA-Script 3.26 release notes (#5193). - Require the
xcolor
package to avoid a possible error when using additional packages alongside footnotes in tables (#5193, closes #4861). - Remove obsolete
fixltx2e
package, which has no functionality with TeX Live 2015 or later (#5193). - Allow multiple
fontfamilies.options
(#5193, closes #5194). - Restrict
institute
variable to Beamer (#5219). - Use
footnotehyper
package if available to make footnotes in tables compatible withhyperref
(#5234). - Number parts and chapters in book classes only if the
numbersections
variable is set, for consistency with other output formats. To return to the previous behaviour, use-V numbersections -V secnumdepth=0
(#5235). - Reindent file (#5193).
- Use built-in parskip handling with KOMA-Script classes (#5143, Enno).
- Set default listings language for lua, assembler (#5227, John MacFarlane). Otherwise we get an error when trying to compile code with lua or assembler code. To change the default dialect (currenty 5.3 for lua and x86masm for assembler), you can use
--include-in-header
to inject something like\lstset{defaultdialect=[5.2]Lua}
.
- Prevent fontspec from scaling
-
Text.Pandoc.Readers: Changed types of
readJSON
; it now runs in an instance of PandocMonad, like the other readers and writers. [API change] -
Text.Pandoc.Writers: Changed types of
writeJSON
; it now runs in an instance of PandocMonad, like the other readers and writers. [API change] -
Text.Pandoc.Error: Added
PandocUTF8DecodingError
constructor forPandocError
. [API change] -
Text.Pandoc.Writers.Shared - add
toTableOfContents
. [API change] This is refactored out from the Markdown writer. It can be used in other writers to create a table of contents. -
Improve error messages for UTF-8 decoding errors. Now we give the filename and byte offset (#4765).
-
Text.Pandoc.XML: Strip out illegal XML characters in
escapeXMLString
(#5119). -
Text.Pandoc.Process: update
pipeProcess
(Albert Krewinkel). The implementation ofpipeProcess
was rewritten to fix sporadic failures caused by prematurely closed pipes. -
Use
safeRead
instead ofread
everywhere in the code (John MacFarlane, Mauro Bieg, #5162, #5180). -
Text.Pandoc.SelfContained: Decompress
.svgz
when converting todata:
URI (#5163, Alexander Krotov). -
Text.Pandoc.Parsing: Remove unused
HasHeaderMap
(#5175, Alexander Krotov). [API change] -
Normalize Windows paths to account for change in ghc 8.6 (#5127). When pandoc is compiled with ghc 8.6, Windows paths are treated differently, and paths beginning
\\server
no longer work. This commit rewrites such patsh to\\?\UNC\server
which works. The change operates at the level of argument parsing, so it only affects the command line program. -
Simplify/fix reading of
--metadata
values on command line to avoid problems relating to haskell-hvr/HsYAML#7 (#5177). -
data/pandoc.lua: auto-fix nested constructor arguments (Albert Krewinkel). Incorrect types to pandoc element constructors are automatically converted to the correct types when possible. This was already done for most constructors, but conversions are now also done for nested types (like lists of lists).
-
Removed custom Setup.hs, use build-type: simple. The only thing we gained from the custom build was automatic installation of the man page when using ‘cabal install’. But custom builds cause problems, e.g., with cross-compilation. Installation of the man page is better handled by packagers. Note to packagers (e.g. Debian): it may be necessary to add a step installing the man page with the next release.
-
Allow latest http-client, tasty, zip-archive, Glob.
-
Require skylighting >= 0.7.5, adding support for sml, J, typescript.
-
Tests: Cleaned up
findPandoc
inTests.Helpers
, so it works well with cabal v2. -
INSTALL.md:
- Use button for installer links (John MacFarlane, Mauro Bieg, #5167).
- Fix links and bump required stack version (max).
- Improve installation notes on associated software (Andrew Dunning). Includes explanation of how to install related tools with package managers (since the method of installing
rsvg-convert
is not obvious).
-
doc/org.md: improve documentation of org features (Albert Krewinkel).
-
doc/lua-filters.md: use 3rd level headers for module fields.
-
MANUAL:
- Clarify automatic identifiers (#5201). We remove non-alphanumerics. This includes, e.g., emojis.
- Fix example for Div with id (Geoffrey Ely).
- Update list of LaTeX packages used.
- Make it clear that
hard_line_breaks
works ingfm
(see #5195). - Mention
raw_attribute
in documentation forraw_html
andraw_tex
(#5240, thanks to @eiro). - Clarify that
$sep$
must come right before$endfor$
in templates (#5243, Lev Givon). - Document metadata support for docx, odt, pptx writers (Agustín Martín Barbero).
- Reorganize template variables (#5249, Andrew Dunning). Add additional headings to categorize variables, and alphabetize when there is large number; add more examples.
- Document
date-meta
template variable (#5260, Tristan Stenner).
-
trypandoc: Fix CSS and viewport.