- Made it possible to run filters that aren't executable (#1096).
Pandoc first tries to find the executable (searching the path
if path isn't given). If it fails, but the file exists and has
a.py
,.pl
,.rb
,.hs
, or.php
extension, pandoc runs the filter
using the appropriate interpreter. This should make it easier to
use filters on Windows, and make it more convenient for everyone. - Added Emacs org-mode reader (Albert Krewinkel).
- Added InDesign ICML Writer (mb21).
- MediaWiki reader:
- LaTeX reader:
- Give better location information on errors, pointing to line
numbers within included files (#1274). - LaTeX reader: Better handling of
table
environment (#1204).
Positioning options no longer rendered verbatim. - Better handling of figure and table with caption (#1204).
- Handle
@{}
andp{length}
in tabular. The length is not actually
recorded, but at least we get a table (#1180). - Properly handle
\nocite
. It now adds anocite
metadata
field. Citations there will appear in the bibliography but not
in the text (unless you explicitly put a$nocite$
variable
in your template).
- Give better location information on errors, pointing to line
- Markdown reader:
- Ensure that whole numbers in YAML metadata are rendered without
decimal points. (This became necessary with changes to aeson
and yaml libraries. aeson >= 0.7 and yaml >= 0.8.8.2 are now required.) - Fixed regression on line breaks in strict mode (#1203).
- Small efficiency improvements.
- Improved parsing of nested
div
s. Formerly a closingdiv
tag
would be missed if it came right after other block-level tags. - Avoid backtracking when closing
</div>
not found. - Fixed bug in reference link parsing in
markdown_mmd
. - Fixed a bug in list parsing (#1154). When reading a raw list
item, we now strip off up to 4 spaces. - Fixed parsing of empty reference link definitions (#1186).
- Made one-column pipe tables work (#1218).
- Ensure that whole numbers in YAML metadata are rendered without
- Textile reader:
- Better support for attributes. Instead of being ignored, attributes
are now parsed and included in Span inlines. The output will be a bit
different from stock textile: e.g. for*(foo)hi*
, we'll get
<em><span class="foo">hi</span></em>
instead of
<em class="foo">hi</em>
. But at least the data is not lost. - Improved treatment of HTML spans (%) (#1115).
- Improved link parsing. In particular we now pick up on attributes.
Since pandoc links can't have attributes, we enclose the whole link in
a span if there are attributes (#1008). - Implemented correct parsing rules for inline markup (#1175, Matthew
Pickering). - Use Builder (Matthew Pickering).
- Better support for attributes. Instead of being ignored, attributes
- DocBook reader:
- Better treatment of
formalpara
. We now emit the title (if present)
as a separate paragraph with boldface text (#1215). - Set metadata
author
notauthors
. - Added recognition of
authorgroup
andreleaseinfo
elements (#1214,
Matthew Pickering). - Converted current meta information parsing in DocBook to a more
extensible version which is aware of the more recent meta
representation (Matthew Pickering).
- Better treatment of
- HTML reader:
- Require tagsoup 0.13.1, to fix a bug with parsing of script tags
(#1248). - Treat processing instructions & declarations as block. Previously
these were treated as inline, and included in paragraph tags in HTML
or DocBook output, which is generally not what is wanted (#1233). - Updated
closes
with rules from HTML5 spec. - Use Builder (Matthew Pickering, #1162).
- Require tagsoup 0.13.1, to fix a bug with parsing of script tags
- RST reader:
- Remove duplicate
http
in PEP links (Albert Krewinkel). - Make rst figures true figures (#1168, CasperVector)
- Enhanced Pandoc's support for rST roles (Merijn Verstaaten).
rST parser now supports: all built-in rST roles, new role definition,
role inheritance, though with some limitations. - Use
author
rather thanauthors
in metadata. - Better handling of directives. We now correctly handle field
lists that are indented more than three spaces. We treat an
aafig
directive as a code block with attributes, so it can be
processed in a filter (#1212).
- Remove duplicate
- LaTeX writer:
- Mark span contents with label if span has an ID (Albert Krewinkel).
- Made
--toc-depth
work well with books in latex/pdf output (#1210). - Handle line breaks in simple table cells (#1217).
- Workaround for level 4-5 headers in quotes. These previously produced
invalid LaTeX:\paragraph
or\subparagraph
in aquote
environment.
This adds anmbox{}
in these contexts to work around the problem.
See http://tex.stackexchange.com/a/169833/22451 (#1221). - Use
\/
to avoid en-dash ligature instead of-{}-
(Vaclav Zeman).
This is to fix LuaLaTeX output. The-{}-
sequence does not avoid the
ligature with LuaLaTeX but\/
does. - Fixed string escaping in
hyperref
andhyperdef
(#1130).
- ConTeXt writer: Improved autolinks (#1270).
- DocBook writer:
- Improve handling of hard line breaks in Docbook writer
(Neil Mayhew). Use a<literallayout>
for the entire paragraph, not
just for the newline character. - Don't let line breaks inside footnotes influence the enclosing
paragraph (Neil Mayhew). - Distinguish tight and loose lists in DocBook output, using
spacing="compact"
(Neil Mayhew, #1250).
- Improve handling of hard line breaks in Docbook writer
- Docx writer: When needed files are not present in the user's
reference.docx
, fall back on the versions in thereference.docx
in pandoc's data files. This fixes a bug that occurs when a
reference.docx
saved by LibreOffice is used. (#1185) - EPUB writer:
- Include extension in epub ids. This fixes a problem with duplicate
extensions for fonts and images with the same base name but different
extensions (#1254). - Handle files linked in raw
img
tags (#1170). - Handle media in
audio
source tags (#1170).
Note that we now use amedia
directory rather thanimages
. - Incorporate files linked in
video
tags (#1170).src
andposter
will both be incorporated intocontent.opf
and the epub container.
- Include extension in epub ids. This fixes a problem with duplicate
- HTML writer:
- Add colgroup around col tags (#877). Also affects EPUB writer.
- Fixed bug with unnumbered section headings. Unnumbered section
headings (with classunnumbered
) were getting numbers. - Improved detection of image links. Previously image links with
queries were not recognized, causing<embed>
to be used instead
of<img>
.
- Man writer: Ensure that terms in definition lists aren't line wrapped
(#1195). - Markdown writer:
- Use proper escapes to avoid unwanted lists (#980). Previously we used
0-width spaces, an ugly hack. - Use longer backtick fences if needed (#1206). If the content contains a
backtick fence and there are attributes, make sure longer fences are
used to delimit the code. Note: This works well in pandoc, but github
markdown is more limited, and will interpret the first string of three
or more backticks as ending the code block.
- Use proper escapes to avoid unwanted lists (#980). Previously we used
- RST writer: Avoid stack overflow with certain tables (#1197).
- RTF writer: Fixed table cells containing paragraphs.
- Custom writer:
- AsciiDoc writer: Handle multiblock and empty table cells
(#1245, #1246). Added tests. Text.Pandoc.Options
: AddedreaderTrace
toReaderOptions
Text.Pandoc.Shared
:- Added
compactify'DL
(formerly in markdown reader) (Albert Krewinkel). - Fixed bug in
toRomanNumeral
: numbers ending with '9' would
be rendered as Roman numerals ending with 'IXIV' (#1249). Thanks to
Jesse Rosenthal. openURL
: set proxy with value of http_proxy env variable (#1211).
Note: proxies with non-root paths are not supported, due to
limitations inhttp-conduit
.
- Added
Text.Pandoc.PDF
:- Ensure that temp directories deleted on Windows (#1192). The PDF is
now read as a strict bytestring, ensuring that process ownership will
be terminated, so the temp directory can be deleted. - Use
/
as path separators in a few places, even on Windows.
This seems to be necessary for texlive (#1151, thanks to Tim Lin). - Use
;
forTEXINPUTS
separator on Windows (#1151). - Changes to error reporting, to handle non-UTF8 error output.
- Ensure that temp directories deleted on Windows (#1192). The PDF is
Text.Pandoc.Templates
:- Removed unneeded datatype context (Merijn Verstraaten).
- YAML objects resolve to "true" in conditionals (#1133).
Note: Ifaddress
is a YAML object and you just have$address$
in your template, the wordtrue
will appear, which may be
unexpected. (Previously nothing would appear.)
Text.Pandoc.SelfContained
: Handleposter
attribute invideo
tags (#1188).Text.Pandoc.Parsing
:- Made
F
an instance of Applicative (#1138). - Added
stateCaption
. - Added
HasMacros
, simplified other typeclasses.
RemovedupdateHeaderMap
,setHeaderMap
,getHeaderMap
,
updateIdentifierList
,setIdentifierList
,getIdentifierList
. - Changed the smart punctuation parser to return
Inlines
rather thanInline
(Matthew Pickering). - Changed
HasReaderOptions
,HasHeaderMap
,HasIdentifierList
from typeclasses of monads to typeclasses of states. This simplifies
the instance definitions and provides more flexibility. Generalized
type ofgetOption
and added a default definition. Removed
askReaderOption
. AddedextractReaderOption
. Added
extractHeaderMap
andupdateHeaderMap
inHasHeaderMap
.
Gave default definitions forgetHeaderMap
,putHeaderMap
,
modifyHeaderMap
. AddedextractIdentifierList
and
updateIdentifierList
inHasIdentifierList
. Gave defaults
forgetIdentifierList
,putIdentifierList
, and
modifyIdentifierList
. The ultimate goal here is to allow different
parsers to use their own, tailored parser states (instead of
ParserState
) while still using shared functions.
- Made
- Template changes:
- LaTeX template: Use
fontenc
package only withpdflatex
(#1164). - LaTeX template: Add
linestretch
andfontfamily
variables. - LaTeX template: Conditionalize author and date commands.
- Beamer template: Consistent styles for figure and table captions
(aaronwolen). - LaTeX and beamer template: Adjust widths correctly for oversized
images. Use\setkeys{Gin}{}
to set appropriate defaults for
\includegraphics
(Yihui Xie, Garrick Aden-Buie). Load
upquote
only afterfontenc
(Yihui Xie). - Beamer template: Added caption package (#1200).
- Beamer template: changes for better unicode handling (KarolS).
- DocBook template: use
authorgroup
if there are authors. - revealjs template: Move
include-after
to end (certainlyakey). - revealjs template: Fixed PDF print function (#1220, kevinkenan).
- LaTeX template: Use
- Bumped version bounds of dependencies.
- Added a
--trace
command line option, for debugging backtracking
bugs. So far this only works with the markdown reader. - MathMLinHTML: Fixed deprecation warning (#362, gwern, Albert Krewinkel).
- Updated travis script to test with multiple GHC versions.
- Force failure of a Travis build if GHC produces warnings (Albert
Krewinkel). - Add
.editorconfig
(Albert Krewinkel).
See http://editorconfig.org/ for details. - Give more useful error message if '-t pdf' is specified (#1155).
- Added
Cite
,SmallCaps
toArbitrary
instance (#1269). - Allow
html4
as a synonym ofhtml
as a reader (it already works
as a writer). - README:
- Added an explanation of how to use YAML metadata to
force items to appear in the bibliography without citations in
the text (like LaTeX\nocite
). - Added note to
--bibtex/--natbib
: not for use in making PDF
(#1194, thanks to nahoj). - Added explanatory notes about
--natbib
and--biblatex
. - Added specification of legal syntax for citation keys.
- Fixed variable defaults documentation (Albert Krewinkel).
- Added an explanation of how to use YAML metadata to
- Removed copyright statements for files that have been removed
(Albert Krewinkel). - Moved some doc files from
data-files
toextra-source-files
(#1123).
They aren't needed at runtime. We keep README and COPYRIGHT in data
to ensure that they'll be available on all systems on which pandoc
is installed. - Use cabal sandboxes in Windows build script.