Releases: jgm/pandoc
Releases · jgm/pandoc
pandoc 1.15.0.3
This release just fixes a packaging bug in 1.15.0.2. For binary packages, see pandoc 1.15.
- Ensure target directory is created when installing man page.
pandoc 1.15.0.2
This release just fixes a packaging bug in 1.15.0.1. For binary packages, see pandoc 1.15.
- Added files needed for building man page to Extra-Source-Files.
pandoc 1.15.0.1
Note: Because this release only affects building of man pages, we have not provided a binary package. Please see pandoc 1.15 for the latest binary package.
- Man page is now built and installed as part of the cabal build process. Removed Makefile target for man page.
pandoc 1.15
Note: This is a fairly minor update. The bump in major version number is due to the removal of Text.Pandoc.ManPages
and the --man1
and --man5
options, which were only in pandoc for one day.
Note to packagers:
- There is no longer a separate
pandoc_markdown.5
man page. The two man pages have been merged intopandoc.1
. - To create
pandoc.1
, just domake man/man1/pandoc.1
after building pandoc.
- Man page changes:
- Removed
--man1
,--man5
options (breaking change). - Removed
Text.Pandoc.ManPages
module (breaking API change). - Makefile target for
man/man1/pandoc.1
. This uses pandoc to create the man page from README using a custom template and filters. - Added
man/
directory with template and filters needed to build man page. - We no longer have two man pages:
pandoc.1
andpandoc_markdown.5
. Now there is just pandoc.1, which has all the content from README. This change was needed because of the extensive cross-references between parts of the README. - Removed old
data/pandoc.1.template
anddata/pandoc_markdown.5.template
.
- Removed
- OpenDocument writer: Do not add a carriage return after a hard line break (Michael Chladek).
- ConTeXt writer:
- use
\goto
for internal links. - Added a
%
at end for\reference
to avoid spurious space.
- use
- Ignore sandbox on 'make quick'
pandoc 1.14.1
- Added
--man1
and--man5
options to pandoc, allowing pandoc to generate its own man pages. Man pages are no longer automatically generated in the build process (the process for this was too complex and prone to failure, #2190). Themake-pandoc-man-pages
executable has been removed. Theman/
directory has been removed, and man page templates have been moved todata/
. NOTE TO PACKAGERS: You will no longer find pandoc's man pages inman/
, but you can generate them usingpandoc --man1 > pandoc.1
andpandoc --man5 > pandoc_markdown.5
. - Added new unexported module:
Text.Pandoc.ManPages
. README
now acts like a data file (even though it isn't indata/
). So, for example,pandoc --print-default-data-file README
will produce the README.) This change was required for the--man1
and--man5
options, since the man pages are produced from the README, but it may be useful for other purposes as well.- Allow
reference.docx
andreference.odt
to be used with--print-default-data-file
and to shadow defaults if placed in the user data directory. Note that as of 1.14, we no longer include these files as data files; instead, we include their components. This change causes pandoc to behave as if it has these data files; they are constructed on demand when needed usinggetDefaultReferenceDocx
andgetDefaultReferenceODT
. - Fixed regression in CSS parsing with
--self-contained
(#2224). Pandoc 1.14.0.x used css-text to parse the CSS, but its parser silently drops big sections of CSS. This commit replaces the use of css-text with a small but principled CSS preprocessor, which removes whitespace and comments and replacesurl()
with base 64 data when possible. - Use
https://
instead of//
for MathJax and KaTeX CDN URLs (#1920). This will allow math to work when pages are being viewed locally. Text.Pandoc.Options
: ExportplainExtensions
. These are the extensions used inplain
output.- LaTeX reader: Don't parse
_
and^
as sub/superscript outside of math mode; treat them as regular inline text. Normally these will cause an error in LaTeX, but there are contexts (e.g.alltt
environments) where they are allowed. - HTML reader: allow
<body>
to close<head>
. - DocBook reader: support
mediaobject
s andfigures
(#2184, mb21). - RST reader: Fix reference names with special characters (Lars-Dominik Braun).
- Textile writer: escape
+
and-
as entities (#2225). - DokuWiki writer: Use proper
<code>
tags for code blocks (#2213). - Plain writer: don't use symbols for super/subscript (#2237). Simplified code by using
plainExtensions
. - InDesign writer: Properly escape URLs containing more than one colon character (gohai).
- Docx writer: Make sure we use dist version of
reference.docx
(and not the user's version) for certain settings. Taking some settings values from a user-supplied reference.docx can lead to corruption. This fixes a regression from the last release (#2249). Text.Pandoc.Shared
: exportsgetDefaultReferenceDocx
andgetDefaultReferenceODT
(API change). These functions have been removed from the Docx and ODT writers.- LaTeX template (Xavier Olive):
- Added
CJKmainfont
andCJKoptions
variables. - Allow dvipsnames (e.g.
MidnightBlue
) for colors (Xavier Olive). - Epub templates: use
author.role
, notauthor.type
. - Bump cmark version to >= 0.3.4.
- Improved Windows installer (#2205, thanks to nkalvi). Users can now select a per-user or systemwide install, and can set the installation path. At the end of installation, the install location is given. The install location is also now given in the list of installed programs in Control Panel. Cleaner WiX syntax is used for setting the path.
- Added
download_stats
target to Makefile.
pandoc 1.14.0.4
- Added missing commonmark template.
- Improved try pandoc (moved button, show raw command).
NOTE: There are no binary packages for this release. Please see the 1.14.1 release.
pandoc 1.14.0.3
- Allow compilation with syb 0.5.*.
- Custom writer: fixed some compiler warnings for ghc < 7.10.
pandoc 1.14.0.2
- Allow building with hslua 0.4.
pandoc 1.14.0.1
- Fixed problem with building of
reference.docx
andreference.odt
when theembed_data_files
flag is used. Instead of having a phase of the build wherereference.docx
andreference.odt
are created from their constituent data files, we now construct these archives from their constituents when adocx
orodt
is built. The constituent files have been moved fromextra-source-files
todata-files
, andreference.docx
andreference.odt
have been removed. Users can create their ownreference.docx
orreference.odt
by using pandoc to create a simpledocx
orodt
.make-reference-files.hs
has been removed, simplifying the build process (#2187) - Don't include generated man pages in extra-source-files (#2189).
- Bumped upper bound for aeson.
- ConTeXt writer: create internal link anchors for Div elements with identifiers. (This is needed for linked citations to work.)
pandoc 1.14
New features
- Added
commonmark
as input and output format. - Added
--verbose
flag for debugging output in PDF production (#1840, #1653). - Allow wildcards in
--epub-embed-font
arguments (#1939). - Added
--latex-engine-opt
option (#969, #1779, Sumit Sahrawat). - Added
shortcut_reference_links
extension (Konstantin Zudov, #1977). This is enabled by default for those markdown flavors that support reading shortcut reference links, namely:markdown
,markdown_strict
,markdown_github
,markdown_php
. If the extension is enabled, the reader parses shortcut reference links like[foo]
, and the writer creates such links unless doing so would cause problems. Users of markdown flavors that support shortcut reference links should not notice a difference in reading markdown, but the markdown pandoc produces may differ. If shortcut links are not desired, the extension can be disabled in the normal way.
Behavior changes
--toc
is now supported fordocx
output (#458, Nikolay Yakimov). A "dirty" TOC is created at the beginning of document. It can be regenerated after the document has been opened.- An implicit
--filter pandoc-citeproc
is now triggered only when the--bibliography
option is used, and not when thebibliography
field in metadata is specified (#1849). - Markdown reader:
- Reference links with
implicit_header_references
are no longer case-sensitive (#1606). - Definition lists no longer require indentation for first line (#2087). Previously the body of the definition (after the
:
or~
marker) needed to be in column 4. This commit relaxes that requirement, to better match the behavior of PHP Markdown Extra. So, now this is a valid definition list:
```
foo
: bar
```
- Resolve a potentially ambiguity with table captions:
```
foo
: bar
-----
table
-----
```
Is "bar" a definition, or the caption for the table? We'll count it as a caption for the table.
- Disallow headerless pipe tables (#1996), to conform to GFM and PHP Markdown Extra. Note: If you have been using headerless pipe tables, this change may cause existing tables to break.
- Allow pipe tables with header but no body (#2017).
- Allow a digit as first character of a citation key (Matthias Troffaes). See jgm/pandoc-citeproc#97
- LaTeX reader:
- Don't limit includes to
.tex
extension (#1882). If the extension is not.tex
, it must be given explicitly in the\input
or\include
. - Docx reader:
- Allow numbering in the style file. This allows inherited styles with numbering (lists) (Jesse Rosenthal).
- Org reader:
- Support smart punctuation (Craig Bosma).
- Drop trees with a :noexport: tag (Albert Krewinkel). Trees having a
:noexport:
tag set are not exported. This mirrors org-mode. - Put header tags into empty spans (Albert Krewinkel, #2160). Org mode allows headers to be tagged:
* Headline :TAG1:TAG2
. Instead of being interpreted as part of the headline, the tags are now put into the attributes of empty spans. Spans without textual content won't be visible by default, but they are detectable by filters. They can also be styled using CSS when written as HTML. - Generalize code block result parsing (Albert Krewinkel). Previously, only code blocks were recognized as result blocks; now, any kind of block can be the result.
- Append newline to the LineBreak in Dokuwiki, HTML, EPUB, LaTeX, MediaWiki, OpenDocument, Texinfo writers (#1924, Tim Lin).
- HTML writer:
- Add "inline" or "display" class to math spans (#1914). This allows inline and display math to be styled differently.
- Include raw latex blocks if
--mathjax
specified (#1938). - Require highlighting-kate >= 0.5.14 (#1903). This ensures that all code blocks will be wrapped in a
div
with classsourceCode
. Also, the default highlighting CSS now addsdiv.sourceCode { x-overflow: auto; }
, which means that code blocks (even with line numbers) will acquire a scroll bar on screens too small to display them (e.g. mobile phones). See also jgm/highlighting-kate#65. - LaTeX writer:
- Use a declaration for tight lists (Jose Luis Duran, Joseph Harriott). Previously, pandoc hard-coded some commands to make tight lists in LaTeX. Now we use a custom command instead, allowing the styling to be changed in a macro in the header. (Note: existing templates may need to be modified to include the definition of this macro. See the current template.)
- Beamer output: if the header introducing a slide has the class
fragile
, add the[fragile]
option to the slide (#2119). - MediaWiki writer:
- Use
File:
instead of the deprecatedImage:
for images and other media files (Greg Rundlett). - DocBook writer:
- Render a
Div (id,_,_) [Para _]
element as apara
element with anid
attribute. This makes links to citations work in DocBook with pandoc-citeproc. - RST writer:
- Normalize headings to sequential levels (Nikolay Yakimov). This is pretty much required by docutils.
- Treat headings in block quotes, etc as rubrics (Nikolay Yakimov).
- Better handling of raw latex inline (#1961). We use
:raw-latex:
...`` and add a definition for this role to the template. - EPUB writer:
- Remove
linear=no
from coveritemref
(#1609). - Don't use
sup
element for epub footnotes (#1995). Instead, just use an a element with classfootnoteRef
. This allows more styling options, and provides better results in some readers (e.g. iBooks, where anything inside the a tag breaks popup footnotes). - Take TOC title from
toc-title
metadata field. - Docx writer:
- Implemented
FirstParagraph
style (Jesse Rosenthal). Following the ODT writer, we add theFirstParagraph
style to the first text paragraph following an image, blockquote, table, heading, or beginning of document. This allows it to be styled differently. The default is for it to be the same asNormal
. - Added
BodyText
style (Jesse Rosenthal). We apply aBodyText
style to all unstyled paragraphs. This is, essentially, the same asNormal
, except that since not everything inherits fromBodyText
(the metadata won't, for example, or the headers or footnote numbers), we can change the text in the body without having to make exceptions for everything. If we do want to change everything, we can still do it throughNormal
. - Altered
Blockquote
style slightly (Jesse Rosenthal). SinceBlockQuote
derives fromBodyText
, we just want to specify by default that it won't indent, regardless of whatBodyText
does. Note that this will not produce any visible difference in the default configuration. - Take TOC title from
toc-title
metadata field (Nikolay Yakimov). - Added a style to figure images (Nikolay Yakimov). Figures with empty captions use style
Figure
. Figures with nonempty captions use styleFigure with Caption
, which is based onFigure
, and additionally haskeepNext
set. - ODT writer:
- Added figure captions (Nikolay Yakimov). The following styles are used for figures:
Figure
-- for figure with empty caption),FigureWithCaption
(based onFigure
) -- for figure with caption,FigureCaption
(based onCaption
) -- for figure captions. Also,TableCaption
(based onCaption
) is used for table captions.
API changes
- New
Text.Pandoc.Error
module withPandocError
type (Matthew Pickering). - All readers now return
Either PandocError Pandoc
instead ofPandoc
(Matthew Pickering). This allows better handling of errors. - Added
Text.Pandoc.Writers.CommonMark
, exportingwriteCommonMark
. - Added
Text.Pandoc.Readers.CommonMark
, exportingreadCommonMark
. - Derive
Data
andTypeable
instances forMediaBag
,Extension
,ReaderOptions
,EPUBVersion
,CiteMethod
,ObfuscationMethod
,HTMLSlideVariant
,TrackChanges
,WriterOptions
(Shabbaz Youssefi). - New
Ext_shortcut_reference_links
constructor forExtension
(Konstantin Zudov).
Bug fixes
- Markdown reader:
- Allow smart
'
after inline math (#1909, Nikolay Yakimov). - Check for tex macros after indented code (#1973).
- Rewrote
charsInBalancedBrackets
for efficiency. - Make sure a closing
</div>
doesn't get included in a definition list item (#2127). - Don't parse bracketed text as citation if it might be a link, image, or footnote (Nikolay Yakimov).
- Require space after key in mmd title block (#2026, Nikolay Yakimov). Require space after key-value delimiter colon in mmd title block.
- Require nonempty value in mmd title block (Nikolay Yakimov).
- Disable all metadata block extensions when parsing metadata field values (#2026, Nikolay Yakimov). Otherwise we could get a mmd title block inside YAML metadata, for example.
- HTML reader:
- Improve self-closing tag detection in
htmlInBalanced
(#2146). - Handle tables with
<th>
in body rows (#1859, mb21). - Fixed
htmlTag
(#1820). If the tag parses as a comment, we check to see if the input starts with<!--
. If not, it's bogus comment mode and we failhtmlTag
. - Handle
base
tag; if it has anhref
value, this is added to all relative URLs in links and images. - DocBook reader:
- Look inside "info" elements for section titles (#1931).
- Docx reader:
- Parse images in deprecated vml format (Jesse Rosenthal).
- Allow sub/superscript verbatims (Jesse Rosenthal). Verbatim usually shuts off all other run styles, but we don't want it to shut off sub/superscript.
- LaTeX reader:
- Handle
tabular*
environment (#1850). Note that the table width is not actually parsed or taken into account, but pandoc no longer chokes on it. - Ignore options in
\lstinline
rather than raising error (#1997). - Add some test cases for simple tables (Mathias Schenner).
- Handle valign argument in tables (Mathias Schenner) (cur...