- File scope is no longer used when there are no input files (i.e., when input comes from stdin). Previously file scope was triggered when the
json
reader was specified and input came fromstdin
, and this caused no output to be produced. (Fix due to Jesse Rosenthal; thanks to Fedor Sheremetyev for calling the bug to our attention.) - Improved documentation of templates (#2797).
Downloads
Added
--file-scope
option (Jesse Rosenthal). By default pandoc operates on multiple files by first concatenating them (around extra line breaks) and then processing the joined file. So it only parses a multi-file document at the document scope. This has the benefit that footnotes and links can be in different files, but for some purposes it is useful to parse the individual files first and then combine their outputs (e.g. when the files use footnotes or links with the same labels). The--file-scope
option causes pandoc to parse the files first, and then combine the parsed output, instead of combining before parsing.--file-scope
is selected automatically for binary input files (which cannot be concatenated) and for pandoc json.Add TEI Writer (Chris Forster) and
tei
output format.Added a general
ByteStringReader
with warnings, used by the docx reader (API change, Jesse Rosenthal).Add
readDocxWithWarnings
(API change, Jesse Rosenthal).Changed type of
Shared.uniqueIdent
's argument from[String]
toSet String
. This avoids performance problems in documents with many identically named headers (API change, #2671).Removed
tex_math_single_backslash
frommarkdown_github
options (#2707).Make language extensions as well as full language names trigger syntax highlighting. For example,
py
will now work as well aspython
(jgm/highlighting-kate#83).Added
institute
variable to latex, beamer templates (Fraser Tweedale, Josef Svenningsson).-
Docx reader (Jesse Rosenthal):
- Handle alternate content. Some word functions (especially graphics) give various choices for content so there can be backwards compatibility.
- Don't turn numbered headers into lists.
- Docx Reader: Add state to the parser, for warnings
- Update feature checklist in source code.
- Get rid of
Modifiable
typeclass. - Add tests for adjacent hyperlinks.
- Add a "Link" modifier to
Reducible
. We want to make sure that links have their spaces removed, and are appropriately smushed together (#2689).
-
HTML reader:
- Fixed behavior of base tag (#2777). If the base path does not end with slash, the last component will be replaced. E.g. base =
http://example.com/foo
combines withbar.html
to givehttp://example.com/bar.html
. If the href begins with a slash, the whole path of the base is replaced. E.g. base =http://example.com/foo/
combines with/bar.html
to givehttp://example.com/bar.html
. - Rewrote
htmlInBalanced
. This version avoids an exponential performance problem with<script>
tags, and it should be faster in general (#2730). - Properly handle an empty cell in a simple table (#2718).
- Handle multiple
<meta>
tags with same name. Put them in a list in the metadata so they are all preserved, rather than (as before) throwing out all but one..
- Fixed behavior of base tag (#2777). If the base path does not end with slash, the last component will be replaced. E.g. base =
-
Markdown reader:
- Improved pipe table parsing (#2765).
- Allow
+
separators in pipe table cells. We already allowed them in the header, but not in the body rows, for some reason. This gives compatibility with org-mode tables. - Don't cross line boundary parsing pipe table row. Previously an Emph element could be parsed across the newline at the end of the pipe table row.
- Use
htmlInBalanced
forrawVerbatimBlock
, for better performance (#2730). - Fixed bug with smart quotes around tex math.
-
LaTeX reader:
Textile reader: Support
>
,<
,=
,<>
text alignment attributes. Closes #2674.-
Org reader (Albert Krewinkel):
ConTeXt writer: Fix whitespace at line beginning in line blocks (#2744). Thanks to @c-foster.
HTML writer: Don't include alignment attribute for default table columns. Previously these were given "left" alignment. Better to leave off alignment attributes altogether (#2694).
Markdown writer: Use hyphens for YAML metadata block bottom line, for better compatibility with other Markdown flavors (Henrik Tramberend).
-
LaTeX writer:
- Use image identifier to create a label and hypertarget for figures (Mauro Bieg).
- Avoid double toprule in headerless table with caption (#2742).
- Clean up options parser (Jesse Rosenthal).
- Treat
memoir
template witharticle
option as article, instead of treating allmemoir
templates as books. - Allow more flexible table alignment (Henrik Tramberend, #2665). New default is not to include
[c]
option (which is the default anyway if no positioning is specified). Now LaTeX emplates can control the overall table alignment in a document by setting the longtable length variablesLTleft
andLTright
. For example,\setlength\LTleft\parindent\setlength\LTright\fill
will create left-aligned tables that respect paragraph indentation.
Docx writer: Handle image alt text (#2754, Mauro Bieg).
Org writer - pass through RawInline with format "org".
DokuWiki writer: use
$$
for display math.Custom writer: Pass attributes parameter to CaptionedImage (#2697).
Make protocol-relative URIs work again (#2737).
make_osx_package.sh: Use env variable for developer id certs.
Raise
tagsoup
lower bound to 0.13.7 to fix entity-related problems (#2734).Allow
zip-archive
0.3.Allow
aeson
0.11.
Downloads
Depend on deepseq rather than deepseq-generics (fpco/stackage#1096).
Fixed regression in latex smart quote parsing (#2645). In cases where a match was not found for a quote, everything from the open quote to the end of the paragraph was being dropped.
Downloads
Fixed regression with
--latex-engine
(#2618). In 1.16--latex-engine
raises an error if a full path is given.Org reader: Fix function dropping subtrees tagged
:noexport
(Albert Krewinkel, #2628):Markdown reader: renormalize table column widths if they exceed 100% (#2626).
-
Textile reader: don't allow block HTML tags in inline contexts. The reader previously did allow this, following redcloth, which happily parses
Html blocks can be <div>inlined</div> as well.
as
<p>Html blocks can be <div>inlined</div> as well.</p>
This is invalid HTML. The above sample now produces;
<p>Html blocks can be</p> <div> <p>inlined</p> </div> <p>as well.</p>
Improved default template lookup for custom lua scripts (#2625). Previously, if you tried to do
pandoc -s -t /path/to/lua/script.lua
, pandoc would look for the template in~/.pandoc/templates/default./path/to/lua/script.lua
. With this change it will look in the more reasonable~/.pandoc/templates/default.script.lua
. This makes it possible to store default templates for custom writers.RST, Markdown writers: Fixed rendering of grid tables with blank rows (#2615).
LaTeX writer: restore old treatment of Span (#2624). A Span is now rendered with surrounding
{}
, as it was before 1.16.Entity handling fixes: improved handling of entities like
⟨
that require a trailing semicolon. Allow uppercasex
in numerical hexidecimal character references, working around a tagsoup bug.stack.yaml
- use lts-4.0, but with older aeson to avoid excessive memory use on compile. With aeson 0.10 we were getting an out of memory error on a 2GB Ubuntu 64-bit VM.Improved deb package creation script. Made
DPKGVER
work. RenamedCOMMIT
toTREE
. You should now be able to doTREE=1.16.0.1 DPKGVER=2 make deb
.
Downloads
pandoc (1.16)
-
Added
Attr
field toLink
andImage
(Mauro Bieg, #261, API change).- Added syntax for link and image attributes to pandoc's Markdown.
- Updated readers and writers to use link and image attributes when appropriate.
- Support image attributes in Docx, Textile, RST readers.
Renamed link attribute extensions. The old
link_attributes
is nowmmd_link_attributes
, andlink_attributes
now enables the new pandoc-style link and image attributes (API change). Note: this change could break some existing workflows.-
Implemented
SoftBreak
and new--wrap
option (#1701, API change). Added threefold wrapping option.- Command line option: deprecated
--no-wrap
, added--wrap=[auto|none|preserve]
- Added
WrapOption
, exported fromText.Pandoc.Options
- Changed type of
writerWrapText
inWriterOptions
fromBool
toWrapOption
. - Modified
Text.Pandoc.Shared
functions to allowSoftBreak
. - Supported
SoftBreak
in readers and writers.
- Command line option: deprecated
Text.Pandoc.Options: Added
writerDpi
toWriterOptions
(API change, Mauro Bieg).Added
--dpi
command-line option (Mauro Bieg).-
Rationalized behavior of
--no-tex-ligatures
and--smart
(#2541). This change makes--no-tex-ligatures
affect the LaTeX reader as well as the LaTeX and ConTeXt writers. If it is used, the LaTeX reader will parse characters`
,'
, and-
literally, rather than parsing ligatures for quotation marks and dashes. And the LaTeX writer will print unicode quotation mark and dash characters literally, rather than converting them to the standard ASCII ligatures. Note that--smart
has no effect on the LaTeX reader.--smart
is still the default for all input formats when LaTeX or ConTeXt is the output format, unless--no-tex-ligatures
is used.Some examples to illustrate the logic:
% echo "'hi'" | pandoc -t latex `hi' % echo "'hi'" | pandoc -t latex --no-tex-ligatures 'hi' % echo "'hi'" | pandoc -t latex --no-tex-ligatures --smart ‘hi’ % echo "'hi'" | pandoc -f latex --no-tex-ligatures <p>'hi'</p> % echo "'hi'" | pandoc -f latex <p>’hi’</p>
Removed deprecated options
--offline
and--html5
.Fixed language code for Czech (
cs
notcz
) (#2597).Implemented
east_asian_line_breaks
extension (#2586). InText.Pandoc.Options
, addedExt_east_asian_line_breaks
constructor toExtension
(API change). This extension is likeignore_line_breaks
, but smarter -- it only ignores line breaks between two East Asian wide characters. This makes it better suited for writing with a mix of East Asian and non-East Asian scripts.Added support for PDF creation via
wkhtmltopdf
. To use this:pandoc -t html5 -o result.pdf
(and add--mathjax
if you have math.) Margins can be set using the variablesmargin-top
,margin-bottom
,margin-left
,margin-right
. Other styling can be done through CSS.Fixed cite key parsing regression (jgm/pandoc-citeproc#201). We were capturing final colons as in
[@foo: bar]
; the citation id was being parsed as@foo:
.-
ICML writer:
- Fixed image syntax for local files (#2589).
- Changed type of
writeICML
(Mauro Bieg). API change: It is nowWriterOptions -> Pandoc -> IO String
. Also handle new image attributes. - Intersperse line breaks instead of appending them to every
ParagraphStyleRange
(Mauro Bieg, #2501). - Add
Cite
style to citations (Mauro Bieg). - Added figure handling (#2590, Mauro Bieg).
- Better handling of math. Instead of just printing the raw tex, we now try to fake it with unicode characters.
HTML writer: Include
example
class for example lists (#2524).-
ODT/OpenDocument writer: improved image attributes (Mauro Bieg).
- Support for percentage widths/heights
- Use
Attr
instead of title to get dimensions from ODT walker towriteOpenDocument
.
-
AsciiDoc writer:
- Support anchors in spans and divs with id elements (jgm/pandoc-citeproc#143).
- Fixed code blocks (#1861).
Haddock writer: omit formatting inside links, which isn't supported by Haddock (#2515).
-
MediaWiki writer: Fixed spacing issues in table cells.
Beamer writer: mark frame as fragile when it contains verbatim (#1613).
-
LaTeX writer:
- Add support for GAP highlighting using listings (Raniere Silva).
- Consider
header-includes
content as well as templates when determining whether to use csquotes (Andreas Lööw). - Create defaults for geometry using
margin-left
etc. Ifgeometry
has no value, butmargin-left
,margin-right
,margin-top
, and/or-margin-bottom
are given, a default value forgeometry
is created from these. Note that these variables already affect PDF production via HTML5 withwkhtmltopdf
.
ConTeXt writer: set default layout based on
margin-left
, etc. This sets up\setuplayout
based on the variablesmargin-left
,margin-right
,margin-bottom
, andmargin-top
, if no layout is given.Docx writer: better handling of PDF images. Previously we tried to get the image size from the image even if an explicit size was specified. Since we still can't get image size for PDFs, this made it impossible to use PDF images in docx. Now we don't try to get the image size when a size is already explicitly specified.
Markdown writer: use raw HTML for link/image attributes when the
link_attributes
extension is unset andraw_html
is set (#2554).MediaWiki reader: interpret markup inside
<tt>
,<code>
(#2607).-
LaTeX reader:
-
Markdown reader:
- Improved pipe table relative widths. Previously pipe table columns got relative widths (based on the header underscore lines) when the source of one of the rows was greater in width than the column width. This gave bad results in some cases where much of the width of the row was due to nonprinting material (e.g. link URLs). Now pandoc only looks at printable width (the width of a plain string version of the source), which should give better results. Thanks to John Muccigrosso for bringing up the issue.
- Fixed parsing bug with macros. Previously macro definitions in indented code blocks were being parsed as macro definitions, not code.
Textile reader: skip over attribute in image source (#2515). We don't have a place yet for styles or sizes on images, but we can skip the attributes rather than incorrectly taking them to be part of the filename.
Docx reader: Handle dummy list items (Jesse Rosenthal). These come up when people create a list item and then delete the bullet. It doesn't refer to any real list item, and we used to ignore it.
CommonMark reader/writer rewritten to use latest
cmark
.Fixed Emoji character definitions (#2523). There were many bugs in the definitions.
-
Text.Pandoc.CSS
:- Added
pickStylesToKVs
function to extract multiple properties at once (API change, Mauro Bieg). - Parse CSS that doesn't contain the optional semicolon (Mauro Bieg).
- Added
trypandoc
: sort drop-down lists.-
Beamer template:
- Made
\euro
conditional on presence of character. for xelatex and lualatex, as it is for pdflatex (Andrew Dunning). - Moved
header-includes
before setting of title (Thomas Hodgson), to match the LaTeX template (jgm/pandoc-templates#168). - Added
section-titles
variable (defaults to true) to enable/suppress section title pages in beamer slide shows (Thomas Hodgson). - Moved beamer themes after fonts, so that themes can change fonts. (Previously the fonts set were being clobbered by lmodern.sty.) (Thomas Hodgson).
- Made
- Beamer/LaTeX template changes (Thomas Hodgson):
- Added
thanks
variable - Use
parskip.sty
whenindent
isn't set (fall back to usingsetlength
as before ifparskip.sty
isn't available). - Use
biblio-style
with biblatex. - Added
biblatexoptions
variable.
- Added
-
LaTeX template changes:
- Added
paper
after$papersize$
variable in latex template. Thus you can saypapersize: a4
and the latex will containa4paper
. This change may break some existing workflows; if you currently specifya4paper
, you'll geta4paperpaper
which is meaningless. However, the change seems worth it, as it will make thepapersize
variable work uniformly across ConTeXt, LaTeX, and html->pdf via wkhtmltopdf. - Only pass options to color package if
colorlinks
is set (Andrew Dunning). - Make definition of
\euro
conditional in xelatex/lualatex, as it is already for pdflatex (Andrew Dunning). - Removed setting of
subject
in PDF metadata. This used to be set to the subtitle, but really the subtitle need not give the subject. Also,subtitle
can contain formatting, so we'd need, at least, a plain text version for this. - Moved
header-includes
before setting of\title
,\author
, etc. This allows these macros to be redefined. - Use
\subtitle
command forsubtitle
, instead of tacking it on to the title as before. We give a no-op fallback definition if it is not defined. This change should produce much better results in classes that support\subtitle
. With the default article class, which does not define\subtitle
, subtitles will no longer be printed unless the user defines\subtitle
and redefines\maketitle
. - Moved redefinitions of
\paragraph
and\subparagraph
to before header-includes.
- Added
-
Context template:
- Use
simplefonts
for font loading (Paolo Rodríguez). This is needed for things to work on ConTeXt stable from TeXLive 2015. - Revert use of
\setuphead
in title block (Andrew Dunning, Rik Kabel).
- Use
Update LaTeX/ConTeXt link colour usage (Andrew Dunning).
Fixed man template so disabling hyphenation actually works. The command needs to come after .TH.
Added 'navigation' variable to beamer template (#2543). Valid values are
empty
(the default),horizontal
,vertical
, andframe
. Note that this changes the default behavior fromhorizontal
toempty
. Closes #2543.Added
toc
to HTML slide format templates (Andrew Dunning), so that--toc
creates a contents slide.Added
stack.full.yaml
to buildpandoc-citeproc
as well.Allow pipe tables with no body rows (#2556). Previously this raised a runtime error.
Shared: Improved
fetchItem
so thatC:/Blah/Blah.jpg
isn't treated as URL. The Haskell URI parsing routines will accept "C:" as a scheme, so we rule that out manually. This helps with--self-contained
and absolute Windows paths.Define a
meta-json
variable for all writers (#2019). This contains a JSON version of all the metadata, in the format selected for the writer. So, for example, to get just the YAML metadata, you can run pandoc with the following custom template:$meta-json$
. The intent is to make it easier for static site generators and other tools to get at the metadata.Document limitations of --self-contained (#2553).
Improved Citations section of README (#2551). Added information about
link-citations
and a link to the pandoc-citeproc man page.ImageSize
: usesafeRead
instead ofreadMaybe
, which isn't in base < 4.6.Allow .adoc file extension for AsciiDoc (Andrew Dunning).
Improved implicit pandoc-citeproc inclusion. The filter pandoc-citeproc is automatically used when
--bibliography
is specified on the command line, unless--natbib
or--biblatex
is used. However, previously this only worked if--bibliography
was spelled out in full, and not if--biblio
was used.reveal.js: Interpret pauses correctly for all headers (#2530). Previously, when using headers below the slide level, pauses are left uninterpreted into pauses. In my opinion, unexpected behavior but intentional looking at the code.
Remove redundant
center
variable for reveal.js (Andrew Dunning).Parsing: Add
extractIdClass
, modified type ofKeyTable
(Mauro Bieg, API change).ImageSize: Added functions for converting between image dimensions (Mauro Bieg).
Use lts-3.18 in stack.yaml. This avoids Windows build issues with the HTTP library.
Bump version bounds for dependencies.
Downloads
pandoc my.md -t context -o my.pdf
will now create a PDF using ConTeXt rather than LaTeX (#2463).Fixed omitted
url(...)
in CSS data-uri with--self-contained
(#2489).Added
emoji
Markdown extension, enabled by default inmarkdown_github
(#2523). AddedExt_emoji
toExtension
inText.Pandoc.Options
(API change).Text.Pandoc.Readers.HTML.parseTags
: Fixed over-eager raw HTML inline parsing (#2469). Tightened up the inline HTML parser so it disallows TagWarnings.Derive
Generic
instances for the types inText.Pandoc.Options
.-
Org reader:
- Fix paragraph/list interaction (Albert Krewinkel, #2464). Paragraphs can be followed by lists, even if there is no blank line between the two blocks. However, this should only be true if the paragraph is not within a list, were the preceding block should be parsed as a plain instead of paragraph (to allow for compact lists). Thanks to @rgaiacs for bringing this up.
- Allow toggling header args (Albert Krewinkel, #2269). Org-mode allows to skip the argument of a code block header argument if it's toggling a value. Argument-less headers are now recognized, avoiding weird parsing errors.
- Fix markup parsing in headers (Albert Krewinkel, #2504). Markup as the very first item in a header wasn't recognized. This was caused by an incorrect parser state: positions at which inline markup can start need to be marked explicitly by changing the parser state. This wasn't done for headers. The proper function to update the state is now called at the beginning of the header parser, fixing this issue.
- Fix emphasis rules for smart parsing (Albert Krewinkel, #2513). Smart quotes, ellipses, and dashes should behave like normal quotes, single dashes, and dots with respect to text markup parsing.
- Require whitespace around definition list markers (#2518). This rule was not checked before, resulting in bugs with footnotes and some link types.
-
Markdown reader:
- Pipe tables with long lines now get relative cell widths (#2471). If a pipe table contains a line longer than the column width (as set by
--columns
or 80 by default), relative widths are computed based on the widths of the separator lines relative to the column width. This should solve persistent problems with long pipe tables in LaTeX/PDF output, and give more flexibility for determining relative column widths in other formats, too. For narrower pipe tables, column widths of 0 are used, telling pandoc not to specify widths explicitly in output formats that permit this. - Improved parser for
mmd_title_block
. We now allow blank metadata fields. These were explicitly disallowed before. - Citation keys can now contain
://
, so URLs and DOIs can be used as citation keys (jgm/pandoc-citeproc#166).
- Pipe tables with long lines now get relative cell widths (#2471). If a pipe table contains a line longer than the column width (as set by
Beamer template: fix incompatibility of section slides with natbib. Natbib (and presumably biblatex) bibliography commands create their own section. Since these are in frame environments, we have an incompatibility with the
\AtBeginSection
macro which creates a special frame when a new section occurs. (We can't have a frame inside another frame.) This change disables\AtBeginSection
inside bibliography slides. Thinks to Yihui Xie for bringing the problem to my attention. This supersedes #145. See discussion there.Textile reader: don't do smart punctuation unless explicitly asked (#2480). Note that although smart punctuation is part of the textile spec, it's not always wanted when converting from textile to, say, Markdown. So it seems better to make this an option.
LaTeX reader: Handle
comment
environment (Arata Mizuki). Thecomment
environment is handled in a similar way to theverbatim
environment, except that its content is discarded.Docx reader: Follow relationships correctly in foot/endnotes (#2258, Jesse Rosenthal). This fixes a problem with links in notes.
LaTeX and ConTeXt writers: support
lang
attribute on divs and spans (mb21). For LaTeX, also collectlang
anddir
attributes on spans and divs to set thelang
,otherlangs
anddir
variables if they aren’t set already. See #895.-
LaTeX writer:
- Use proper command for
\textarabic
(mb21). - Added
de-CH-1901
, fixedel-polyton
intoPloyglossia
(Nick Bart). - Use
\hypertarget
and\hyperlink
for links. This works correctly to link to Div or Span elements. We now don't bother defining\label
for Div or Span elements. Closes jgm/pandoc-citeproc#174. - Avoid footnotes in list of figures (#1506).
- Properly handle footnotes in captions (#1506).
- Add
\protect
to\hyperlink
(#2490). Thanks to Hadrien Mary. - Set
colorlinks
iflinkcolor
,urlcolor
,citecolor
, ortoccolor
is set (#2508).
- Use proper command for
Textile writer: support start number in ordered lists (#2465).
OpenDocument writer: Allow customization of opendocument automatic styles. Automatic styles can now be inserted in the template, which now provides the enclosing
<office:automatic-styles>
tags (#2520).Docx writer: insert space between footnote reference and note (#2527). This matches Word's default behavior.
-
EPUB writer: don't download linked media when
data-external
attribute set (#2473). By default pandoc downloads all linked media and includes it in the EPUB container. This can be disabled by settingdata-external
on the tags linking to media that should not be downloaded. Example:<audio controls="1"> <source src="http://www.sixbarsjail.it/tmp/bach_toccata.mp3" type="audio/mpeg"></source> </audio>
HTML writer: use width on whole table if col widths sum to < 100%. Otherwise some browsers display the table with the columns separated far apart.
AsciiDoc template: Fix
author
anddate
; addkeywords
,abstract
(Andrew Dunning).-
HTML-based templates (Andrew Dunning):
- Use en dash instead of hyphen between title prefix and title.
- Add
keywords
to metadata. - Add
lang
,dir
,quotes
where missing. - Always make author and date display conditional.
- Updated dzslides template from source.
Man template: make "generated by" comment conditional.
-
LaTeX, Beamer templates:
- Add
babel-otherlangs
for language divs/spans;babel-newcommands
, filled by commands that make babel understand the polyglossia-style language directives (mb21, #137). - Improved formatting of conditionals;
$for$
is always provided to allow multiple options (Andrew Dunning, #141). - Use
Ligatures=TeX
rather thanMapping=tex-text
withfontspec
to improve support for LuaTeX (Andrew Dunning, #135). - Revise
hyperref
usage (Andrew Dunning, #139, #141):- use same options for all LaTeX engines;
- add
subtitle
andkeywords
to PDF metadata; - do not override
hyperref
link coloring without user input, effectively making thehidelinks
option the default (removed as a separate variable); - link colors can be enabled (using a slightly darker version of the old defaults) using a new
colorlinks
variable, automatically used by the LaTeX writer when custom colors are specified; -
pdfborder={0 0 0}
is automatically set byhyperref
withcolorlinks
, and is only applied ifcolorlinks
is disabled.
- Add
-
ConTeXt template (Andrew Dunning):
- New variables for controlling styles:
linkstyle
,linkcolor
,linkcontrastcolor
,layout
,pagenumbering
,whitespace
,indenting
,interlinespace
,headertext
,footertext
,mainfont
,sansfont
,monofont
,mathfont
,fontsize
. - Default template no longer supports MkII.
- Improve writing of title block (suppressing numbering of first page).
- Add
title
subtitle
,author
,date
,keywords
to PDF metadata. - Support
subtitle
,abstract
. - Support list of figures (
lof
), list of tables (lot
). - Disable link styling by default.
- Define styles for all section types.
- Enable microtype.
- Improved formatting of conditionals.
- New variables for controlling styles:
Beamer template: added code to prevent slide breaks inside paragraphs (#2422, thanks to Nick Bart). This will matter, in practice, only when
allowframebreaks
is used. It is especially helpful for bibliography slides.OpenDocument template: Add
<office:automatic-styles>
tag around automatic styles. The writer now longer provides this (see #2520).Restored Text.Pandoc.Compat.Monoid.
Do not export (<>) from custom Prelude. The Prelude now matches base 4.8 Prelude's API.
Don't use custom prelude with ghc 7.10. Use the custom prelude only for earlier versions. This change makes
stack ghci
andcabal repl
work (#2503), at least with ghc 7.10.Changed § to % in operators from Odt.Arrows.Utils (#2457). This prevents problems building haddocks with "C" locale.
Change default for old-locale flag to False.
Use stack in deb, osx, and Windows package generators.
Added Vagrantfile for building deb in vm. This should help in automating binary package creation. 'make package' will make the package. 'make package COMMIT=blah' will make the package from commit blah.
-
README:
- Consistent capitalization for pandoc and Markdown.
- Fixed
auto_identifiers
examples (Benoit Schweblin). - Improved documentation of template variables (Andrew Dunning).
Downloads
-
Text.Pandoc.Data
: store paths in dataFiles using posix separators. This way we have uniform separators, whether on Windows or Linux. This should solve a problem where on some Windows versions the data files weren't being found (#2459).
Note: This release does nothing more than fix a problem with some Windows builds of 1.15.1. Linux and OSX users may continue to use pandoc 1.15.1, so binary packages for these platforms are not provided here.
Downloads
pandocVersion
is now defined inText.Pandoc.Shared
and reexported fromText.Pandoc
(Alex Vong). This allows writers to access it. (Alex Vong) (API change)For
markdown_mmd
, add:implicit_figures
,superscripts
,subscripts
(#2401).Added
odt
as input format (MarLinn). Added new moduleText.Pandoc.Reader.ODT
(API change). Fully implemented features: Paragraphs, Headers, Basic styling, Unordered lists, Ordered lists, External Links, Internal Links, Footnotes, Endnotes, Blockquotes. Partly implemented features: Citations, Tables.-
Markdown Reader:
- Add basic tests for each header style (Ophir Lifshitz).
- Add implicit header ref tests for headers with spaces (Ophir Lifshitz).
- Skip spaces in headers (Ophir Lifshitz).
- Handle 'id' and 'class' in parsing key/value attributes (#2396).
# Header {id="myid" class="foo bar"}
is now equivalent to# Header {#myid .foo .bar}
. - Use '=' instead of '#' for atx-style headers in markdown+lhs. (Kristof Bastiaensen)
- Pipe tables: allow indented columns. Previously the left-hand column could not start with 4 or more spaces indent. This was inconvenient for right-aligned left columns. Note that the first (header column) must still have 3 or fewer spaces indentation, or the table will be treated as an indented code block.
- Fix regression: allow HTML comments containing
--
. Technically this isn't allowed in an HTML comment, but we've always allowed it, and so do most other implementations. It is handy if e.g. you want to put command line arguments in HTML comments.
-
LaTeX reader:
- Don't eat excess whitespace after macros with only optional arguments (#2446).
- Support longtable (#2411).
- Implement
\Cite
(#2335). - Support abstract environment. The abstract populates an
abstract
metadata field. - Properly handle booktabs lines. Lines aren't part of the pandoc table model, so we just ignore them (#2307).
-
HTML reader:
- Handle type attribute on ol, e.g.
<ol type="i">
(#2313). - Updated for new automatic header attributes.
- Add auto identifiers if not present on headers. This makes TOC linking work properly.
- Detect
font-variant
withpickStyleAttrProps
(Ophir Lifshitz). - Test
<ol>
type, class, and inline list-style(-type) CSS (Ophir Lifshitz). - Better handling of "section" elements (#2438). Previously
<section>
tags were just parsed as raw HTML blocks. With this change, section elements are parsed as Div elements with the class "section".
- Handle type attribute on ol, e.g.
MediaWiki reader: handle unquoted table attributes (#2355).
-
DocBook reader:
- Added proper support for DocBook
xref
elements (Frerich Raabe). AddeddbContent
field to reader state, so we can lookup cross refs. - Handle
informalexample
(#2319).
- Added proper support for DocBook
-
Docx Reader:
- Create special punctuation test (Ophir Lifshitz).
- Parse soft, no-break hyphen elements (Ophir Lifshitz).
- Updated headers test (Ophir Lifshitz). Replaced
styles.xml
inheaders.docx
with pandoc's currentstyles.xml
, which contains styles for Heading 1 through 6. Added Heading 4 through 7 to the test document. Note that Heading 7 is not parsed as a Heading because there is no Heading 7 style.
-
RST reader: better handling of indirect roles. Previously the parser failed on this kind of case
.. role:: indirect(code) .. role:: py(indirect) :language: python :py:`hi`
Now it correctly recognizes
:py:
as a code role. -
Org reader:
EPUB reader: stop mangling external URLs (#2284).
-
RST writer:
- Don't insert
\
when complex expression in matched pairs. E.g.[:sup:`3`]
is okay; you don't need[:sup:`3`\ ]
. - Ensure that
\
is inserted when needed before Cite and Span elements that begin with a "complex" element (jgm/pandoc-citeproc#157). - Normalize headers only in "standalone" mode (#2394).
- Don't insert
Haddock writer: escape
*
and^
(G. Bataille).-
Markdown writer:
- In TOC, add links to headers (#829).
- Use unicode super/subscripts for digits in plain output (when the
superscripts
andsubscripts
extensions are not enabled).
-
Docx writer:
- Moved invalid character stripping to
formattedString
. This avoids an inefficient generic traversal (#2356). - Use user data directory for
reference.docx
archive. This allows the test suite to work without installing pandoc first. It also brings the docx writer in line with the odt writer. - Tests: docx writer tests now use
../data
for data directory. This allows tests to be run without installing first. - Tests: Use real jpg (not empty) for docx tests to avoid warning.
- Moved invalid character stripping to
-
LaTeX writer:
- Fixed detection of 'chapters' from template. If a documentclass isn't specified in metadata, but the template has a hardwired bookish documentclass, act as if
--chapters
was used. This was the default in earlier versions, but it has been broken for a little while. - Correctly recognize book documentclass in metadata (#2395).
- Set language-related variables automatically, depending on the value of the
lang
field, which is now always assumed to be in BCP47 format (mb21, #1614, #2437). - Add
\protect
to\hyperdef
in inline context. This way we don't get an error when this is used as a moveable argument (#2136). - Support all frame attributes in Beamer.
- Percent-encode more special characters in URLs (#1640, #2377). The special characters are '<','>','|','"','{','}','[',']','^', '`'.
- Fixed detection of 'chapters' from template. If a documentclass isn't specified in metadata, but the template has a hardwired bookish documentclass, act as if
-
HTML writer:
-
EPUB writer:
Native writer: format Div properly, with blocks separated.
Support bidirectional text output with XeLaTeX, ConTeXt and HTML (#2191, mb21).
-
Reference Docx:
- Add missing Header 6 style (steel blue) (Ophir Lifshitz).
- Correct
outlineLvl
for Header styles (Ophir Lifshitz).
-
Templates
- Beamer: Add
innertheme
,outertheme
variables (Guilhem Bonnefille, #121). Add space after colon in figure caption. Integrate recent font and language updates from LaTeX template; allow use ofmainfont
variable for changing the slide text in XeTeX and LuaTeX (Andrew Dunning, #131). - LaTeX: Add
mainfontoptions
,sansfontoptions
,monofontoptions
,mathfontoptions
,fontfamilyoptions
(Andrew Dunning, #122). Support handling of bidirectional text (mb21, #120). Improve reliability of superscripts/subscripts under XeTeX and prevent letters and numbers from appearing on a different baseline by removing use of therealscripts
package (viaxltxtra
). To restore use of OpenType characters for these features under XeTeX or LuaTeX, add\usepackage{realscripts}
toheader-includes
(Andrew Dunning, #130). Remove redundant reference toxunicode
(Andrew Dunning, #130). Addfontenc
,indent
,subparagraph
variables (Andrew Dunning). Allow use ofhidelinks
variable forhyperref
package (Hugo Roy, #113). Prevent package clash withtufte-latex
and other classes that includehyperref
orcolor
(Xavier Olive, #115). - ConTeXt: Support handling of bidirectional text (mb21, #120).
- LaTeX and ConTeXt: Use more specific language variables. Instead of directly using
lang
, we now usebabel-lang
andpolyglossia-lang
andcontext-lang
. These variables are set by the writers to the necessary values, based on thelang
variable (which now always takes a value in BCP47 format). (mb21, #114, #129). - HTML: Support handling of bidirectional text (mb21, #120). Move HTML5 shiv after CSS and fix URL (Andrew Dunning). Add dir attribute in html5 (Andrew Dunning).
- reveal.js: Add
controls
,progress
variables (Grégoire Pineau, #127). Addwidth
,height
variables (Anrew Dunning). Update template from 3.1 source (Andrew Dunning). All configuration options are now available as variables, but are only be included if set (reveal.js uses defaults otherwise). - man: Added comment stating that the page is autogenerated by pandoc, giving version. Added
adjusting
andhyphenate
variables (Alex Vong, #123).
- Beamer: Add
epub.css: added selectors for nested emphasis (Pablo Rodriguez).
MediaBag: ensure that
/
is always used as path separator.sample.lua
: defineCaptionedImage
, add newline at end (#2393).Added
--bash-completion
option. This generates a bash completion script. To use:eval "$(pandoc --bash-completion)"
.Text.Pandoc.Error: Define Typeable and Exception instances for PandocError (#2386).
-
Text.Pandoc.Parsing:
toKey
: strip off outer brackets. This makes keys with extra space at the beginning and end work: e.g.[foo]: bar [ foo ]
will now be a link to bar (it wasn't before).
Text.Pandoc: disable
auto_identifiers
for epub. The epub writer inserts its own auto identifiers; this is more complex due to splitting into "chapter" files.Renamed Text.Pandoc.Compat.Locale -> Text.Pandoc.Compat.Time. It now reexports Data.Time.
-
Use custom Prelude to avoid compiler warnings.
- The (non-exported) prelude is in prelude/Prelude.hs.
- It exports Monoid and Applicative, like base 4.8 prelude, but works with older base versions.
- It exports (<>) for mappend.
- It hides 'catch' on older base versions.
Added a
stack.ymal
and stack install instructions to INSTALL.Clarified what is "out of scope" in README and CONTRIBUTING.md.
Added note to CONTRIBUTING.md about ghc versions and travis.
Clarify docs on block quotes. The space after
>
is optional (#2346).Removed obsolete reference to default.csl (#2372).
List all styles in manual for
--reference-docx
(Chris Black)Don't capitalize header links in man page.
Added section on repl to CONTRIBUTING.md.
README: Added space after backslash in image example (#2329).
Document details of citation locator terms (Nick Bart).
Fixed some internal links in README (#2309).
Improve CSL documentation, variables documentations, links, and cross-references in README. (Andrew Dunning)
Fix build failure with
--flags=-https
(Sergei Trofimovich).Use
newManager
instead ofwithManager
in recenthttp-client
. This avoids a deprecation warning.Allow building with latest versions of http-types, HUnit, criterion, syb, aeson.
Updated benchmark program for new criterion API.
Setup.hs: rewrite so as not to use process, directory, filepath. Using anything outside base is dangerous, since older versions of ghc may link against two different versions.
Added appveyor (Windows continuous integration) builds.
New
.travis.yml
. Autgenerated usingmake_travis_yml.hs
. This script has been modified in a few ways, e.g. to addGHCOPTS
.make .travis.yml
regenerates it based on the tested-with field of the cabal file.
Where's the Windows package? See pandoc 1.15.1.1.