12747 lines
538 KiB
Text
12747 lines
538 KiB
Text
pandoc (2.0)
|
||
|
||
[new features]
|
||
|
||
* New output format `ms` (groff ms). Complete support, including
|
||
tables, math, syntax highlighting, and PDF bookmarks. The writer uses
|
||
texmath's new eqn writer to convert math to eqn format, so a ms file
|
||
produced with this writer should be processed with `groff -ms -e` if
|
||
it contains math.
|
||
|
||
* New output format `jats` (Journal Article Tag Suite). This is an XML
|
||
format used in archiving and publishing articles. Note that a
|
||
URI-encoded CSL stylesheet (`data/jats.csl`) is added automatically
|
||
unless a stylesheet is specified using `--css`.
|
||
|
||
* New output format `gfm` (GitHub-flavored CommonMark) (#3841).
|
||
This uses bindings to GitHub's fork of cmark, so it should parse
|
||
gfm exactly as GitHub does (excepting certain postprocessing
|
||
steps, involving notifications, emojis, etc.). `markdown_github`
|
||
has been deprecated in favor of `gfm`.
|
||
|
||
* New output format `muse` (Emacs Muse) (Alexander Krotov, #3489).
|
||
|
||
* New input format `gfm` (GitHub-flavored CommonMark) (#3841).
|
||
This uses bindings to GitHub's fork of cmark. `markdown_github`
|
||
has been deprecated in favor of `gfm`.
|
||
|
||
* New input format `muse` (Emacs Muse) reader (Alexander Krotov, #3620).
|
||
|
||
* New input format `tikiwiki` (TikiWiki markup) (rlpowell, #3800).
|
||
|
||
* New input format `vimwiki` (Vimwiki markup) (Yuchen Pei, #3705).
|
||
Note that there is a new data file, `data/vimwiki.css`, which can
|
||
be used to display the HTML produced by this reader and
|
||
pandoc's HTML writer in the style of vimwiki's own HTML
|
||
export.
|
||
|
||
* New input format `creole` (Creole 1.0) (#3994, Sascha Wilde).
|
||
|
||
* New syntax for Divs, with `fenced_divs` extension enabled by
|
||
default (#168). This gives an attractive, plain-text way to create
|
||
containers for block-level content.
|
||
|
||
* Added new syntax for including raw content in any output format,
|
||
enabled by the `raw_attribute` extension (which is on by default
|
||
for `markdown` and `multimarkdown`). The syntax is the same as
|
||
for fenced code blocks or code inlines, only with `{=FORMAT}` for
|
||
attributes, where `FORMAT` is the name of the output format
|
||
(e.g., `ms`, `html`).
|
||
|
||
* Implement multicolumn support for slide formats (#1710).
|
||
The structure expected is:
|
||
|
||
<div class="columns">
|
||
<div class="column" width="40%">
|
||
contents...
|
||
</div>
|
||
<div class="column" width="60%">
|
||
contents...
|
||
</div>
|
||
</div>
|
||
|
||
Support has been added for beamer and all HTML slide formats.
|
||
|
||
* Allows line comments in templates, beginning with `$--` (#3806).
|
||
(Requires doctemplates 0.2.1.)
|
||
|
||
* Add `--eol=crlf|lf|native` flag and writer option to control line endings
|
||
(Stefan Dresselhaus, #3663, #2097).
|
||
|
||
* Add `--log` option to save log messages in JSON format to a file (#3392).
|
||
|
||
* Add `--request-header` option, to set request headers when pandoc
|
||
makes HTTP requests to fetch external resources. For example:
|
||
`--request-header User-Agent:blah`.
|
||
|
||
* Added lua filters (Albert Krewinkel, #3514). The new `--lua-filter`
|
||
option works like `--filter` but takes pathnames of special lua filters
|
||
and uses the lua interpreter baked into pandoc, so that no external
|
||
interpreter is needed. Note that lua filters are all applied after
|
||
regular filters, regardless of their position on the command line.
|
||
For documentation of lua filters, see `doc/lua-filters.md`.
|
||
|
||
* Set `PANDOC_READER_OPTIONS` in environment where filters are run.
|
||
This contains a JSON representation of `ReaderOptions`, so filters
|
||
can access it.
|
||
|
||
* Support creation of pdf via groff `ms` and pdfroff.
|
||
`pandoc -t ms -o output.pdf input.txt`.
|
||
|
||
* Support for PDF generation via HTML and `weasyprint` or `prince`
|
||
(Mauro Bieg, #3909). `pandoc -t html5 -o output.pdf --pdf-engine=prince`.
|
||
|
||
* Added `--epub-subdirectory` option (#3720). This specifies the
|
||
subdirectory in the OCF container that holds the EPUB specific content.
|
||
We now put all EPUB related content in an `EPUB/` subdirectory by default
|
||
(later this will be configurable).
|
||
|
||
```
|
||
mimetype
|
||
META-INF/
|
||
com.apple.ibooks.display-options.xml
|
||
container.xml
|
||
EPUB/ <<--configurable-->>
|
||
fonts/ <<--static-->>
|
||
font.otf
|
||
media/ <<--static-->>
|
||
cover.jpg
|
||
fig1.jpg
|
||
styles/ <<--static-->>
|
||
stylesheet.css
|
||
content.opf
|
||
toc.ncx
|
||
text/ <<--static-->>
|
||
ch001.xhtml
|
||
```
|
||
|
||
* Added `--resource-path=SEARCHPATH` command line option (#852).
|
||
SEARCHPATH is separated by the usual character, depending on OS
|
||
(: on unix, ; on windows). Default resource path is just working
|
||
directory. However, the working directory must be explicitly
|
||
specified if the `--resource-path` option is used.
|
||
|
||
* Added --abbreviations=FILE option for custom abbreviations file
|
||
(#256). Dfault abbreviations file (`data/abbreviations`) contains
|
||
a list of strings that will be recognized by pandoc's
|
||
Markdown parser as abbreviations. (A nonbreaking space will
|
||
be inserted after the period, preventing a sentence space in
|
||
formats like LaTeX.) Users can override the default by putting a file
|
||
abbreviations in their user data directory (`~/.pandoc` on *nix).
|
||
|
||
* Allow a theme file as argument to `--highlight-style`.
|
||
Also include a sample, `default.theme`, in `data/`.
|
||
|
||
* Allow `--syntax-definition` option for dynamic loading of syntax
|
||
highlighting definitions (#3334).
|
||
|
||
* Lists in `markdown` by default now use the CommonMark variable
|
||
nesting rules (#3511). The indentation required for a block-level
|
||
item to be included in a list item is no longer fixed, but is
|
||
determined by the first line of the list item. To be included in
|
||
the list item, a block must be indented to the level of the first
|
||
non-space content after the list marker. Exception: if are 5 or more
|
||
spaces after the list marker, then the content is interpreted as an
|
||
indented code block, and continuation paragraphs must be indented
|
||
two spaces beyond the end of the list marker. See the CommonMark
|
||
spec for more details and examples.
|
||
|
||
Documents that adhere to the four-space rule should, in most cases,
|
||
be parsed the same way by the new rules. Here are some examples
|
||
of texts that will be parsed differently:
|
||
|
||
- a
|
||
- b
|
||
|
||
will be parsed as a list item with a sublist; under the four-space
|
||
rule, it would be a list with two items.
|
||
|
||
- a
|
||
|
||
code
|
||
|
||
Here we have an indented code block under the list item, even though it
|
||
is only indented six spaces from the margin, because it is four spaces
|
||
past the point where a continuation paragraph could begin. With the
|
||
four-space rule, this would be a regular paragraph rather than a code
|
||
block.
|
||
|
||
- a
|
||
|
||
code
|
||
|
||
Here the code block will start with two spaces, whereas under
|
||
the four-space rule, it would start with `code`. With the four-space
|
||
rule, indented code under a list item always must be indented eight
|
||
spaces from the margin, while the new rules require only that it
|
||
be indented four spaces from the beginning of the first non-space
|
||
text after the list marker (here, `a`).
|
||
|
||
This change was motivated by a slew of bug reports from people
|
||
who expected lists to work differently (#3125, #2367, #2575, #2210,
|
||
#1990, #1137, #744, #172, #137, #128) and by the growing prevalance
|
||
of CommonMark (now used by GitHub, for example). Those who
|
||
prefer the old behavior can use `-f markdown+four_space_rule`.
|
||
|
||
* Added `four_space_rule` extension. This triggers the old pandoc
|
||
parsing rule for content nested under list items (the "four space
|
||
rule").
|
||
|
||
* Added `spaced_reference_links` extension (#2602). It allows whitespace
|
||
between the two parts of a reference link: e.g.
|
||
|
||
[a] [b]
|
||
|
||
[b]: url
|
||
|
||
This was previously enabled by default; now it is now forbidden by default.
|
||
|
||
* Add `space_in_atx_header` extension (#3512). This is enabled by default
|
||
in pandoc and GitHub markdown but not the other flavors.
|
||
This requirse a space between the opening #'s and the header
|
||
text in ATX headers (as CommonMark does but many other implementations
|
||
do not). This is desirable to avoid falsely capturing things ilke
|
||
|
||
#hashtag
|
||
|
||
or
|
||
|
||
#5
|
||
|
||
* Add `sourcefile` and `outputfile` template variables (Roland Hieber,
|
||
#3431).
|
||
|
||
* Allow ibooks-specific metadata in epubs (#2693). You can now have
|
||
the following fields in your YAML metadata, and it will be treated
|
||
appropriately in the generated EPUB:
|
||
|
||
```
|
||
ibooks:
|
||
version: 1.3.4
|
||
specified-fonts: false
|
||
ipad-orientation-lock: portrait-only
|
||
iphone-orientation-lock: landscape-only
|
||
binding: true
|
||
scroll-axis: vertical
|
||
```
|
||
|
||
|
||
[behavior changes]
|
||
|
||
* Reader functions no longer presuppose that CRs have been
|
||
stripped from the input. (They strip CRs themselves, before
|
||
parsing, to simply the parsers.)
|
||
|
||
* Added support for translations (localization) (#3559).
|
||
Currently this only affects the LaTeX reader, for things
|
||
like `\figurename`. Translation data files for 46 languages
|
||
can be found in `data/translations`.
|
||
|
||
* Make `--ascii` work with DocBook output too.
|
||
|
||
* Rename `--latex-engine` to `--pdf-engine`.
|
||
|
||
* Removed `--parse-raw` and `readerParseRaw`. These were confusing.
|
||
Now we rely on the `+raw_tex` or `+raw_html` extension with latex or html
|
||
input. Thus, instead of `--parse-raw -f latex` we use `-f latex+raw_tex`,
|
||
and instead of `--parse-raw -f html` we use `-f html+raw_html`.
|
||
|
||
* With `--filter` R filters are now recognized, even if they are
|
||
not executable (#3940, #3941, Andrie de Vries).
|
||
|
||
* Support SVG in PDF output, converting with `rsvg2pdf` (#1793).
|
||
|
||
* Make epub an alias for epub3, not epub2.
|
||
|
||
* Removed `--epub-stylesheet`; use `--css` instead (#3472, #847).
|
||
Multiple stylesheets may be used. Stylesheets will be taken both from
|
||
`--css` and from the `stylesheet` metadata field (which can contain
|
||
either a file path or a list of them).
|
||
|
||
* `--mathml` and MathML in HTMLMathMethod longer take an argument.
|
||
The argument was for a bridge javascript that used to be necessary
|
||
in 2004. We have removed the script already.
|
||
|
||
* `--katex` improvements. The latest version is used, and the
|
||
autoload script is loaded by default.
|
||
|
||
* Change MathJax CDN default since old one is shutting down (#3544).
|
||
Note: The new URL requires a version number, which we'll have
|
||
to update manually in subsequent pandoc releases in order to
|
||
take advantage of mathjax improvements.
|
||
|
||
* `--self-contained`: don't incorporate elements with `data-external="1"`
|
||
(#2656). You can leave an external link as it is by adding the attribute
|
||
data-external="1" to the element. Pandoc will then not try to
|
||
incorporate its content when `--self-contained` is used. This is
|
||
similar to a feature already supported by the EPUB writer.
|
||
|
||
* Allow `--extract-media` to work with non-binary input formats
|
||
(#1583, #2289). If `--extract-media` is supplied with a non-binary
|
||
input format, pandoc will attempt to extract the contents of all
|
||
linked images, whether in local files, data: uris, or external uris.
|
||
They will be named based on the sha1 hash of the contents.
|
||
|
||
* Make `papersize: a4` work regardless of the case of `a4`.
|
||
It is converted to `a4` in LaTeX and `A4` in ConTeXt.
|
||
|
||
* Make `east_asian_line_breaks` affect all readers/writers (#3703).
|
||
|
||
* Improved behavior of `auto_identifiers` when there are explicit ids
|
||
(#1745). Previously only autogenerated ids were added to the list
|
||
of header identifiers in state, so explicit ids weren't taken
|
||
into account when generating unique identifiers. Duplicated
|
||
identifiers could result. This simple fix ensures that explicitly given
|
||
identifiers are also taken into account.
|
||
|
||
* Use `table-of-contents` for contents of toc, make `toc` a boolean
|
||
(#2872). Changed markdown, rtf, and HTML-based templates accordingly.
|
||
This allows you to set `toc: true` in the metadata; this
|
||
previously produced strange results in some output formats.
|
||
For backwards compatibility, `toc` is still set to the
|
||
toc contents. But it is recommended that you update templates
|
||
to use `table-of-contents` for the toc contents and `toc`
|
||
for a boolean flag.
|
||
|
||
* Change behavior with binary format output to stdout.
|
||
Previously, for binary formats, output to stdout was disabled
|
||
unless we could detect that the output was being piped (and not
|
||
sent to the terminal). Unfortunately, such detection is not
|
||
possible on Windows, leaving windows users no way to pipe binary
|
||
output. So we have changed the behavior in the following way:
|
||
|
||
+ Output to stdout is allowed when it can be determined that
|
||
the output is being piped (on non-Windows platforms).
|
||
+ If the `-o` option is not used, binary output is never sent
|
||
to stdout by default; instead, an error is raised.
|
||
+ If `-o -` is used, binary output is sent to stdout, regardless
|
||
of whether it is being piped. This works on Windows too.
|
||
|
||
* Better error behavior: uses of `error` have been replaced by
|
||
raising of `PandocError`, which can be trapped and handled by the
|
||
calling program.
|
||
|
||
* Removed `hard_line_breaks` extension from `markdown_github` (#3594).
|
||
GitHub has two Markdown modes, one for long-form documents like READMEs
|
||
and one for short things like issue coments. In issue comments, a line
|
||
break is treated as a hard line break. In README, wikis, etc., it is
|
||
treated as a space as in regular Markdown. Since pandoc is more likely to
|
||
be used to convert long-form documents from GitHub Markdown,
|
||
`-hard_line_breaks` is a better default.
|
||
|
||
* Include `backtick_code_blocks` extension in `mardkown_mmd` (#3637).
|
||
|
||
* Escape `MetaString` values (as added with `-M/--metadata` flag) (#3792).
|
||
Previously they would be transmitted to the template without any
|
||
escaping. Note that `--M title='*foo*'` yields a different result from
|
||
|
||
---
|
||
title: *foo*
|
||
---
|
||
|
||
In the latter case, we have emphasis; in the former case, just
|
||
a string with literal asterisks (which will be escaped
|
||
in formats, like Markdown, that require it).
|
||
|
||
* Allow `em`, `cm`, `in` for image height/width in HTML, LaTeX (#3450).
|
||
|
||
* HTML writer: Insert `data-` in front of unsupported attributes. Thus,
|
||
a span with attribute `foo` gets written to HTML5 with `data-foo`, so
|
||
it is valid HTML5. HTML4 is not affected. This will allow us to use
|
||
custom attributes in pandoc without producing invalid HTML. (With help
|
||
from Wandmalfarbe, #3817.)
|
||
|
||
* Plain writer: improved super/subscript rendering. We now
|
||
handle more non-digit characters for which there are
|
||
sub/superscripted unicode characters. When unicode
|
||
sub/superscripted characters are not available, we use
|
||
`_(..)` or `^(..)` (#3518).
|
||
|
||
* Docbook, JATS, TEI writers: print INFO message when omitting interior
|
||
header (#3750). This only applies to section headers inside list items,
|
||
e.g., which were otherwise silently omitted.
|
||
|
||
* Change to `--reference-links` in Markdown writer (#3701). With
|
||
`--reference-location` of `section` or `block`, pandoc will now repeat
|
||
references that have been used in earlier sections. The Markdown
|
||
reader has also been modified, so that *exactly* repeated references
|
||
do not generate a warning, only references with the same label but
|
||
different targets. The idea is that, with references after every block,
|
||
one might want to repeat references sometimes.
|
||
|
||
* ODT/OpenDocument writer:
|
||
|
||
+ Support `lang` attribute (#1667).
|
||
+ Added support for `--toc` (#2836). Thanks to @anayrat.
|
||
|
||
* Docx writer:
|
||
|
||
+ `lang` meta, see #1667 (Mauro Bieg, #3515).
|
||
+ Change `FigureWithCaption` to `CaptionedFigure` (iandol, #3658).
|
||
+ Use `Table` rather than `Table Normal` for table style (#3275).
|
||
`Table Normal` is the default table style and can't be modified.
|
||
+ Pass through comments (#2994). We assume that comments are defined as
|
||
parsed by the docx reader:
|
||
|
||
I want <span class="comment-start" id="0" author="Jesse Rosenthal"
|
||
date="2016-05-09T16:13:00Z">I left a comment.</span>some text to
|
||
have a comment <span class="comment-end" id="0"></span>on it.
|
||
|
||
We assume also that the id attributes are unique and properly
|
||
matched between comment-start and comment-end.
|
||
+ Bookmark improvements. Bookmark start/end now surrounds content rather
|
||
than preceding it. Bookmarks generated for Div with id
|
||
(jgm/pandoc-citeproc#205).
|
||
+ Add `keywords` metadata to docx document properties (Ian).
|
||
|
||
* RST writer: support unknown interpreted text roles by
|
||
parsing them as `Span` with `role` attributes (#3407). This
|
||
way they can be manipulated in the AST.
|
||
|
||
* HTML writer:
|
||
|
||
+ Line block: Use class instead of style attribute (#1623). We now
|
||
issue `<div class="line-block">` and include a default definition
|
||
for `line-block` in the default templates, instead of hard-coding a
|
||
`style` on the div.
|
||
+ Add class `footnoteBack` to footnote back references (Timm Albers).
|
||
This allows for easier CSS styling.
|
||
+ Render SmallCaps as span with smallcaps class (#1592), rather than
|
||
using a style attribute directly. This gives the user more flexibility
|
||
in styling small caps in CSS.
|
||
+ With reveal.js we use `data-src` instead of `src` for images for
|
||
lazy loading.
|
||
+ Special-case `.stretch` class for images in reveal.js (#1291).
|
||
Now in reveal.js, an image with class `stretch` in a paragraph
|
||
by itself will stretch to fill the whole screen, with no
|
||
caption or figure environment.
|
||
|
||
* Added warnings for non-rendered blocks to writers.
|
||
|
||
* Writers now raise an error on template failure.
|
||
|
||
* When creating a PDF via LaTeX, warn if the font is missing some
|
||
characters (#3742).
|
||
|
||
* Remove initial check for PDF-creating program (#3819).
|
||
Instead, just try running it and raise the exception if it
|
||
isn't found at that point. This improves things for users of Cygwin
|
||
on Windows, where the executable won't be found by `findExecutable`
|
||
unless `.exe` is added. The same exception is raised as before, but
|
||
at a later point.
|
||
|
||
* Readers issue warning for duplicate header identifiers (#1745).
|
||
Autogenerated header identifiers are given suffixes so as not to clash
|
||
with previously used header identifiers. But they may still coincide with
|
||
an explicit identifier that is given for a header later in the document,
|
||
or with an identifier on a div, span, link, or image. We now issue
|
||
a warning in this case, so users can supply an explicit identifier.
|
||
|
||
* CommonMark reader now supports `emoji`, `hard_line_breaks`, `smart`,
|
||
and `raw_html` extensions.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Don't allow backslash + newline to affect block structure (#3730).
|
||
Note that as a result of this change, the following, which formerly
|
||
produced a header with two lines separated by a line break, will
|
||
now produce a header followed by a paragraph:
|
||
|
||
# Hi\
|
||
there
|
||
|
||
This may affect some existing documents that relied on
|
||
this undocumented and unintended behavior. This change makes pandoc
|
||
more consistent with other Markdown implementations, and with itself
|
||
(since the two-space version of a line break doesn't work inside ATX
|
||
headers, and neither version works inside Setext headers).
|
||
|
||
|
||
* Org reader (Albert Krewinkel, unless noted):
|
||
|
||
+ Support `table.el` tables (#3314).
|
||
+ Support macros (#3401).
|
||
+ Support the `#+INCLUDE:` file inclusion mechanism (#3510).
|
||
Recognized include types are `example`, `export`, `src`, and
|
||
normal org file inclusion. Advanced features like line numbers
|
||
and level selection are not implemented yet.
|
||
+ Interpret more meta value as inlines. The values of the following
|
||
meta variables are now interpreted using org-markup instead of
|
||
treating them as pure strings: `keywords` (comma-separated list of
|
||
inlines), `subtitle` (inline values), `nocite` (inline values, can
|
||
be repeated).
|
||
+ Support `\n` export option (#3940). This turns all newlines in the
|
||
text into hard linebreaks.
|
||
|
||
* RST reader:
|
||
|
||
+ Improved admonition support (#223). We no longer add an
|
||
`admonition` class, we just use the class for the type of admonition,
|
||
`note` for example. We put the word corresponding to the label in
|
||
a paragraph inside a `Div` at the beginning of the admonition with
|
||
class `admonition-title`. This is about as close as we can get to
|
||
RST's own output.
|
||
+ Initial support of `.. table` directive. This allows adding captions
|
||
to tables.
|
||
+ Support `.. line-block` directive. This is deprecated but may still
|
||
be in older documents.
|
||
+ Support scale and align attributes of images (#2662).
|
||
+ Implemented implicit internal header links (#3475).
|
||
+ Support RST-style citations (#853). The citations appear at the end
|
||
of the document as a definition list in a special div with id
|
||
`citations`. Citations link to the definitions.
|
||
+ Recurse into bodies of unknown directives (#3432).
|
||
In most cases it's better to preserve the content than
|
||
to emit it. This isn't guaranteed to have good results;
|
||
it will fail spectacularly for unknown raw or verbatim directives.
|
||
+ Handle chained link definitions (#262). For example,
|
||
|
||
.. _hello:
|
||
.. _goodbye: example.com
|
||
|
||
Here both `hello` and `goodbye` should link to `example.com`.
|
||
+ Support anchors (#262). E.g.
|
||
|
||
`hello`
|
||
|
||
.. _hello:
|
||
|
||
paragraph
|
||
|
||
This is supported by putting "paragraph" in a `Div` with id `hello`.
|
||
+ Support `:widths:` attribute for table directive.
|
||
+ Implement csv-table directive (#3533). Most attributes are supported,
|
||
including `:file:` and `:url:`.
|
||
+ Support unknown interpreted text roles by parsing them as Span
|
||
with "role" attributes (#3407). This way they can be manipulated in
|
||
the AST.
|
||
|
||
* HTML reader: parse a span with class `smallcaps` as `SmallCaps`.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Implemented `\graphicspath` (#736).
|
||
+ Properly handle column prefixes/suffixes. For example, in
|
||
`\begin{tabular}{>{$}l<{$}>{$}l<{$} >{$}l<{$}}`
|
||
each cell will be interpreted as if it has a `$`
|
||
before its content and a `$` after (math mode).
|
||
+ Handle komascript `\dedication` (#1845). It now adds a
|
||
`dedication` field to metadata. It is up to the user to supply
|
||
a template that uses this variable.
|
||
+ Support all `\textXX` commands, where XX = `rm`, `tt`, `up`, `md`,
|
||
`sf`, `bf` (#3488). Spans with a class are used when there is
|
||
nothing better.
|
||
+ Expand `\newenvironment` macros (#987).
|
||
+ Add support for LaTeX subfiles package (Marc Schreiber, #3530).
|
||
+ Better support for subfigure package (#3577).
|
||
A figure with two subfigures turns into two pandoc
|
||
figures; the subcaptions are used and the main caption
|
||
ignored, unless there are no subcaptions.
|
||
+ Add support for \vdots (Marc Schreiber, #3607).
|
||
+ Add basic support for hyphenat package (Marc Schreiber, #3603).
|
||
+ Add basic `\textcolor` support (Marc Schreiber).
|
||
+ Add support for `tabularx` environment (Marc Schreiber, #3632).
|
||
+ Better handling of comments inside math environments (#3113).
|
||
This solves a problem with commented out `\end{eqnarray}` inside
|
||
an eqnarray (among other things).
|
||
+ Parse tikzpicture as raw verbatim environment if `raw_tex` extension
|
||
is selected (#3692). Otherwise skip with a warning. This is better
|
||
than trying to parse it as text!
|
||
+ Add `\colorbox` support (Marc Schreiber).
|
||
+ Set identifiers on Spans used for `\label`.
|
||
+ Have `\setmainlanguage` set `lang` in metadata.
|
||
+ Support etoolbox's `\ifstrequal`.
|
||
+ Support `plainbreak`, `fancybreak` et al from the memoir class
|
||
(bucklereed, #3833).
|
||
+ Support `\let`. Also, fix regular macros so they're expanded at the
|
||
point of use, and NOT also the point of definition. `\let` macros,
|
||
by contrast, are expanded at the point of definition. Added an
|
||
`ExpansionPoint` field to `Macro` to track this difference.
|
||
+ Support simple `\def` macros. Note that we still don't support
|
||
macros with fancy parameter delimiters, like `\def\foo#1..#2{...}`.
|
||
+ Support \chaptername, \partname, \abstractname, etc. (#3559,
|
||
obsoletes #3560).
|
||
+ Put content of `\ref`, `\label`, `\eqref` commands into `Span` with
|
||
attributes, so they can be handled in filters (Marc Schreiber, #3639)
|
||
+ Add Support for `glossaries` and `acronym` package (Marc Schreiber,
|
||
#3589). Acronyms are not resolved by the reader, but acronym and
|
||
glossary information is put into attributes on Spans so that they
|
||
can be processed in filters.
|
||
+ Use `Link` instead of `Span` for `\ref`. This makes more sense
|
||
semantically and avoids unnecessary `Span [Link]` nestings when
|
||
references are resolved.
|
||
+ Rudimentary support for `\hyperlink`.
|
||
+ Support `\textquoteleft|right`, `\textquotedblleft|right` (#3849).
|
||
+ Support `\lq`, `\rq`.
|
||
+ Implement `\newtoggle`, `\iftoggle`, `\toggletrue|false` from etoolbox
|
||
(#3853).
|
||
+ Support `\RN` and `\Rn`, from biblatex (bucklereed, #3854).
|
||
+ Improved support for `\hyperlink`, `\hypertarget` (#2549).
|
||
+ Support `\k` ogonek accent.
|
||
+ Improve handling of accents. Handle ogonek, and fall back correctly
|
||
with forms like `\"{}`.
|
||
+ Better support for ogonek accents.
|
||
+ Support for `\faCheck` and `\faClose` (Marc Schreiber, #3727).
|
||
+ Support for `xspace` (Marc Schreiber, #3797).
|
||
+ Support `\setmainlanguage` or `\setdefaultlanguage` (polyglossia)
|
||
and `\figurename`.
|
||
+ Better handling of `\part` in LaTeX (#1905). Now we parse chapters as
|
||
level 0 headers, and parts as level -1 headers. After parsing, we
|
||
check for the lowest header level, and if it's less than 1 we bump
|
||
everything up so that 1 is the lowest header level. So `\part` will
|
||
always produce a header; no command-line options are needed.
|
||
+ Add block version of `\textcolor` (Marc Schreiber).
|
||
+ `\textcolor` works as inline and block command (Marc Schreiber).
|
||
+ `\textcolor` will be parse as span at the beginning of a paragraph
|
||
(Marc Schreiber).
|
||
+ Read polyglossia/babel `\text(LANG){...}` (bucklereed)
|
||
+ Improved handling of include files in LaTeX reader (#3971).
|
||
Previously `\include` wouldn't work if the included file
|
||
contained, e.g., a begin without a matching end.
|
||
+ Support `\expandafter` (#3983).
|
||
+ Handle `\DeclareRobustCommand` (#3983). Currently it's just treated
|
||
as a synonym for `\newcommand`.
|
||
+ Handle `\lettrine` (Mauro Bieg).
|
||
|
||
* Math improvements due to updates in texmath:
|
||
|
||
+ Improved handling of accents and upper/lower delimiters.
|
||
+ Support for output in GNU eqn format (used with *roff).
|
||
+ Allow `\boldsymbol` + a token without braces, and similarly
|
||
with other styling commands.
|
||
+ Improve parsing of `\mathop` to allow multi-character operator names.
|
||
+ Add thin space after math operators when "faking it with
|
||
unicode."
|
||
|
||
* `walk` is now used instead of `bottomUp` in the `ToJSONFilter`
|
||
instance for `a -> [a]` (pandoc-types). Note that behavior
|
||
will be slightly different, since `bottomUp`'s treatment of
|
||
a function `[a] -> [a]` is to apply it to each sublist of a
|
||
list, while walk applies it only to maximal sublists.
|
||
Usually the latter behavior is what is wanted, and the
|
||
former can be simulated when needed. But there may be
|
||
existing filters that need to be rewritten in light of the
|
||
new behavior. Performance should be improved.
|
||
|
||
* There are some changes to syntax highlighting due to revisions
|
||
in the `skylighting` library:
|
||
|
||
+ Support for `powershell` has been added, and many syntax
|
||
definitions have been updated.
|
||
+ Background colors have been added to the `kate` style.
|
||
+ The way highlighted code blocks are formatted in HTML has
|
||
been changed (David Baynard), in ways that may require
|
||
changes in hard-coded CSS affecting highlighting.
|
||
(If you haven't included hard-coded highlighting CSS in
|
||
your template, you needn't change anything.)
|
||
|
||
|
||
[API changes]
|
||
|
||
* New module `Text.Pandoc.Class` (Jesse Rosenthal, John MacFarlane).
|
||
This contains definitions of the `PandocMonad` typeclass, the
|
||
`PandocIO` and `PandocPure` monads, and associated functions.
|
||
|
||
* Changed types of all writers and readers.
|
||
|
||
+ We now use `Text` instead of `String` in the interface (#3731).
|
||
(We have not yet changed the internals of most readers to work
|
||
with `Text`, but making this change in the API now opens up a
|
||
path to doing that.)
|
||
+ The result is now of form `m a` with constraint `PandocMonad m`.
|
||
Readers and writers can be combined to form monadic values which
|
||
can be run using either `runIO` or `runPure`. If `runIO` is used,
|
||
then both readers and writers will be able to do IO when needed
|
||
(for include files, for example); if `runPure` is used,
|
||
then the functions are pure and will not touch IO.
|
||
+ Where previously you used
|
||
`writeRST def (readMarkdown def "[foo](url)")`, now you
|
||
would use
|
||
`runPure $ readMarkdown def (pack "[foo](url)") >>= writeRST def`.
|
||
|
||
* New module `Text.Pandoc.Readers` (Albert Krewinkel). This
|
||
contains reader helper functions formerly defined in the
|
||
top-level `Text.Pandoc` module.
|
||
|
||
+ Changed `StringReader` -> `TextReader`.
|
||
+ `getReader` now returns a pair of a reader and
|
||
`Extensions`, instead of building the extensions into the
|
||
reader (#3659). The calling code must explicitly set
|
||
`readerExtensions` using the `Extensions` returned. The
|
||
point of the change is to make it possible for the calling
|
||
code to determine what extensions are being used.
|
||
|
||
* New module `Text.Pandoc.Writers` (Albert Krewinkel).
|
||
This contains writer helper functions formerly defined in the
|
||
top-level `Text.Pandoc` module.
|
||
|
||
+ Changed `StringWriter` -> `TextWriter`.
|
||
+ `getWriter` now retuns a pair of a reader and
|
||
`Extensions`, instead of building the extensions into the
|
||
reader (#3659). The calling code must explicitly set
|
||
`readerExtensions` using the `Extensions` returned. The
|
||
point of the change is to make it possible for the calling
|
||
code to determine what extensions are being used.
|
||
|
||
* New module `Text.Pandoc.Lua`, exporting `runLuaFilter` (Albert Krewinkel,
|
||
#3514).
|
||
|
||
* New module `Text.Pandoc.App`. This abstracts out the functionality
|
||
of the command line program (`convertWithOpts`), so it can be reproduced
|
||
e.g. in a desktop or web application. Instead of exiting, we throw errors
|
||
(#3548), which are caught (leading to exit) in pandoc.hs, but allow other
|
||
users of `Text.Pandoc.App` to recover. `pandoc.hs` is now a 2-liner.
|
||
The module also exports some utility functions for parsing options
|
||
and running filters.
|
||
|
||
* New module `Text.Pandoc.Logging` (exported module) (#3392).
|
||
This now contains the `Verbosity` definition previously in
|
||
`Text.Pandoc.Options`, as well as a new `LogMessage` datatype that will
|
||
eventually be used instead of raw strings for warnings. This will enable
|
||
us, among other things, to provide machine-readable warnings if desired.
|
||
Include ToJSON instance and showLogMessage. This gives us the possibility
|
||
of both machine-readable and human-readable output for log messages.
|
||
|
||
* New module `Text.Pandoc.BCP47`, with `getLang`, `Lang(..)`, `parseBCP47`.
|
||
|
||
* New module `Text.Pandoc.Translations`, exporting `Term`,
|
||
`Translations`, `readTranslations`.
|
||
|
||
* New module `Text.Pandoc.Readers.LaTeX.Types', exporting `Macro`, `Tok`,
|
||
`TokType`, `Line`, `Column`.
|
||
|
||
* `Text.Pandoc.Error`: added many new constructors for `PandocError`.
|
||
|
||
* Expose some previously private modules (#3260). These are often
|
||
helpful to people writing their own reader or writer modules:
|
||
|
||
+ `Text.Pandoc.Writers.Shared`
|
||
+ `Text.Pandoc.Parsing`
|
||
+ `Text.Pandoc.Asciify`
|
||
+ `Text.Pandoc.Emoji`
|
||
+ `Text.Pandoc.ImageSize`
|
||
+ `Text.Pandoc.Highlighting`
|
||
`
|
||
* New module `Text.Pandoc.Extensions` (Albert Krewinkel):
|
||
Extension parsing and processing functions were defined in the top-level
|
||
`Text.Pandoc` module. These functions are moved to the Extensions
|
||
submodule as to enable reuse in other submodules.
|
||
|
||
* Add `Ext_raw_attribute` constructor for `Extension`.
|
||
|
||
* Add `Ext_fenced_divs` constructor for `Extension'.
|
||
|
||
* Add `Ext_four_space_rule` constructor in `Extension`.
|
||
|
||
* Add `Ext_gfm_auto_identifiers` constructor for `Extension`.
|
||
|
||
* Add `Monoid` instance for `Extensions`.
|
||
|
||
* Add `Text.Pandoc.Writers.Ms`, exporting `writeMs`.
|
||
|
||
* Add `Text.Pandoc.Writers.JATS`, exporting `writeJATS`.
|
||
|
||
* Add `Text.Pandoc.Writers.Muse`, exporting `writeMuse`.
|
||
|
||
* Add `Text.Pandoc.Readers.Muse`, exporting `readMuse`.
|
||
|
||
* Add `Text.Pandoc.Readers.TikiWiki`, exporting `readTikiWiki`.
|
||
|
||
* Add `Text.Pandoc.Readers.Vimwiki`, exporting `readVimwiki`.
|
||
|
||
* Add `Text.Pandoc.Readers.Creole`, exporting `readCreole`.
|
||
|
||
* Export `setVerbosity` from `Text.Pandoc`.
|
||
|
||
* `Text.Pandoc.Pretty`: Add `Eq` instance for `Doc`.
|
||
|
||
* `Text.Pandoc.XML`: `toEntities`: changed type to `Text -> Text`.
|
||
|
||
* `Text.Pandoc.UTF8`:
|
||
|
||
+ Export `fromText`, `fromTextLazy`, `toText`, `toTextLazy`.
|
||
Define `toString`, `toStringLazy` in terms of them.
|
||
+ Add new functions parameterized on `Newline`: `writeFileWith`,
|
||
`putStrWith`, `putStrLnWith`, `hPutStrWith`, `hPutStrLnWith`.
|
||
|
||
* `Text.Pandoc.MediaBag`: removed `extractMediaBag`.
|
||
|
||
* `Text.Pandoc.Highlighting`:
|
||
|
||
+ `highlighting` now returns an Either rather than Maybe.
|
||
This allows us to display error information returned by the skylighting
|
||
library. Display a warning if the highlighting library throws an error.
|
||
+ Add parameter for `SyntaxMap` to `highlight`.
|
||
|
||
* `Text.Pandoc.Writers.Math`:
|
||
|
||
+ Export `defaultMathJaxURL`, `defaultKaTeXURL`. This will ensure that
|
||
we only need to update these in one place.
|
||
|
||
* `Text.Pandoc.SelfContained`:
|
||
|
||
+ Removed `WriterOptions` parameter from `makeSelfContained`.
|
||
+ Put `makeSelfContained` in PandocMonad instead of IO. This removes
|
||
the need to pass MediaBag around and improves exceptions. It also
|
||
opens up the possibility of using makeSelfContained purely.
|
||
+ Export `makeDataURI`.
|
||
|
||
* `Text.Pandoc.ImageSize`:
|
||
|
||
+ Export `lengthToDim`, new function `scaleDimension`.
|
||
+ Export `inEm` from ImageSize (#3450).
|
||
+ Change `showFl` and `show` instance for `Dimension` so
|
||
extra decimal places are omitted.
|
||
+ Added `Em` as a constructor of `Dimension`.
|
||
+ Add `WriterOptions` parameter to `imageSize` signature (Mauro Bieg).
|
||
|
||
* `Text.Pandoc.Templates`:
|
||
|
||
+ Change type of `renderTemplate'`. Now it runs in `PandocMonad`
|
||
and raises a proper `PandocTemplateError` if there are problems, rather
|
||
than failing with uncatchable `error`.
|
||
+ Change signature of `getDefaultTemplate`. Now it runs in any instance
|
||
of `PandocMonad`, and returns a `String` rather than an `Either` value.
|
||
And it no longer takes a `datadir` parameter, since this can be
|
||
retrieved from `CommonState`.
|
||
|
||
* `Text.Pandoc.Options`:
|
||
|
||
+ Added `writerEpubSubdirectory` to `WriterOptions` (#3720).
|
||
The EPUB writer now takes its EPUB subdirectory from this option.
|
||
+ In `WriterOptions`, rename `writerLaTeXEngine` to `writerPdfEngine`
|
||
and `writerLaTeXArgs` to `writerPdfArgs` (Mauro Bieg, #3909).
|
||
+ Add `writerSyntaxMap` to `WriterOptions`.
|
||
+ Removed `writerEpubStylesheet` from `WriterOptions`.
|
||
+ Remove `writerUserDataDir` from `WriterOptions`. It is now carried
|
||
in `CommonState` in `PandocMonad` instances. (And thus it can be used
|
||
by readers too.)
|
||
+ Changed `writerEpubMetadata` to a `Maybe String`.
|
||
+ Removed `readerApplyMacros` from `ReaderOptions`. Now we just check
|
||
the `latex_macros` reader extension.
|
||
+ FromJSON/ToJSON instances for `ReaderOptions`.
|
||
+ In `HTMLMathMethod`, the `KaTeX` contsructor now takes only
|
||
one string (for the KaTeX base URL), rather than two.
|
||
+ Removed `writerSourceURL` from `WriterOptions`. We now use
|
||
`stSourceURL` in `CommonState`, which is set by `setInputFiles`.
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ `tabFilter` now takes a `Text`, not `String`.
|
||
+ `openURL`: Changed type from an Either. Now it will just raise
|
||
an exception to be trapped later.
|
||
+ Remove `normalizeSpaces` (#1530).
|
||
+ Remove `warn`. (Use `report` from `Text.Pandoc.Class` instead.)
|
||
+ Export a new function `crFilter`.
|
||
+ Added `eastAsianLineBreakFilter` (previously in Markdown reader).
|
||
+ Provide custom `isURI` that rejects unknown schemes.
|
||
(Albert Krewinkel, #2713). We also export the set of known
|
||
`schemes`. The new function replaces the function of the same name
|
||
from `Network.URI`, as the latter did not check whether a scheme is
|
||
well-known. All official IANA schemes (as of 2017-05-22) are
|
||
included in the set of known schemes. The four non-official schemes
|
||
`doi`, `isbn`, `javascript`, and `pmid` are kept.
|
||
+ Removed `err`.
|
||
+ Removed `readDataFile`, `readDefaultDataFile`, `getReferenceDocx`,
|
||
`getReferenceODT`. These now live in `Text.Pandoc.Class`,
|
||
where they are defined in terms of `PandocMonad`
|
||
primitives and have different signatures.
|
||
+ Remove `openURL`. Use `openURL` from `Text.Pandoc.Class` instead.
|
||
|
||
* `Text.Pandoc.Readers.HTML`: export new `NamedTag` class.
|
||
|
||
* `Text.Pandoc.Readers.Markdown`: remove `readDocxWithWarnings`.
|
||
With the new API one can simply use `getLog` after running
|
||
the reader.
|
||
|
||
* `Text.Pandoc.Readers.LaTeX`: Changed types for `rawLaTeXInline`
|
||
and `rawLaTeXBlock`. (Both now return a `String`, and they are
|
||
polymorphic in state.)
|
||
|
||
|
||
[bug fixes and under-the-hood improvements]
|
||
|
||
* TEI writer: Added identifiers on `<div>` elements.
|
||
|
||
* DokuWiki reader: Better handling for code block in list item (#3824).
|
||
|
||
* Custom writer: Remove old preprocesesor conditionals (Albert Krewinkel).
|
||
|
||
* ZimWiki writer: Removed internal formatting from note and table cells,
|
||
because ZimWiki does not support it (Alex Ivkin, #3446).
|
||
|
||
* MediaWiki writer:
|
||
|
||
+ Updated list of syntax highlighting languages (#3461).
|
||
Now `r` gets you `<source>` rather than `<code>` (among others).
|
||
+ Add display attribute on `<math>` tags (#3452). This allows display
|
||
math to be rendered properly.
|
||
+ Remove newline before `</ref>` (#2652).
|
||
+ Don't softbreak lines inside list items (#3531).
|
||
|
||
* Org writer:
|
||
|
||
+ Reduce to two spaces after bullets (#3417, Albert Krewinkel).
|
||
+ Add unit tests (Alexander Krotov).
|
||
+ Stop using raw HTML to wrap divs (Albert Krewinkel, #3771).
|
||
+ Do not strip `#` from Org anchor links (Alexander Krotov).
|
||
|
||
* CommonMark writer:
|
||
|
||
+ Avoid excess blank lines at end of output.
|
||
+ Prefer pipe tables to HTML tables even if it means losing relative
|
||
column width information (#3734).
|
||
+ Support table, strikethrough extensions, when enabled (as with gfm).
|
||
Note that we bypass the commonmark writer from cmark and construct our
|
||
own pipe tables, with better results.
|
||
+ Properly support `--wrap=none`.
|
||
+ Use smallcaps class for `SmallCaps` (#1592).
|
||
+ Omit "fig:" prefix in image titles. This is used internally to
|
||
indicate internal figures.
|
||
|
||
* RST writer:
|
||
|
||
+ Properly handle table captions.
|
||
+ Don't wrap lines in in definition list terms. Wrapping is not allowed.
|
||
+ Implemented `+/-smart` and improved escaping with `+smart`.
|
||
+ Add empty comments when needed to avoid including a blockquote
|
||
in the indented content of a preceding block (#3675).
|
||
+ Improve grid table output, fix bug with empty rows (#3516).
|
||
Uses the new `gridTable` in Writers.Shared, which is here
|
||
improved to better handle 0-width cells.
|
||
+ Remove space at beginning/end of RST code span (#3496). Otherwise
|
||
we get invalid RST. There seems to be no way to escape the space.
|
||
+ Add header anchors when header has non-standard id (#3937).
|
||
+ Correctly handle inline code containing backticks, using a `:literal:`
|
||
role (#3974).
|
||
+ Don't backslash-escape word-internal punctuation (#3978).
|
||
|
||
* Markdown writer:
|
||
|
||
+ Don't include variables in metadata blocks. Previously variables set
|
||
on the command line were included in e.g. YAML metadata, contrary to
|
||
documentation and intentions.
|
||
+ Improved escaping with `+smart`.
|
||
+ Fixed grid tables embedded in grid tables (#2834).
|
||
+ Use span with class 'smallcaps' for SmallCaps, instead of a style
|
||
attribute as before (#1592).
|
||
+ Escape initial `%` in a paragraph if the `pandoc_title_blocks`
|
||
extension is enabled (#3454). Otherwise in a document starting with
|
||
a literal `%` the first line is wrongly interpreted as a title.
|
||
+ Fixed false ordered lists in YAML metadata (#3492, #1685). Now we
|
||
properly escape things that would otherwise start ordered lists,
|
||
such as
|
||
|
||
---
|
||
title: 1. inline
|
||
...
|
||
+ Better handling of tables with empty columns (#3337). We now
|
||
calculate the number of columns based on the longest row (or the
|
||
length of aligns or widths).
|
||
+ Escape unordered list markers at beginning of paragraph (#3497), to
|
||
avoid false interpretation as a list.
|
||
+ Escape `|` appropriately.
|
||
+ Ensure space before list at top level (#3487).
|
||
+ Avoid spurious blanklines at end of document after tables and list,
|
||
for example.
|
||
+ Fixed bugs in simple/multiline list output (#3384).
|
||
Previously we got overlong lists with `--wrap=none`. This is fixed.
|
||
Previously a multiline list could become a simple list (and would
|
||
always become one with `--wrap=none`).
|
||
+ Don't emit a simple table if `simple_tables` disabled (#3529).
|
||
+ Case-insensitive reference links (David A Roberts, #3616).
|
||
Ensure that we do not generate reference links whose labels differ only
|
||
by case. Also allow implicit reference links when the link
|
||
text and label are identical up to case.
|
||
+ Put space before reference link definitions (Mauro Bieg, #3630).
|
||
+ Better escaping for links (David A. Roberts, #3619). Previously the
|
||
Markdown writer would sometimes create links where there were none
|
||
in the source. This is now avoided by selectively escaping bracket
|
||
characters when they occur in a place where a link might be created.
|
||
+ Added missing `\n` (David A. Roberts, #3647).
|
||
+ Fixed duplicated reference links with `--reference-links`
|
||
and `--reference-location=section` (#3674). Also ensure that there
|
||
are no empty link references `[]`.
|
||
+ Avoid inline surround-marking with empty content (#3715).
|
||
E.g. we don't want `<strong></strong>` to become `****`.
|
||
Similarly for emphasis, super/subscript, strikeout.
|
||
+ Don't allow soft break in header (#3736).
|
||
+ Make sure `plain`, `markdown_github`, etc. work for raw.
|
||
Previously only `markdown` worked. Note: currently a raw block labeled
|
||
`markdown_github` will be printed for any `markdown` format.
|
||
+ Ensure that `+` and `-` are escaped properly so they don't cause
|
||
spurious lists (#3773). Previously they were only
|
||
if succeeded by a space, not if they were at end of line.
|
||
+ Use pipe tables if `raw_html` disabled and `pipe_tables` enabled,
|
||
even if the table has relative width information (#3734).
|
||
+ Markdown writer: don't crash on `Str ""`.
|
||
+ Make `Span` with null attribute transparent. That is, we don't use
|
||
brackets or `<span>` tags to mark spans when there are no attributes;
|
||
we simply output the contents.
|
||
+ Escape pipe characters when `pipe_tables` enabled (#3887).
|
||
+ Better escaping of `<` and `>`. If `all_symbols_escapable` is set,
|
||
we backslash escape these. Otherwise we use entities as before.
|
||
+ When writing plain, don't use ` ` to separate list and indented
|
||
code. There's no need for it in this context, since this isn't to be
|
||
interpreted using Markdown rules.
|
||
+ Preserve classes in JS obfuscated links (Timm Albers, #2989).
|
||
HTML links containing classes originally now preserve them when using
|
||
javascript email obfuscation.
|
||
+ Render `SmallCaps` as a native span when `native_spans` are enabled.
|
||
+ Always write attributes with `bracketed_spans` (d-dorazio).
|
||
|
||
* Man writer:
|
||
|
||
+ Fix handling of nested font commands (#3568). Previously pandoc emitted
|
||
incorrect markup for bold + italic, for example, or bold + code.
|
||
+ Avoid error for definition lists with no definitions (#3832).
|
||
|
||
* DocBook writer:
|
||
|
||
+ Fix internal links with `writerIdentifierPrefix opt`
|
||
(#3397, Maura Bieg).
|
||
|
||
* Docx writer:
|
||
|
||
+ Don't include bookmarks on headers unless non-null id (#3476).
|
||
+ Support 9 levels of headers (#1642).
|
||
+ Allow 9 list levels (#3519).
|
||
+ Don't take `distArchive` from datadir (#3322). The docx writer takes
|
||
components from the distribution's version of `reference.docx` when it
|
||
can't find them in a user's custom `reference.docx`. Previously, we
|
||
allowed a `reference.docx` in the data directory (e.g. `~/.pandoc`)
|
||
to be used as the distribution's reference.docx. This led to a
|
||
bizarre situation where pandoc would produce a good docx using
|
||
`--template ~/.pandoc/ref.docx`, but if `ref.docx` were moved to
|
||
`~/.pandoc/reference.docx`, it would then produce a corrupted docx.
|
||
+ Fixed handling of soft hyphen (0173) (#3691).
|
||
+ Better handling of keywords (#3719).
|
||
+ Cleaner code for handling dir and style attributes for `Div`.
|
||
+ Use `Set` for dynamic styles to avoid duplicates.
|
||
+ Removed redundant element from data/docx/word/numbering.xml.
|
||
The elements we need are generated when the document is
|
||
compiled; this didn't do anything.
|
||
+ Activate `evenAndOddHeaders` from reference docx (#3901,
|
||
Augustín Martín Barbero).
|
||
|
||
* ODT/OpenDocument writer:
|
||
|
||
+ Calculate aspect ratio for percentage-sized images (Mauro Bieg, #3239).
|
||
+ Use more widely available bullet characters (#1400). The old
|
||
characters weren't available in some font sets. These seem to work
|
||
well on Windows and Linux versions of LibreOffice.
|
||
+ Wider labels for lists (#2421). This avoids overly narrow labels for
|
||
ordered lists with `()` delimiters. However, arguably it creates
|
||
overly wide labels for bullets. Also, lists now start flush with
|
||
the margin, rather than indented.
|
||
+ Fixed dropped elements in some ordered lists (#2434).
|
||
|
||
* FB2 writer:
|
||
|
||
+ Don't render `RawBlock` as code.
|
||
+ Don't fail with an error on interior headers (e.g. in list) (#3750).
|
||
Instead, omit them with an INFO message.
|
||
+ Add support for "lang" metadata (Alexander Krotov, #3625).
|
||
+ Format `LineBlock` as poem (Alexander Krotov). Previously writer
|
||
produced one paragraph with `<empty-line/>` elements, which are not
|
||
allowed inside `<p>` according to FB2 schema.
|
||
+ Replace `concatMap` with `cMap` (Alexander Krotov).
|
||
|
||
* HTML writer:
|
||
|
||
+ Make sure `html4`, `html5` formats work for raw blocks/inlines.
|
||
+ Render raw inline environments when `--mathjax` used (#3816).
|
||
We previously did this only with raw blocks, on the assumption
|
||
that math environments would always be raw blocks. This has changed
|
||
since we now parse them as inline environments.
|
||
+ Ensure we don't get two style attributes for width and height.
|
||
+ Report when not rendering raw inline/block.
|
||
+ Issue warning if no title specified and template used (#3473).
|
||
+ Info message if `lang` is unspecified (#3486).
|
||
+ Removed unused parameter in `dimensionsToAttributeList`.
|
||
+ Avoid two class attributes when adding `uri` class (#3716).
|
||
+ Fix internal links with `writerIdentifierPrefix opt` (#3397, Maura
|
||
Bieg).
|
||
+ Use revealjs's math plugin for mathjax (#3743). This is a thin
|
||
wrapper around mathjax that makes math look better on revealjs.
|
||
+ Slidy: use h1 for all slides, even if they were originally
|
||
level 2 headers (#3566). Otherwise the built-in table of contents
|
||
in Slidy breaks.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Don't render LaTeX images with data: URIs (#3636). Note that
|
||
`--extract-media` can be used when the input contains data: URIs.
|
||
+ Make highlighted code blocks work in footnotes (Timm Albers).
|
||
+ Don't use figure inside table cell (#3836).
|
||
+ Use proper code for list enumerators (#3891). This should fix problems
|
||
with lists that don't use arabic numerals.
|
||
+ Always add hypertarget when there's a non-empty identifier (#2719).
|
||
Previously the hypertargets were only added when there was actually
|
||
a link to that identifier.
|
||
+ Use `%` after hypertarget before code block.
|
||
+ Add `\leavevmode` before hypertarget at start of paragraph (#2704,
|
||
fixes formatting problems in beamer citations).
|
||
+ Don't use `lstinline` in \item[..] (#645). If you do, the contents
|
||
of item disappear or are misplaced. Use `\texttt` instead.
|
||
+ Fix problem with escaping in `lstinline` (#1629). Previously the
|
||
LaTeX writer created invalid LaTeX when `--listings` was specified and
|
||
a code span occured inside emphasis or another construction.
|
||
+ Fix error with line breaks after empty content (#2874). LaTeX
|
||
requires something before a line break, so we insert a `~` if no
|
||
printable content has yet been emitted.
|
||
+ Use BCP47 parser.
|
||
+ Fixed detection of otherlangs (#3770). We weren't recursing into
|
||
inline contexts.
|
||
+ Handle language in inline code with `--listings` (#3422).
|
||
+ Write euro symbol directly in LaTeX (Andrew Dunning, #3801).
|
||
The textcomp package allows pdfLaTeX to parse `€` directly, making the
|
||
`\euro` command unneeded.
|
||
+ Fixed footnotes in table captions (#2378). Note that if the table has
|
||
a first page header and a continuation page header, the notes will
|
||
appear only on the first occurrence of the header.
|
||
+ In `writeBeamer` output, allow hyperlinks to frames (#3220).
|
||
Previously you could link to a header above or below slide level but
|
||
not *to* slide level. This commit changes that. Hypertargets are
|
||
inserted inside frame titles; technically the reference is to just
|
||
after the title, but in normal use (where slides are viewed full
|
||
screen in a slide show), this does not matter.
|
||
+ Remove `\strut` at beginning of table cells (#3436). This fixes a
|
||
problem with alignment of lists in table cells. The `\strut` at the
|
||
end seems to be enough to avoid the too-close spacing that motivated
|
||
addition of the strut in #1573.
|
||
+ Add partial siunitx Support (Marc Schreiber, #3588).
|
||
|
||
* ConTeXt writer:
|
||
|
||
+ Refactored to use BCP47 module.
|
||
+ Remove unnecessary `$` (Alexander Krotov, #3482).
|
||
+ Use header identifiers for chapters (#3968).
|
||
|
||
* EPUB writer:
|
||
|
||
+ `title_page.xhtml` is now put in `text/`.
|
||
+ Don't strip formatting in TOC (#1611).
|
||
|
||
* Textile reader:
|
||
|
||
+ Fix bug for certain links in table cells (#3667).
|
||
+ Allow 'pre' code in list item (#3916).
|
||
|
||
* HTML reader:
|
||
|
||
+ Added warnings for ignored material (#3392).
|
||
+ Better sanity checks to avoid parsing unintended things as
|
||
raw HTML in the Markdown reader (#3257).
|
||
+ Revise treatment of `li` with `id` attribute (#3596). Previously we
|
||
always added an empty div before the list item, but this created
|
||
problems with spacing in tight lists. Now we do this: If the list
|
||
item contents begin with a `Plain` block, we modify the `Plain`
|
||
block by adding a `Span` around its contents. Otherwise, we add a
|
||
`Div` around the contents of the list item (instead of adding an
|
||
empty `Div` to the beginning, as before).
|
||
+ Add `details` tag to list of block tags (#3694).
|
||
+ Removed `button` from block tag list (#3717). It is already in the
|
||
`eitherBlockOrInlineTag` list, and should be both places.
|
||
+ Use `Set`s instead of lists for block tag lookup.
|
||
+ Rewrote to use `Text` throughout. Effect on memory usage is modest
|
||
(< 10%).
|
||
+ Use the lang value of `<html>` to set the lang meta value (bucklereed,
|
||
#3765).
|
||
+ Ensure that paragraphs are closed properly when the parent block
|
||
element closes, even without `</p>` (#3794).
|
||
+ Parse `<figure>` and `<figcaption>` (Mauro Bieg, #3813).
|
||
+ Parse `<main>` like `<div role=main>` (bucklereed, #3791).
|
||
`<main>` closes `<p>` and behaves like a block element generally
|
||
+ Support column alignments (#1881). These can be set either
|
||
with a `width` attribute or with `text-width` in a `style` attribute.
|
||
+ Modified state type to be an instance of `HasLogMessages`, so
|
||
`registerHeader` can issue warnings.
|
||
+ `</td>` or `</th>` should close any open block tag (#3991).
|
||
+ `<td>` should close an open `<th>` or `<td>`.
|
||
+ `htmlTag` improvements (#3989). We previously failed on cases
|
||
where an attribute contained a `>` character. This patch fixes the
|
||
bug, which especially affects raw HTML in Markdown.
|
||
|
||
* Txt2Tags reader:
|
||
|
||
+ Newline is not indentation (Alexander Krotov).
|
||
|
||
* MediaWiki reader:
|
||
|
||
+ Allow extra hyphens after `|-` in tables (#2649).
|
||
+ Allow blank line after table start (#2649).
|
||
+ Fixed more table issues (#2649).
|
||
+ Ensure that list starts begin at left margin (#2606). Including when
|
||
they're in tables or other list items.
|
||
+ Make smart double quotes depend on `smart` extension (#3585).
|
||
+ Don't do curly quotes inside `<tt>` contexts (#3585). Even if `+smart`.
|
||
+ Modified state type to be an instance of `HasLogMessages`, so
|
||
`registerHeader` can issue warnings.
|
||
|
||
* TWiki reader (Alexander Krotov):
|
||
|
||
+ Remove unnecessary `$` (#3597).
|
||
+ Simplify `linkText` (#3605).
|
||
|
||
* EPUB reader:
|
||
|
||
+ Minor refactoring, avoiding explicit MediaBag handling.
|
||
This all works behind the scenes in CommonState plumbing.
|
||
|
||
* Docx reader:
|
||
|
||
+ Don't drop smartTag contents (#2242).
|
||
+ Handle local namespace declarations (#3365). Previously we didn't
|
||
recognize math, for example, when the xmlns declaration occured on
|
||
the element and not the root.
|
||
+ More efficient trimSps (#1530). Replacing `trimLineBreaks`. This
|
||
does the work of `normalizeSpaces` as well, so we avoid the need for
|
||
that function here.
|
||
+ Avoid 0-level headers (Jesse Rosenthal, #3830). We used to parse
|
||
paragraphs styled with "HeadingN" as "nth-level header." But if a
|
||
document has a custom style named "Heading0", this will produce a
|
||
0-level header, which shouldn't exist. We only parse this style
|
||
if N>0. Otherwise we treat it as a normal style name, and
|
||
follow its dependencies, if any.
|
||
+ Add tests for avoiding zero-level header (Jesse Rosenthal).
|
||
|
||
* ODT reader:
|
||
|
||
+ Replaced `collectRights` with Rights from `Data.Either`.
|
||
+ Remove dead code (Albert Krewinkel).
|
||
|
||
* Org reader (Albert Krewinkel, unless noted).
|
||
|
||
+ Don't allow tables inside list items (John MacFarlane, #3499).
|
||
+ Disallow tables on list marker lines (#3499).
|
||
+ Convert markup at beginning of footnotes (John MacFarlane, #3576).
|
||
+ Allow emphasized text to be followed by `[` (#3577).
|
||
+ Handle line numbering switch for src blocks.
|
||
The line-numbering switch that can be given to source blocks (`-n` with
|
||
an start number as an optional parameter) is parsed and translated to a
|
||
class/key-value combination used by highlighting and other readers and
|
||
writers.
|
||
+ Stop adding rundoc prefix to src params. Source block parameter names
|
||
are no longer prefixed with `rundoc`. This was intended to simplify
|
||
working with the rundoc project, a babel runner. However, the rundoc
|
||
project is unmaintained, and adding those markers is not the reader's
|
||
job anyway. The original language that is specified for a source
|
||
element is now retained as the `data-org-language` attribute and only
|
||
added if it differs from the translated language.
|
||
+ Allow multi-word arguments to src block params (#3477). The reader now
|
||
correctly parses src block parameter list even if parameter arguments
|
||
contain multiple words.
|
||
+ Avoid creating `nullMeta` by applying `setMeta` directly
|
||
(Alexander Krotov).
|
||
+ Replace `sequence . map` with `mapM`.
|
||
+ Fix smart parsing behavior. Parsing of smart quotes and special
|
||
characters can either be enabled via the `smart` language extension or
|
||
the `'` and `-` export options. Smart parsing is active if either the
|
||
extension or export option is enabled. Only smart parsing of special
|
||
characters (like ellipses and en and em dashes) is enabled by default,
|
||
while smart quotes are disabled. Previously, all smart parsing was
|
||
disabled unless the language extension was enabled.
|
||
+ Subject full doc tree to headline transformations (Albert Krewinkel,
|
||
#3695). Emacs parses org documents into a tree structure, which is
|
||
then post-processed during exporting. The reader is changed to do the
|
||
same, turning the document into a single tree of headlines starting
|
||
at level 0.
|
||
+ Fix cite parsing behaviour (Herwig Stuetz). Until now, `org-ref`
|
||
cite keys included special characters also at the end. This caused
|
||
problems when citations occur right before colons or at the end of
|
||
a sentence. With this change, all non alphanumeric characters at
|
||
the end of a cite key are ignored. This also adds `,` to the list
|
||
of special characters that are legal in cite keys to better mirror
|
||
the behaviour of org-export.
|
||
+ Fix module names in haddock comments. Copy-pasting had lead to
|
||
haddock module descriptions containing the wrong module names.
|
||
+ Recognize babel result blocks with attributes (#3706). Babel
|
||
result blocks can have block attributes like captions and names.
|
||
Result blocks with attributes were not recognized and were parsed
|
||
as normal blocks without attributes.
|
||
+ Include tags in headlines. The Emacs default is to include tags in the
|
||
headline when exporting. Instead of just empty spans, which contain the
|
||
tag name as attribute, tags are rendered as small caps and wrapped in
|
||
those spans. Non-breaking spaces serve as separators for multiple tags.
|
||
+ Respect export option for tags (#3713). Tags are appended to
|
||
headlines by default, but will be omitted when the `tags` export option
|
||
is set to nil.
|
||
+ Use `tag-name` attribute instead of `data-tag-name`.
|
||
+ Use `org-language` attribute rather than `data-org-language`.
|
||
+ Modified state type to be an instance of `HasLogMessages`, so
|
||
`registerHeader` can issue warnings.
|
||
+ End footnotes after two blank lines. Footnotes can not only be
|
||
terminated by the start of a new footnote or a header, but also by two
|
||
consecutive blank lines.
|
||
+ Update emphasis border chars (#3933). The org reader was updated to
|
||
match current org-mode behavior: the set of characters which are
|
||
acceptable to occur as the first or last character in an org emphasis
|
||
have been changed and now allows all non-whitespace chars at the
|
||
inner border of emphasized text (see `org-emphasis-regexp-components`).
|
||
|
||
* RST reader:
|
||
|
||
+ Fixed small bug in list parsing (#3432). Previously the parser didn't
|
||
handle properly this case:
|
||
|
||
* - a
|
||
- b
|
||
* - c
|
||
- d
|
||
+ Handle multiline cells in simple tables (#1166).
|
||
+ Parse list table directive (Keiichiro Shikano, #3432).
|
||
+ Make use of `anyLineNewline` (Alexander Krotov, #3686).
|
||
+ Use `anyLineNewline` in `rawListItem` (Alexander Krotov, #3702).
|
||
+ Reorganize block parsers for ~20% faster parsing.
|
||
+ Fixed `..include::` directive (#3880).
|
||
+ Handle blank lines correctly in line blocks (Alexander Krotov, #3881).
|
||
Previously pandoc would sometimes combine two line blocks separated
|
||
by blanks, and ignore trailing blank lines within the line block.
|
||
+ Fix indirect hyperlink targets (#512).
|
||
|
||
* Markdown reader:
|
||
|
||
+ Allow attributes in reference links to start on next line (#3674).
|
||
+ Parse YAML metadata in a context that sees footnotes defined in
|
||
the body of the document (#1279).
|
||
+ When splitting pipe table cells, skip tex math (#3481).
|
||
You might have a `|` character inside math. (Or for that matter
|
||
something that the parser might mistake for raw HTML.)
|
||
+ Treat span with class `smallcaps` as SmallCaps.
|
||
This allows users to specify small caps in Markdown this way:
|
||
`[my text]{.smallcaps}` (#1592).
|
||
+ Fixed internal header links (#2397).
|
||
This patch also adds `shortcut_reference_links` to the list
|
||
of mmd extensions.
|
||
+ Treat certain environments as inline
|
||
when they occur without space surrounding them (#3309, #2171).
|
||
E.g. equation, math. This avoids incorrect vertical space
|
||
around equations.
|
||
+ Optimized `nonindentSpaces`. Makes the benchmark go from 40 to 36 ms.
|
||
+ Allow latex macro definitions indented 1-3 spaces.
|
||
Previously they only worked if nonindented.
|
||
+ Improved parsing of indented raw HTML blocks (#1841).
|
||
Previously we inadvertently interpreted indented HTML as
|
||
code blocks. This was a regression. We now seek to determine the
|
||
indentation level of the contents of an HTML block, and (optionally)
|
||
skip that much indentation. As a side effect, indentation may be
|
||
stripped off of raw HTML blocks, if `markdown_in_html_blocks` is
|
||
used. This is better than having things interpreted as indented
|
||
code blocks.
|
||
+ Fixed smart quotes after emphasis (#2228). E.g. in `*foo*'s 'foo'`.
|
||
+ Warn for notes defined but not used (#1718).
|
||
+ Use `anyLineNewline` (Alexander Krotov).
|
||
+ Interpret YAML metadata as Inlines when possible (#3755). If
|
||
the metadata field is all on one line, we try to interpret it as
|
||
Inlines, and only try parsing as Blocks if that fails. If it
|
||
extends over one line (including possibly the `|` or `>` character
|
||
signaling an indented block), then we parse as Blocks. This was
|
||
motivated by some German users finding that `date: '22. Juin 2017'`
|
||
got parsed as an ordered list.
|
||
+ Fixed spurious parsing as citation as reference def (#3840).
|
||
We now disallow reference keys starting with `@` if the
|
||
`citations` extension is enabled.
|
||
+ Parse `-@roe` as suppress-author citation (pandoc-citeproc#237).
|
||
Previously only `[-@roe]` (with brackets) was recognized as
|
||
suppress-author, and `-@roe` was treated the same as `@roe`.
|
||
+ Fixed parsing of fenced code after list when there is no intervening
|
||
blank line (#3733).
|
||
+ Allow raw latex commands starting with `\start` (#3558). Previously
|
||
these weren't allowed because they were interpreted as starting
|
||
ConTeXt environments, even without a corresponding `\stop`...
|
||
+ Added `inlines`, `inlines1`.
|
||
+ Require nonempty alt text for `implicit_figures` (#2844).
|
||
A figure with an empty caption doesn't make sense.
|
||
+ Removed texmath macro material; now all this is handled
|
||
in the LaTeX reader functions.
|
||
+ Fixed bug with indented code following raw LaTeX (#3947).
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Rewrote LaTeX reader with proper tokenization (#1390,
|
||
#2118, #3236, #3779, #934, #982). This rewrite is primarily
|
||
motivated by the need to get macros working properly. A side benefit
|
||
is that the reader is significantly faster. We now tokenize the
|
||
input text, then parse the token stream. Macros modify the token
|
||
stream, so they should now be effective in any context, including
|
||
math. Thus, we no longer need the clunky macro processing
|
||
capacities of texmath.
|
||
+ Parse `\,` to `\8198` (six-per-em space) (Henri Werth).
|
||
+ Allow `\newcommand\foo{blah}` without braces.
|
||
+ Support `\lstinputlisting` (#2116).
|
||
+ Issue warnings when skipping unknown latex commands (#3392).
|
||
+ Include contents of `\parbox`.
|
||
+ Allow `\hspace` and `\vspace` to count as raw block or inline.
|
||
Previously we would refuse to parse anything as raw inline if
|
||
it was in the `blockCommands` list. Now we allow exceptions
|
||
if they're listed under ignoreInlines in inlineCommands.
|
||
This should make it easier e.g. to include an `\hspace`
|
||
between two side-by-side raw LaTeX tables.
|
||
+ Don't drop contents of `\hypertarget`.
|
||
+ Handle spaces before `\cite` arguments.
|
||
+ Allow newpage, clearpage, pagebreak in inline contexts as well as
|
||
block contexts (#3494).
|
||
+ Treat `{{xxx}}` the same as `{xxx}` (#2115).
|
||
+ Use `pMacroDefinition` in macro (for more direct parsing).
|
||
Note that this means that `macro` will now parse one
|
||
macro at a time, rather than parsing a whole group together.
|
||
+ Fixed failures on \ref{}, \label{} with `+raw_tex`. Now these
|
||
commands are parsed as raw if `+raw_tex`; otherwise, their argument
|
||
is parsed as a bracketed string.
|
||
+ Don't crash on empty `enumerate` environment (#3707).
|
||
+ Handle escaped `&` inside table cell (#3708).
|
||
+ Handle block structure inside table cells (#3709). `minipage` is no
|
||
longer required.
|
||
+ Handle some width specifiers on table columns (#3709). Currently
|
||
we only handle the form `0.9\linewidth`. Anything else would have
|
||
to be converted to a percentage, using some kind arbitrary assumptions
|
||
about line widths.
|
||
+ Make sure `\write18` is parsed as raw LaTeX. The change is in the
|
||
LaTeX reader's treatment of raw commands, but it also affects the
|
||
Markdown reader.
|
||
+ Fixed regression with starred environment names (#3803).
|
||
+ Handle optional args in raw `\titleformat` (#3804).
|
||
+ Improved heuristic for raw block/inline. An unknown command at the
|
||
beginning of the line that could be either block or inline is
|
||
treated as block if we have a sequence of block commands followed by
|
||
a newline or a `\startXXX` command (which might start a raw ConTeXt
|
||
environment).
|
||
+ Don't remove macro definitions from the output, even if
|
||
`Ext_latex_macros` is set, so that macros will be applied.
|
||
Since they're only applied to math in Markdown, removing the macros
|
||
can have bad effects. Even for math macros, keeping them should be
|
||
harmless.
|
||
+ Removed `macro`. It is no longer necessary, since the
|
||
`rawLaTeXBlock` parser will parse macro definitions. This also avoids
|
||
the need for a separate `latexMacro` parser in the Markdown reader.
|
||
+ Use `label` instead of `data-label` for label in caption (#3639).
|
||
+ Fixed space after \figurename etc.
|
||
+ Resolve references to section numbers.
|
||
+ Fix `\let\a=0` case, with single character token.
|
||
+ Allow `@` as a letter in control sequences. `@` is commonly used
|
||
in macros using `\makeatletter`. Ideally we'd make the tokenizer
|
||
sensitive to `\makeatletter` and `\makeatother`, but until then this
|
||
seems a good change.
|
||
+ Track header numbers and correlate with labels.
|
||
+ Allow `]` inside group in option brackets (#3857).
|
||
+ lstinline with braces can be used (verb cannot be used with braces)
|
||
(Marc Schreiber, #3535).
|
||
+ Fix keyval funtion: pandoc did not parse options in braces correctly
|
||
(Marc Schreiber, #3642).
|
||
+ When parsing raw LaTeX commands, include trailing space (#1773).
|
||
Otherwise things like `\noindent foo` break and turn into
|
||
`\noindentfoo`. Affects `-f latex+raw_tex` and `-f markdown` (and other
|
||
formats that allow `raw_tex`).
|
||
+ Don't treat "..." as Quoted (#3958). This caused quotes to be omitted in
|
||
`\texttt` contexts.
|
||
+ Add tests for existing `\includegraphics` behaviour (Ben Firshman).
|
||
+ Allow space before `=` in bracketd options (Ben Firshman).
|
||
+ Be more forgiving in parsing command options. This was needed, for
|
||
example, to make some minted options work.
|
||
+ Strip off quotes in `\include` filenames.
|
||
|
||
* Added `Text.Pandoc.CSV`, simple (unexported) CSV parser.
|
||
|
||
* `Text.Pandoc.PDF`:
|
||
|
||
+ Got `--resource-path` working with PDF output (#852).
|
||
+ Fetch images when generating PDF via context (#3380).
|
||
To do this, we create the temp directory as a subdirectory
|
||
of the working directory. Since context mk IV by default looks
|
||
for images in the parent directory, this works.
|
||
+ Use `report` instead of `warn`, make it sensitive to verbosity settings.
|
||
+ Use `fillMediaBag` and `extractMedia` to extract media to temp dir.
|
||
This reduces code duplication.
|
||
+ `html2pdf`: use stdin instead of intermediate HTML file
|
||
+ Removed useless `TEXINPUTS` stuff for `context2pdf`. mkiv context
|
||
doesn't use `TEXINPUTS`.
|
||
|
||
* `Text.Pandoc.Pretty`:
|
||
|
||
+ Simplified definition of `realLength`.
|
||
+ Don't error for blocks of size < 1. Instead, resize to 1 (see #1785).
|
||
|
||
* `Text.Pandoc.MIME`:
|
||
|
||
+ Use `application/javascript` (not `application/x-javascript`).
|
||
+ Added `emf` to mimeTypes with type `application/x-msmetafile` (#1713).
|
||
|
||
* `Text.Pandoc.ImageSize`:
|
||
|
||
+ Improve SVG image size code (Marc Schreiber, #3580).
|
||
+ Make `imageSize` recognize basic SVG dimensions (Mauro Bieg, #3462).
|
||
|
||
* Use `Control.Monad.State.Strict` throughout. This gives 20-30% speedup
|
||
and reduction of memory usage in most of the writers.
|
||
|
||
* Use `foldrWithKey` instead of deprecated `foldWithKey`.
|
||
|
||
* `Text.Pandoc.SelfContained`:
|
||
|
||
+ Fixed problem with embedded fonts (#3629).
|
||
+ Refactored getData from `getDataURI` in `SelfContained`.
|
||
+ Don't use data URIs for script or style (#3423). Instead, just use
|
||
script or style tags with the content inside. The old method with
|
||
data URIs prevents certain optimizations outside pandoc. Exception:
|
||
data URIs are still used when a script contains `</script>` or a
|
||
style contains `</`.
|
||
+ SelfContained: Handle URL inside material retrieved from a URL
|
||
(#3629). This can happen e.g. with an @import of a google web font.
|
||
(What is imported is some CSS which contains an url reference
|
||
to the font itself.) Also, allow unescaped pipe (|) in URL.
|
||
+ Load resources from `data-src` (needed for lazy loading in
|
||
reveal.js slide shows).
|
||
+ Handle `data-background-image` attribute on section (#3979).
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ Added `indentWith` (Alexander Krotov, #3687).
|
||
+ Added `stateCitations` to `ParserState`.
|
||
+ Removed `stateChapters` from `ParserState`.
|
||
+ In `ParserState`, make `stateNotes'` a Map, add `stateNoteRefs`.
|
||
+ Added `gobbleSpaces` and `gobbleAtMostSpaces`.
|
||
+ Adjusted type of `insertIncludedFile` so it can be used with token
|
||
parser.
|
||
+ Replace old texmath macro stuff from Parsing. Use Macro from
|
||
Text.Pandoc.Readers.LaTeX.Types instead.
|
||
+ Export `insertIncludedFile`.
|
||
+ Added `HasLogMessages`, `logMessage`, `reportLogMessages` (#3447).
|
||
+ Replace partial with total function (Albert Krewinkel).
|
||
+ Introduce `HasIncludeFiles` type class (Albert Krewinkel). The
|
||
`insertIncludeFile` function is generalized to work with all parser
|
||
states which are instances of that class.
|
||
+ Add `insertIncludedFilesF` which returns F blocks (Albert Krewinkel).
|
||
The `insertIncludeFiles` function was generalized and renamed
|
||
to `insertIncludedFiles'`; the specialized versions are based on that.
|
||
+ `many1Till`: Check for the end condition before parsing (Herwig
|
||
Stuetz). By not checking for the end condition before the first
|
||
parse, the parser was applied too often, consuming too much of the
|
||
input. This only affects `many1Till p end` where `p` matches on a
|
||
prefix of `end`.
|
||
+ Provide `parseFromString` (#3690). This is a verison of
|
||
`parseFromString` specialied to ParserState, which resets
|
||
`stateLastStrPos` at the end. This is almost always what we want.
|
||
This fixes a bug where `_hi_` wasn't treated as emphasis in the
|
||
following, because pandoc got confused about the position of the
|
||
last word: `- [o] _hi_`.
|
||
+ Added `takeP`, `takeWhileP` for efficient parsing of `[Char]`.
|
||
+ Fix `blanklines` documentation (Alexander Krotov, #3843).
|
||
+ Give less misleading line information with `parseWithString`.
|
||
Previously positions would be reported past the end of the chunk.
|
||
We now reset the source position within the chunk and report
|
||
positions "in chunk."
|
||
+ Add `anyLineNewline` (Alexander Krotov).
|
||
+ Provide shared F monad functions for Markdown and Org readers
|
||
(Albert Krewinkel). The `F` monads used for delayed evaluation
|
||
of certain values in the Markdown and Org readers are based on a
|
||
shared data type capturing the common pattern of both `F` types.
|
||
+ Add `returnF` (Alexander Krotov).
|
||
+ Avoid parsing `Notes:**` as a bare URI (#3570). This avoids parsing
|
||
bare URIs that start with a scheme + colon + `*`, `_`, or `]`.
|
||
+ Added `readerAbbreviations` to `ParserState`. Markdown reader
|
||
now consults this to determine what is an abbreviation.
|
||
+ Combine grid table parsers (Albert Krewinkel, #3638). The grid table
|
||
parsers for markdown and rst was combined into one single
|
||
parser `gridTable`, slightly changing parsing behavior of both
|
||
parsers: (1) The markdown parser now compactifies block content
|
||
cell-wise: pure text blocks in cells are now treated as paragraphs
|
||
only if the cell contains multiple paragraphs, and as plain blocks
|
||
otherwise. Before, this was true only for single-column tables. (2)
|
||
The rst parser now accepts newlines and multiple blocks in header
|
||
cells.
|
||
+ Generalize tableWith, gridTableWith (Albert Krewinkel).
|
||
The parsing functions `tableWith` and `gridTableWith` are generalized
|
||
to work with more parsers. The parser state only has to be an
|
||
instance of the `HasOptions` class instead of requiring a concrete
|
||
type. Block parsers are required to return blocks wrapped into a
|
||
monad, as this makes it possible to use parsers returning results
|
||
wrapped in `Future`s.
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ Simplify `toRomanNumeral` using guards (Alexander Krotov, #3445)
|
||
+ `stringify`: handle Quoted better (#3958). Previously we were losing
|
||
the quotation marks in Quoted elements.
|
||
|
||
* `Text.Pandoc.Writers.Shared`:
|
||
|
||
+ Export `metaToJSON'`, `addVariablesToJSON` (#3439).
|
||
This allows us to add the variables AFTER using the metadata
|
||
to generate a YAML header (in the Markdown writer).
|
||
+ Added `unsmartify` (previously in RST writer).
|
||
Undo literal double curly quotes. Previously we left these.
|
||
+ Generalize type of `metaToJSON` so it can take a Text. Previously a
|
||
String was needed as argument; now any ToJSON instance will do.
|
||
+ Added `gridTable` (previously in Markdown writer).
|
||
+ `gridTable`: Refactored to use widths in chars.
|
||
+ `gridTable`: remove unnecessary extra space in cells.
|
||
+ Fixed `addVariablesToJSON`. It was previously not allowing multiple
|
||
values to become lists.
|
||
+ Pipe tables: impose minimum cell size (see #3526).
|
||
|
||
|
||
[default template changes]
|
||
|
||
* HTML templates (including EPUB and HTML slide show templates):
|
||
|
||
+ Make default.html5 polyglot markup conformant (John Luke Bentley,
|
||
#3473). Polyglot markup is HTML5 that is also valid XHTML. See
|
||
<https://www.w3.org/TR/html-polyglot>. With this change, pandoc's
|
||
html5 writer creates HTML that is both valid HTML5 and valid XHTML.
|
||
+ Regularized CSS in html/epub/html slide templates (#3485).
|
||
All templates now include `code{white-space: pre-wrap}`
|
||
and CSS for `q` if `--html-q-tags` is used. Previously some templates
|
||
had `pre` and others `pre-wrap`; the `q` styles were only sometimes
|
||
included.
|
||
+ CSS for `.smallcaps`, (Mauro Bieg, #1592)
|
||
+ `default.revealjs`: make `history` default to true.
|
||
+ `default.revealjs`: use lazy loading (#2283).
|
||
+ `default.revealjs`: add `mathjax` variable and some conditional code
|
||
to use the MathJaX plugin.
|
||
+ `default.slidy` uses `https` instead of `http` (ickc, #3848).
|
||
+ `default.dzslides`: Load Google Font using HTTPS by default
|
||
(Yoan Blanc).
|
||
|
||
* DocBook5 template: Use `lang` and `subtitle` variables (Jens Getreu,
|
||
#3855).
|
||
|
||
* LaTeX/Beamer template:
|
||
|
||
+ Combine LaTeX/Beamer templates (Andrew Dunning, #3878).
|
||
`default.beamer` has been removed; beamer now uses the
|
||
`default.latex` template. Beamer-specific parts are conditional
|
||
on the `beamer` variable set by the writer. Note that
|
||
`pandoc -D beamer` will return this (combined) template.
|
||
+ Use `xcolor` for `colorlinks` option (Andrew Dunning, #3877).
|
||
Beamer loads `xcolor` rather than `color`, and thus the
|
||
`dvipsnames` option doesn't take effect. This also provides a wider
|
||
range of colour selections with the `svgnames` option.
|
||
+ Use starred versions of `xcolor` names (Andrew Dunning).
|
||
Prevents changes to documents defined using the `dvipsnames` list (e.g.
|
||
`Blue` gives a different result with svgnames enabled).
|
||
+ Load `polyglossia` after header-includes (#3898). It needs to be
|
||
loaded as late as possible.
|
||
+ Use `unicode-math` (Vaclav Haisman). Use `mathspec` with only
|
||
XeLaTeX on request.
|
||
+ Don't load `fontspec` before `unicode-math` (over there).
|
||
The `unicode-math` package loads `fontspec` so explict loading of
|
||
`fontspec` before `unicode-math` is not necessary.
|
||
+ Use `unicode-math` by default in default.latex template. mathspec will
|
||
be used in xelatex if the `mathspec` variable is set; otherwise
|
||
unicode-math will be used (Václav Haisman).
|
||
+ Use `dvipsnames` options when `colorlinks` specified (otherwise
|
||
we get an error for `maroon`) (Thomas Hodgson).
|
||
+ Added beamer `titlegraphic` and `logo` variables (Thomas Hodgson).
|
||
+ Fix typo in fix for notes in tables (#2378, zeeMonkeez).
|
||
+ Fix `hyperref` options clash (Andrew Dunning, #3847) Avoids an options
|
||
clash when loading a package (e.g. `tufte-latex`) that uses
|
||
`hyperref` settings different from those in the template.
|
||
+ Add `natbiboptions` variable (#3768).
|
||
+ Fix links inside captions in LaTeX output with links-as-notes
|
||
(Václav Haisman, #3651). Declare our redefined `\href` robust.
|
||
+ Load `parskip` before `hyperref` (Václav Haisman, #3654).
|
||
+ Allow setting Japanese fonts when using LuaLaTeX (Václav Haisman,
|
||
#3873). by using the `luatexja-fontspec` and `luatexja-preset`
|
||
packages. Use existing `CJKmainfont` and `CJKoptions` template
|
||
variables. Add `luatexjafontspecoptions` for `luatexja-fontspec`
|
||
and `luatexjapresetoptions` for `luatexja-preset`.
|
||
+ Added `aspectratio` variable to beamer template (Václav Haisman,
|
||
#3723).
|
||
+ Modified template.latex to fix XeLaTex being used with tables
|
||
(lwolfsonkin, #3661). Reordered `lang` variable handling to
|
||
immediately before `bidi`.
|
||
|
||
* ConTeXt template: Improved font handling: `simplefonts` is now
|
||
obsolete in ConTeXt (Pablo Rodríguez).
|
||
|
||
|
||
[documentation improvements]
|
||
|
||
* MANUAL.txt:
|
||
|
||
+ Add URL for Prince HTML > PDF engine (Ian, #3919).
|
||
+ Document that content above slide-level will be omitted in
|
||
slide shows. See #3460, #2265.
|
||
+ Explain `--webtex` SVG url (Mauro Bieg, #3471)
|
||
+ Small clarification in YAML metadata section.
|
||
+ Document that html4 is technically XHTML 1.0 transitional.
|
||
+ Remove refs to highlighting-kate (#3672).
|
||
+ Document ibooks specific epub metadata.
|
||
+ Clarify that mathml is used for ODT math.
|
||
+ Mention limitations of Literate Haskell Support (#3410,
|
||
Joachim Breitner).
|
||
+ Add documentation of limitations of grid tables (Stephen
|
||
McDowell, #3864).
|
||
+ Clarify that meta-json contains transformed values (Jakob Voß,
|
||
#3491) Make clear that template variable `meta-json` does not
|
||
contain plain text values or JSON output format but field values
|
||
transformed to the selected output format.
|
||
|
||
* COPYRIGHT:
|
||
|
||
+ Clarify that templates are dual-licensed.
|
||
+ Clarify that pandoc-types is BSD3 licensed.
|
||
+ List new files not written by jgm (Albert Krewinkel).
|
||
+ Update dates in copyright notices (Albert Krewinkel). This follows
|
||
the suggestions given by the FSF for GPL licensed software.
|
||
<https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>
|
||
|
||
* INSTALL.md:
|
||
|
||
+ Improved instructions for tests with patterns.
|
||
+ Put RPM-based distros on separate point (Mauro Bieg, #3449)
|
||
|
||
* CONTRIBUTING.md:
|
||
|
||
+ Fixed typos (Wandmalfarbe, #3479).
|
||
+ Add "ask on pandoc-discuss" (Mauro Bieg).
|
||
|
||
* Add lua filter documentation in `doc/lua-filters.md`. Note that the
|
||
end of this document is autogenerated from `data/pandoc.lua`
|
||
using `make doc/lua-filters.md`, which uses `tools/ldoc.ltp`
|
||
(Albert Krewinkel).
|
||
|
||
* Add `doc/filters.md`. This is the old scripting tutorial from
|
||
the website.
|
||
|
||
* Add `doc/using-the-pandoc-api.md` (#3289). This gives an introduction
|
||
to using pandoc as a Haskell library.
|
||
|
||
|
||
[build infrastructure improvements]
|
||
|
||
* Removed `data/templates` submodule. Templates are now a subtree
|
||
in `data/templates`. This removes the need to do `git submodule
|
||
update`.
|
||
|
||
* Renamed `tests` -> `test`.
|
||
|
||
* Remove `https` flag. Always build with HTTPS support.
|
||
|
||
* Use `file-embed` instead of `hsb2hs` to embed data files when
|
||
`embed_data_files` flag is set. `file-embed` gives us better dependency
|
||
tracking: if a data file changes, ghc/stack/cabal know to recompile
|
||
the Data module. This also removes `hsb2hs` as a build dependency.
|
||
|
||
* Add `custom-setup` stanza to pandoc, lowercase field names.
|
||
|
||
* Add `static` Cabal flag.
|
||
|
||
* Name change OSX -> MacOS. Add a -MacOS suffix to mac package rather
|
||
than -OSX. Changed local names from osx to macos.
|
||
|
||
* make_macos_package.sh - Use strip to reduce executable size.
|
||
|
||
* Revised binary linux package. Now a completely static executable
|
||
is created, using Docker and alpine. We create both a deb and a
|
||
tarball. The old `deb` directory has been replaced with a `linux`
|
||
directory. Running `make` in the `linux` directory should
|
||
perform the build, putting the binary packages in `artifacts/`.
|
||
|
||
* `linux/control.in`: add `Replaces:`, so existing pandoc-citeproc and
|
||
pandoc-data packages will be uninstalled; this package provides
|
||
both (#3822). Add latex packages as 'suggested', update
|
||
description.
|
||
|
||
* Remove cpphs build requirement -- it is no longer needed.
|
||
|
||
* Replaced `{deb,macos,windows}/stack.yaml` with `stack.pkg.yaml`.
|
||
|
||
* Name change OSX -> macOS (ickc, #3869).
|
||
|
||
* Fix casing of Linux, UNIX, and Windows (ickc).
|
||
|
||
* `.travis.yml`: create a source dist and do cabal build and test there.
|
||
That way we catch errors due to files missing from the data
|
||
section of pandoc.cabal.
|
||
|
||
* Makefile:
|
||
|
||
+ Split `make haddock` from `make full`.
|
||
+ Add BRANCH variable for winpkg.
|
||
+ Add `lint` target.
|
||
+ Improve `make full`. Disable optimizations.
|
||
Build everything, inc. trypandoc and benchmarks. Use parallel build.
|
||
+ Allow `make test` to take `TESTARGS`.
|
||
|
||
* Added new command tests (`Tests.Command`), using small text files
|
||
in `test/command/`. Any files added in this directory will be treated
|
||
as shell tests (see smart.md for an example). This makes it very easy
|
||
to add regression tests etc.
|
||
|
||
* Test fixes so we can find data files. In old tests & command tests,
|
||
we now set the environment variable `pandoc_datadir`. In lua tests,
|
||
we set the datadir explicitly.
|
||
|
||
* Refactored `compareOutput` in docx writer test.
|
||
|
||
* Consolidated some common functions in `Tests.Helper`.
|
||
|
||
* Small change to unbalanced bracket test to speed up test suite.
|
||
|
||
* Speed up Native writer quickcheck tests.
|
||
|
||
* Use tasty for tests rather than test-framework.
|
||
|
||
* Add simple Emacs mode to help with Pandoc templates editing.
|
||
(Václav Haisman, #3889). `tools/pandoc-template-mode.el`
|
||
|
||
|
||
pandoc (1.19.2)
|
||
|
||
* Use skylighting library instead of highlighting-kate for syntax
|
||
highlighting. Skylighting is faster and more accurate (#3363).
|
||
Later we'll be able to add features like warning messages, dynamic
|
||
loading of xml syntax definitions, and dynamic loading of themes.
|
||
|
||
* Added a new highlight style, `breezeDark`.
|
||
|
||
* Text.Pandoc.Highlighting: Update list of `listings` languages (#3374).
|
||
This allows more languages to be used when using the `--listings`
|
||
option.
|
||
|
||
* OpenDocument writer:
|
||
|
||
+ Small refactoring. Removed separate 'parent' parameter in paraStyle.
|
||
+ Don't profilerate text styles unnecessarily (#3371).
|
||
This change makes the writer create only as many temporary
|
||
text styles as are absolutely necessary. It also consolidates
|
||
adjacent nodes with the same style.
|
||
|
||
* Org reader (Albert Krewinkel):
|
||
|
||
+ Allow short hand for single-line raw blocks (Albert Krewinkel,
|
||
#3366). Single-line raw blocks can be given via `#+FORMAT: raw line`,
|
||
where `FORMAT` must be one of `latex`, `beamer`, `html`, or `texinfo`.
|
||
+ Accept org-ref citations followed by commas (Albert Krewinkel).
|
||
Bugfix for an issue which, whenever the citation was immediately
|
||
followed by a comma, prevented correct parsing of org-ref citations.
|
||
+ Ensure emphasis markup can be nested. Nested emphasis markup (e.g.
|
||
`/*strong and emphasized*/`) was interpreted incorrectly in that the
|
||
inner markup was not recognized.
|
||
+ Remove pipe char irking the haddock coverage tool (Albert Krewinkel).
|
||
|
||
* Docx reader: Empty header should be list of lists (Jesse Rosenthal).
|
||
In the past, the docx reader wrote an empty header as an empty list. It
|
||
should have the same width as a row (and be filled with empty cells).
|
||
|
||
* MediaWiki reader:
|
||
|
||
+ Improved handling of display math (#3362). Sometimes display math is
|
||
indented with more than one colon. Previously we handled these cases
|
||
badly, generating definition lists and missing the math.
|
||
+ Fix quotation mark parsing (#3336, tgkokk). Change MediaWiki reader's
|
||
behavior when the smart option is parsed to match other readers'
|
||
behavior.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Fixed `-f markdown_github-hard_line_breaks+escaped_line_breaks`
|
||
(#3341). Previously this did not properly enable escaped line breaks.
|
||
+ Disallow space between inline code and attributes (#3326, #3323,
|
||
Mauro Bieg).
|
||
|
||
* DocBook5 writer: make id attribute xml:id, fixes #3329 (#3330, Mauro Bieg).
|
||
|
||
* Added some test cases for ODT reader (#3306, #3308, Hubert Plociniczak).
|
||
|
||
* LaTeX writer: allow tables with empty cells to count as "plain."
|
||
This addresses a problem of too-wide tables when empty cells
|
||
are used. Thanks to Joost Kremers for reporting the issue.
|
||
|
||
* Org writer: prefix footnote numbers with `fn:` (Albert Krewinkel).
|
||
Unprefixed numbers where used by older org-mode versions, but are no
|
||
longer supported.
|
||
|
||
* HTML writer: don't process pars with empty RawInline, (#1040, #3327,
|
||
Mauro Bieg).
|
||
|
||
* Markdown writer: Fix display math with `--webtex` (#3298).
|
||
|
||
* Fix sample.lua so it properly handles raw blocks/inlines (#3358,
|
||
bumper314).
|
||
|
||
* Templates:
|
||
|
||
+ default.latex: Moved geometry after hyperref (Václav Haisman).
|
||
Otherwise PDF sizes can be wrong in some circumstances.
|
||
+ Copied a few changes from default.latex to default.beamer
|
||
(Wandmalfarbe).
|
||
+ default.latex, default.beamer: Changed position of `\VerbatimNotes`
|
||
and `fancyvrb`. This fixes hyperlinks on footnotes in documents
|
||
that contain verbatim in notes (#3361). (Note: the beamer template
|
||
was updated to match the LaTeX template, but at this point verbatim
|
||
in notes seems not to work in beamer.)
|
||
+ default.latex: Allow passing `microtypeoptions` to microtype
|
||
(Václav Haisman).
|
||
+ default.latex: Add hyphen option to url package.
|
||
+ default.docbook5: Fix namespace declarations (Mauro Bieg).
|
||
|
||
* Moved `make_osx_package.sh` to `osx/` directory.
|
||
|
||
* Travis continuous integration:
|
||
|
||
+ Fix false positives with dist build.
|
||
+ Speed improvements (Kolen Cheung, #3304, #3357).
|
||
|
||
* MANUAL.txt:
|
||
|
||
+ Clarify that blank space is needed around footnotes (#3352).
|
||
+ Fixed typo (#3351, Alexey Rogechev).
|
||
+ Note that `--wrap=auto` does not work in HTML output.
|
||
+ Default `--columns` width is 72, not 80.
|
||
+ Fixed broken links (#3316, Kolen Cheung).
|
||
+ Document usage of `@*` in nocite section (#3333, John Muccigrosso).
|
||
|
||
* INSTALL.md:
|
||
|
||
+ Indent code so it's properly formatted (#3335, Bheesham Persaud).
|
||
+ Added instructions for extracting binary from OSX, Windows packages.
|
||
|
||
* CONTRIBUTING.md: Describe labels currently used in issue tracker
|
||
(Albert Krewinkel). The labels have changed over time, the list of
|
||
labels is updated to reflect the current set of labels used in the
|
||
issue tracker.
|
||
|
||
* Rearrange and extend badges in README (Albert Krewinkel, #3354)
|
||
|
||
* Bumped version bounds for dependencies.
|
||
|
||
|
||
pandoc (1.19.1)
|
||
|
||
* Set `PANDOC_VERSION` environment variable for filters (#2640).
|
||
This allows filters to check the pandoc version that produced
|
||
the JSON they are receiving.
|
||
|
||
* Docx reader: Ensure one-row tables don't have header (#3285,
|
||
Jesse Rosenthal). Tables in MS Word are set by default to have
|
||
special first-row formatting, which pandoc uses to determine whether
|
||
or not they have a header. This means that one-row tables will, by
|
||
default, have only a header -- which we imagine is not what people
|
||
want. This change ensures that a one-row table is not understood to
|
||
be a header only. Note that this means that it is impossible to
|
||
produce a header-only table from docx, even though it is legal
|
||
pandoc. But we believe that in nearly all cases, it will be an
|
||
accidental (and unwelcome) result
|
||
|
||
* HTML reader:
|
||
|
||
+ Fixed some bad regressions in HTML table parser (#3280).
|
||
This regression leads to the introduction of empty rows
|
||
in some circumstances.
|
||
+ Understand `style=width:` as well as `width` in `col` (#3286).
|
||
|
||
* RST reader:
|
||
|
||
+ Print warnings when keys, substitition, notes not found.
|
||
Previously the parsers failed and we got raw text. Now we get a
|
||
link with an empty URL, or empty inlines in the case of a note or
|
||
substitution.
|
||
|
||
+ Fix hyperlink aliases (#3283).
|
||
|
||
* Man writer: Ensure that periods are escaped at beginning of line
|
||
(#3270).
|
||
|
||
* LaTeX writer: Fix unnumbered headers when used with `--top-level`
|
||
(#3272, Albert Krewinkel). Fix interaction of top-level divisions
|
||
`part` or `chapter` with unnumbered headers when emitting LaTeX. Headers
|
||
are ensured to be written using stared commands (like `\subsection*{}`).
|
||
|
||
* LaTeX template: use comma not semicolon to separate keywords for
|
||
`pdfkeywords`. Thanks to Wandmalfarbe.
|
||
|
||
* Markdown writer: Fixed incorrect word wrapping (#3277). Previously pandoc
|
||
would sometimes wrap lines too early due to this bug.
|
||
|
||
* Text.Pandoc.Pretty: Added `afterBreak` [API change]. This makes it
|
||
possible to insert escape codes for content that needs escaping at the
|
||
beginning of a line.
|
||
|
||
* Removed old MathMLInHTML.js from 2004, which should no longer
|
||
be needed for MathML with modern browsers.
|
||
|
||
* Fixed tests with dynamic linking (#2709).
|
||
|
||
* Makefile: Use stack instead of cabal for targets. This is just
|
||
a convenience for developers.
|
||
|
||
* Fixed bash completion of filenames with space (#2749).
|
||
|
||
* MANUAL: improved documentation on how to create a custom `reference.docx`.
|
||
|
||
* Fix minor spelling typos in the manual (#3273, Anthony Geoghegan)
|
||
|
||
pandoc (1.19)
|
||
|
||
* Changed resolution of filter paths.
|
||
|
||
+ We now first treat the argument of `--filter` as a full (absolute
|
||
or relative) path, looking for a program there. If it's found, we
|
||
run it.
|
||
+ If not, and if it is a simple program name or a relative path, we
|
||
try resolving it relative to `$DATADIR/filters`.
|
||
+ If this fails, then we treat it as a program name and look in the
|
||
user's PATH.
|
||
+ Removed a hardcoded '/' that may have caused problems with
|
||
Windows paths.
|
||
|
||
Previously if you did `--filter foo` and you had `foo` in your path and
|
||
also an executable `foo` in your working directory, the one in the path
|
||
would be used. Now the one in the working directory is used.
|
||
|
||
In addition, when you do `--filter foo/bar.hs`, pandoc will now find a
|
||
filter `$DATADIR/filters/foo/bar.hs` -- assuming there isn't a
|
||
`foo/bar.hs` relative to the working directory.
|
||
|
||
* Allow `file://` URIs as arguments (#3196). Also improved default reader
|
||
format detection. Previously with a URI ending in .md or .markdown,
|
||
pandoc would assume HTML input. Now it treats these as markdown.
|
||
|
||
* Allow to overwrite top-level division type heuristics (#3258,
|
||
Albert Krewinkel). Pandoc uses heuristics to determine the most
|
||
reasonable top-level division type when emitting LaTeX or
|
||
Docbook markup. It is now possible to overwrite this implicitly set
|
||
top-level division via the `top-level-division` command line parameter.
|
||
|
||
* Text.Pandoc.Options \[API changes\]:
|
||
|
||
+ Removed `writerStandalone` field in `WriterOptions`, made
|
||
`writerTemplate` a `Maybe` value. Previously setting
|
||
`writerStandalone = True` did nothing unless a template was provided
|
||
in writerTemplate. Now a fragment will be generated if
|
||
`writerTemplate` is `Nothing`; otherwise, the specified template
|
||
will be used and standalone output generated.
|
||
+ `Division` has been renamed `TopLevelDivision` (#3197). The
|
||
`Section`, `Chapter`, and `Part` constructors were renamed to
|
||
`TopLevelSection`, `TopLevelChapter`, and
|
||
`TopLevelPart`, respectively. An additional `TopLevelDefault`
|
||
constructor was added, which is now also the new default value of
|
||
the `writerTopLevelDivision` field in `WriterOptions`.
|
||
|
||
* Improved error if they give wrong arg to `--top-level-division`.
|
||
|
||
* Use new module from texmath to lookup MS font codepoints in Docx reader.
|
||
Removed unexported module Text.Pandoc.Readers.Docx.Fonts. Its code now
|
||
lives in texmath (0.9).
|
||
|
||
* DocBook reader: Fixed xref lookup (#3243). It previously only worked
|
||
when the qnames lacked the docbook namespace URI.
|
||
|
||
* HTML reader:
|
||
|
||
+ Improved table parsing (#3027). We now check explicitly for non-1
|
||
rowspan or colspan attributes, and fail when we encounter them.
|
||
Previously we checked that each row had the same number of cells,
|
||
but that could be true even with rowspans/colspans. And there are
|
||
cases where it isn't true in tables that we can handle fine -- e.g.
|
||
when a tr element is empty. So now we just pad rows with empty cells
|
||
when needed.
|
||
+ Treat `<math>` as MathML by default unless something else is
|
||
explicitly specified in xmlns. Provided it parses as MathML,
|
||
of course. Also fixed default which should be to inline math if no
|
||
display attribute is used.
|
||
+ Only treat "a" element as link if it has href (#3226). Otherwise
|
||
treat as span.
|
||
|
||
* Docx reader (Jesse Rosenthal):
|
||
|
||
+ Add a placeholder value for CHART. We wrap `[CHART]` in a
|
||
`<span class="chart">`. Note that it maps to inlines because, in
|
||
docx, anything in a drawing tag can be part of a larger paragraph.
|
||
+ Be more specific in parsing images We not only want `w:drawing`,
|
||
because that could also include charts. Now we specify
|
||
`w:drawing/pic:pic`. This shouldn't change behavior at all, but it's
|
||
a first step toward allowing other sorts of drawing data as well.
|
||
+ Abstract out function to avoid code repetition.
|
||
+ Update tests for img title and alt (#3204).
|
||
+ Handle Alt text and titles in images. We use the "description" field
|
||
as alt text and the "title" field as title. These can be accessed
|
||
through the "Format Picture" dialog in Word.
|
||
+ Docx reader utils: handle empty namespace in `elemName`. Previously,
|
||
if given an empty namespace `(elemName ns "" "foo")` `elemName`
|
||
would output a QName with a `Just ""` namespace. This is never what
|
||
we want. Now we output a `Nothing`. If someone *does* want a
|
||
`Just ""` in the namespace, they can enter the QName
|
||
value explicitly.
|
||
|
||
* ODT reader/writer:
|
||
|
||
+ Inline code when text has a special style (Hubert Plociniczak). When
|
||
a piece of text has a text `Source_Text` then we assume that this is
|
||
a piece of the document that represents a code that needs to
|
||
be inlined. Adapted the writer to also reflect that change.
|
||
Previously it was just writing a 'preformatted' text using a
|
||
non-distinguishable font style. Code blocks are still not recognized
|
||
by the ODT reader. That's a separate issue.
|
||
+ Infer table's caption from the paragraph (#3224,
|
||
Hubert Plociniczak). ODT's reader always put empty captions for the
|
||
parsed tables. This commit
|
||
|
||
1. checks paragraphs that follow the table definition
|
||
2. treats specially a paragraph with a style named 'Table'
|
||
3. does some postprocessing of the paragraphs that combines tables
|
||
followed immediately by captions
|
||
|
||
The ODT writer used the `TableCaption` style for the caption
|
||
paragraph. This commit follows the OpenOffice approach which allows
|
||
for appending captions to table but uses a built-in style named
|
||
`Table` instead of `TableCaption`. Users of a custom `reference.odt`
|
||
should change the style's name from `TableCaption` to `Table`.
|
||
|
||
* ODT reader: Infer tables' header props from rows (#3199,
|
||
Hubert Plociniczak). ODT reader simply provided an empty header list
|
||
which meant that the contents of the whole table, even if not empty, was
|
||
simply ignored. While we still do not infer headers we at least have to
|
||
provide default properties of columns.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Allow reference link labels starting with `@...` if `citations`
|
||
extension disabled (#3209). Example: in
|
||
|
||
\[link text\]\[@a\]
|
||
|
||
`link text` isn't hyperlinked because `[@a]` is parsed as
|
||
a citation. Previously this happened whether or not the `citations`
|
||
extension was enabled. Now it happens only if the `citations`
|
||
extension is enabled.
|
||
+ Allow alignments to be specified in Markdown grid tables. For
|
||
example,
|
||
|
||
+-------+---------------+--------------------+
|
||
| Right | Left | Centered |
|
||
+=========:+:=================+:=============:+
|
||
| Bananas | $1.34 | built-in wrapper |
|
||
+-------+---------------+--------------------+
|
||
|
||
+ Allow Small Caps elements to be created using bracketed spans (as
|
||
they already can be using HTML-syntax spans) (#3191, Kolen Cheung).
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Don't treat `\vspace` and `\hspace` as block commands (#3256).
|
||
Fixed an error which came up, for example, with `\vspace` inside
|
||
a caption. (Captions expect inlines.)
|
||
+ Improved table handling. We can now parse all of the tables emitted
|
||
by pandoc in our tests. The only thing we don't get yet are
|
||
alignments and column widths in more complex tables. See #2669.
|
||
+ Limited support for minipage.
|
||
+ Allow for `[]`s inside LaTeX optional args. Fixes cases like:
|
||
+ Handle BVerbatim from fancyvrb (#3203).
|
||
+ Handle hungarumlaut (#3201).
|
||
+ Allow beamer-style `<...>` options in raw LaTeX (also in Markdown)
|
||
(#3184). This allows use of things like `\only<2,3>{my content}` in
|
||
Markdown that is going to be converted to beamer.
|
||
|
||
* Use pre-wrap for code in dzslides template (Nicolas Porcel). Otherwise
|
||
overly long code will appear on every slide.
|
||
|
||
* Org reader (Albert Krewinkel):
|
||
|
||
+ Respect column width settings (#3246). Table column properties can
|
||
optionally specify a column's width with which it is displayed in
|
||
the buffer. Some exporters, notably the ODT exporter in org-mode
|
||
v9.0, use these values to calculate relative column widths. The org
|
||
reader now implements the same behavior. Note that the org-mode
|
||
LaTeX and HTML exporters in Emacs don't support this feature yet,
|
||
which should be kept in mind by users who use the column
|
||
widths parameters.
|
||
+ Allow HTML attribs on non-figure images (#3222). Images which are
|
||
the only element in a paragraph can still be given HTML attributes,
|
||
even if the image does not have a caption and is hence not a figure.
|
||
The following will add set the `width` attribute of the image to
|
||
`50%`:
|
||
|
||
+ATTR\_HTML: :width 50%
|
||
=======================
|
||
|
||
\[\[file:image.jpg\]\]
|
||
|
||
+ Support `ATTR_HTML` for special blocks (#3182). Special
|
||
blocks (i.e. blocks with unrecognized names) can be prefixed with an
|
||
`ATTR_HTML` block attribute. The attributes defined in that
|
||
meta-directive are added to the `Div` which is used to represent the
|
||
special block.
|
||
+ Support the `todo` export option. The `todo` export option allows to
|
||
toggle the inclusion of TODO keywords in the output. Setting this to
|
||
`nil` causes TODO keywords to be dropped from headlines. The default
|
||
is to include the keywords.
|
||
+ Add support for todo-markers. Headlines can have optional
|
||
todo-markers which can be controlled via the `#+TODO`, `#+SEQ_TODO`,
|
||
or `#+TYP_TODO` meta directive. Multiple such directives can be
|
||
given, each adding a new set of recognized todo-markers. If no
|
||
custom todo-markers are defined, the default `TODO` and `DONE`
|
||
markers are used. Todo-markers are conceptually separate from
|
||
headline text and are hence excluded when autogenerating
|
||
headline IDs. The markers are rendered as spans and labelled with
|
||
two classes: One class is the markers name, the other signals the
|
||
todo-state of the marker (either `todo` or `done`).
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Use `\autocites*` when "suppress-author" citation used.
|
||
+ Ensure that simple tables have simple cells (#2666). If cells
|
||
contain more than a single Plain or Para, then we need to set
|
||
nonzero widths and put contents into minipages.
|
||
+ Remove invalid inlines in sections (#3218, Hubert Plociniczak).
|
||
|
||
* Markdown writer:
|
||
|
||
+ Fix calculation of column widths for aligned multiline tables
|
||
(#1911, Björn Peemöller). This also fixes excessive CPU and memory
|
||
usage for tables when `--columns` is set in such a way that cells
|
||
must be very tiny. Now cells are guaranteed to be big enough so that
|
||
single words don't need to line break, even if this pushes the line
|
||
length above the column width.
|
||
+ Use bracketed form for native spans when `bracketed_spans`
|
||
enabled (#3229).
|
||
+ Fixed inconsistent spacing issue (#3232). Previously a tight bullet
|
||
sublist got rendered with a blank line after, while a tight ordered
|
||
sublist did not. Now we don't get the blank line in either case.
|
||
+ Fix escaping of spaces in super/subscript (#3225). Previously two
|
||
backslashes were inserted, which gave a literal backslash.
|
||
+ Adjust widths in Markdown grid tables so that they match
|
||
on round-trip.
|
||
|
||
* Docx writer:
|
||
|
||
+ Give full detail when there are errors converting tex math.
|
||
+ Handle title text in images (Jesse Rosenthal). We already handled
|
||
alt text. This just puts the image "title" into the docx
|
||
"title" attr.
|
||
+ Fixed XML markup for empty cells (#3238). Previously the Compact
|
||
style wasn't being applied properly to empty cells.
|
||
|
||
* HTML writer:
|
||
|
||
+ Updated `renderHtml` import from blaze-html.
|
||
|
||
* Text.Pandoc.Pretty:
|
||
|
||
+ Fixed some bugs that caused blank lines in tables (#3251). The bugs
|
||
caused spurious blank lines in grid tables when we had things like
|
||
`blankline $$ blankline`.
|
||
+ Add exported function `minOffet` \[API change\] (Björn Peemöller).
|
||
+ Added error message for illegal call to `block` (Björn Peemöller).
|
||
|
||
* Text.Pandoc.Shared:
|
||
|
||
+ Put `warn` in MonadIO.
|
||
+ `fetchItem`: Better handling of protocol-relative URL (#2635). If
|
||
URL starts with `//` and there is no "base URL" (as there would be
|
||
if a URL were used on the command line), then default to http:.
|
||
|
||
* Export Text.Pandoc.getDefaultExtensions \[API change\] (#3178).
|
||
|
||
* In --version, trap error in `getAppUserDataDirectory` (#3241). This
|
||
fixes a crash with `pandoc --version` on unusual systems with no real
|
||
user (e.g. SQL Server 2016).
|
||
|
||
* Added weigh-pandoc for memory usage diagnostics (#3169).
|
||
|
||
* Use correct mime types for woff and woff2 (#3228).
|
||
|
||
* Remove make\_travis\_yml.hs (#3235, Kolen Cheung).
|
||
|
||
* changelog: Moved an item that was misplaced in the 1.17.2 section to the
|
||
1.18 section where it belongs.
|
||
|
||
* CONTRIBUTING.md: minor change in wording and punctuation (#3252,
|
||
Kolen Cheung).
|
||
|
||
* Further revisions to manual for `--version` changes (#3244).
|
||
|
||
|
||
pandoc (1.18)
|
||
|
||
* Added `--list-input-formats`, `--list-output-formats`,
|
||
`--list-extensions`, `--list-highlight-languages`, and
|
||
`--list-highlight-styles` (#3173). Removed list of highlighting
|
||
languages from `--version` output. Removed list of input and output
|
||
formats from default `--help` output.
|
||
|
||
* Added `--reference-location=block|section|document` option
|
||
(Jesse Rosenthal). This determines whether Markdown link references
|
||
and footnotes are placed at the end of the document, the end of the
|
||
section, or the end of the top-level block.
|
||
|
||
* Added `--top-level-division=section|chapter|part` (Albert Krewinkel).
|
||
This determines what a level-1 header corresponds to in LaTeX,
|
||
ConTeXt, DocBook, and TEI output. The default is `section`.
|
||
The `--chapters` option has been deprecated in favor of
|
||
`--top-level-division=chapter`.
|
||
|
||
* Added `LineBlock` constructor for `Block` (Albert Krewinkel). This
|
||
is now used in parsing RST and Markdown line blocks, DocBook
|
||
`linegroup`/`line` combinations, and Org-mode `VERSE` blocks.
|
||
Previously `Para` blocks with hard linebreaks were used. `LineBlock`s
|
||
are handled specially in the following ouput formats: AsciiDoc
|
||
(as `[verse]` blocks), ConTeXt (`\startlines`/`\endlines`),
|
||
HTML (`div` with a style), Markdown (line blocks if `line_blocks`
|
||
is enabled), Org-mode (`VERSE` blocks), RST (line blocks). In
|
||
other output formats, a paragraph with hard linebreaks is emitted.
|
||
|
||
* Allow binary formats to be written to stdout (but not to tty) (#2677).
|
||
Only works on posix, since we use the unix library to check whether
|
||
output is to tty. On Windows, pandoc works as before and always requires
|
||
an output file parameter for binary formats.
|
||
|
||
* Changed JSON output format (Jesse Rosenthal). Previously we used
|
||
generically generated JSON, but this was subject to change depending
|
||
on the version of aeson pandoc was compiled with. To ensure stability,
|
||
we switched to using manually written ToJSON and FromJSON
|
||
instances, and encoding the API version. **Note:** pandoc filter
|
||
libraries will need to be revised to handle the format change.
|
||
Here is a summary of the essential changes:
|
||
|
||
+ The toplevel JSON format is now `{"pandoc-api-version" :
|
||
[MAJ, MIN, REV], "meta" : META, "blocks": BLOCKS}`
|
||
instead of `[{"unMeta": META}, [BLOCKS]]`.
|
||
Decoding fails if the major and minor version numbers don't
|
||
match.
|
||
+ Leaf nodes no longer have an empty array for their "c" value.
|
||
Thus, for example, a `Space` is encoded as `{"t":"Space"}`
|
||
rather than `{"t":"Space","c":[]}` as before.
|
||
|
||
* Removed `tests/Tests/Arbitrary.hs` and added a `Text.Pandoc.Arbitrary`
|
||
module to pandoc-types (Jesse Rosenthal). This makes it easier
|
||
to use QuickCheck with pandoc types outside of pandoc itself.
|
||
|
||
* Add `bracketed_spans` Markdown extension, enabled by default
|
||
in pandoc `markdown`. This allows you to create a native span
|
||
using this syntax: `[Here is my span]{#id .class key="val"}`.
|
||
|
||
* Added `angle_brackets_escapable` Markdown extension (#2846).
|
||
This is needed because github flavored Markdown has a slightly
|
||
different set of escapable symbols than original Markdown;
|
||
it includes angle brackets.
|
||
|
||
* Export `Text.Pandoc.Error` in `Text.Pandoc` [API change].
|
||
|
||
* Print highlighting-kate version in `--version`.
|
||
|
||
* `Text.Pandoc.Options`:
|
||
|
||
+ `Extension` has new constructors `Ext_brackted_spans` and
|
||
`Ext_angle_brackets_escapable` [API change].
|
||
+ Added `ReferenceLocation` type [API change] (Jesse Rosenthal).
|
||
+ Added `writerReferenceLocation` field to `WriterOptions` (Jesse
|
||
Rosenthal).
|
||
|
||
* `--filter`: we now check `$DATADIR/filters` for filters before
|
||
looking in the path (#3127, Jesse Rosenthal, thanks to Jakob
|
||
Voß for the idea). Filters placed in this directory need not
|
||
be executable; if the extension is `.hs`, `.php`, `.pl`, `.js`,
|
||
or `.rb`, pandoc will run the right interpreter.
|
||
|
||
* For `--webtex`, replace deprecated Google Chart API by CodeCogs as
|
||
default (Kolen Cheung).
|
||
|
||
* Removed `raw_tex` extension from `markdown_mmd` defaults (Kolen Cheung).
|
||
|
||
* Execute .js filters with node (Jakob Voß).
|
||
|
||
* Textile reader:
|
||
|
||
+ Support `bc..` extended code blocks (#3037). Also, remove trailing
|
||
newline in code blocks (consistently with Markdown reader).
|
||
+ Improve table parsing. We now handle cell and row attributes, mostly
|
||
by skipping them. However, alignments are now handled properly.
|
||
Since in pandoc alignment is per-column, not per-cell, we
|
||
try to devine column alignments from cell alignments.
|
||
Table captions are also now parsed, and textile indicators
|
||
for thead and tfoot no longer cause parse failure. (However,
|
||
a row designated as tfoot will just be a regular row in pandoc.)
|
||
+ Improve definition list parsing. We now allow multiple terms
|
||
(which we concatenate with linebreaks). An exponential parsing
|
||
bug (#3020) is also fixed.
|
||
+ Disallow empty URL in explicit link (#3036).
|
||
|
||
* RST reader:
|
||
|
||
+ Use Div instead of BlockQuote for admonitions (#3031).
|
||
The Div has class `admonition` and (if relevant) one of the
|
||
following: `attention`, `caution`, `danger`, `error`, `hint`,
|
||
`important`, `note`, `tip`, `warning`. **Note:** This will change
|
||
the rendering of some RST documents! The word ("Warning", "Attention",
|
||
etc.) is no longer added; that must be done with CSS or a filter.
|
||
+ A Div is now used for `sidebar` as well.
|
||
+ Skip whitespace before note (Jesse Rosenthal, #3163). RST requires a
|
||
space before a footnote marker. We discard those spaces so that footnotes
|
||
will be adjacent to the text that comes before it. This is in line with
|
||
what rst2latex does.
|
||
+ Allow empty lines when parsing line blocks (Albert Krewinkel).
|
||
|
||
* Markdown reader:
|
||
|
||
+ Allow empty lines when parsing line blocks (Albert Krewinkel).
|
||
+ Allow attributes on autolinks (#3183, Daniele D'Orazio).
|
||
|
||
* LaTeX reader:
|
||
|
||
+ More robust parsing of unknown environments (#3026).
|
||
We no longer fail on things like `^` inside options for tikz.
|
||
+ Be more forgiving of non-standard characters, e.g. `^` outside of math.
|
||
Some custom environments give these a meaning, so we should try not to
|
||
fall over when we encounter them.
|
||
+ Drop duplicate `*` in bibtexKeyChars (Albert Krewinkel)
|
||
|
||
* MediaWiki reader:
|
||
|
||
+ Fix for unquoted attribute values in mediawiki tables (#3053).
|
||
Previously an unquoted attribute value in a table row
|
||
could cause parsing problems.
|
||
+ Improved treatment of verbatim constructions (#3055).
|
||
Previously these yielded strings of alternating Code and Space
|
||
elements; we now incorporate the spaces into the Code. Emphasis
|
||
etc. is still possible inside these.
|
||
+ Properly interpret XML tags in pre environments (#3042). They are meant
|
||
to be interpreted as literal text.
|
||
|
||
* EPUB reader: don't add root path to data: URIs (#3150).
|
||
Thanks to @lep for the bug report and patch.
|
||
|
||
* Org reader (Albert Krewinkel):
|
||
|
||
+ Preserve indentation of verse lines (#3064). Leading spaces in verse
|
||
lines are converted to non-breaking spaces, so indentation is preserved.
|
||
+ Ensure image sources are proper links. Image sources as those in plain
|
||
images, image links, or figures, must be proper URIs or relative file
|
||
paths to be recognized as images. This restriction is now enforced
|
||
for all image sources. This also fixes the reader's usage of uncleaned
|
||
image sources, leading to `file:` prefixes not being deleted from
|
||
figure images. Thanks to @bsag for noticing this bug.
|
||
+ Trim verse lines properly (Albert Krewinkel).
|
||
+ Extract meta parsing code to module. Parsing of meta-data is well
|
||
separable from other block parsing tasks. Moving into new module to
|
||
get small files and clearly arranged code.
|
||
+ Read markup only for special meta keys. Most meta-keys should be read
|
||
as normal string values, only a few are interpreted as marked-up text.
|
||
+ Allow multiple, comma-separated authors. Multiple authors can be
|
||
specified in the `#+AUTHOR` meta line if they are given as a
|
||
comma-separated list.
|
||
+ Give precedence to later meta lines. The last meta-line of any given
|
||
type is the significant line. Previously the value of the first line
|
||
was kept, even if more lines of the same type were encounterd.
|
||
+ Read LaTeX_header as header-includes. LaTeX-specific header commands
|
||
can be defined in `#+LaTeX_header` lines. They are parsed as
|
||
format-specific inlines to ensure that they will only show up in LaTeX
|
||
output.
|
||
+ Set documentclass meta from LaTeX_class.
|
||
+ Set classoption meta from LaTeX_class_options.
|
||
+ Read HTML_head as header-includes. HTML-specific head content can be
|
||
defined in `#+HTML_head` lines. They are parsed as format-specific
|
||
inlines to ensure that they will only show up in HTML output.
|
||
+ Respect `author` export option. The `author` option controls whether
|
||
the author should be included in the final markup. Setting
|
||
`#+OPTIONS: author:nil` will drop the author from the final meta-data
|
||
output.
|
||
+ Respect `email` export option. The `email` option controls whether the
|
||
email meta-field should be included in the final markup. Setting
|
||
`#+OPTIONS: email:nil` will drop the email field from the final
|
||
meta-data output.
|
||
+ Respect `creator` export option. The `creator` option controls whether
|
||
the creator meta-field should be included in the final markup. Setting
|
||
`#+OPTIONS: creator:nil` will drop the creator field from the final
|
||
meta-data output. Org-mode recognizes the special value `comment` for
|
||
this field, causing the creator to be included in a comment. This is
|
||
difficult to translate to Pandoc internals and is hence interpreted the
|
||
same as other truish values (i.e. the meta field is kept if it's
|
||
present).
|
||
+ Respect unnumbered header property (#3095). Sections the `unnumbered`
|
||
property should, as the name implies, be excluded from the automatic
|
||
numbering of section provided by some output formats. The Pandoc
|
||
convention for this is to add an "unnumbered" class to the header. The
|
||
reader treats properties as key-value pairs per default, so a special
|
||
case is added to translate the above property to a class instead.
|
||
+ Allow figure with empty caption (Albert Krewinkel, #3161).
|
||
A `#+CAPTION` attribute before an image is enough to turn an image into
|
||
a figure. This wasn't the case because the `parseFromString` function,
|
||
which processes the caption value, would fail on empty values. Adding
|
||
a newline character to the caption value fixes this.
|
||
|
||
* Docx reader:
|
||
|
||
+ Use XML convenience functions (Jesse Rosenthal).
|
||
The functions `isElem` and `elemName` (defined in Docx/Util.hs) make
|
||
the code a lot cleaner than the original XML.Light functions, but they
|
||
had been used inconsistently. This puts them in wherever applicable.
|
||
+ Handle anchor spans with content in headers. Previously, we would only
|
||
be able to figure out internal links to a header in a docx if the
|
||
anchor span was empty. We change that to read the inlines out of the
|
||
first anchor span in a header.
|
||
+ Let headers use exisiting id. Previously we always generated an id for
|
||
headers (since they wouldn't bring one from Docx). Now we let it use an
|
||
existing one if possible. This should allow us to recurs through anchor
|
||
spans.
|
||
+ Use all anchor spans for header ids. Previously we only used the first
|
||
anchor span to affect header ids. This allows us to use all the anchor
|
||
spans in a header, whether they're nested or not (#3088).
|
||
+ Test for nested anchor spans in header. This ensures that anchor spans
|
||
in header with content (or with other anchor spans inside) will resolve
|
||
to links to a header id properly.
|
||
|
||
* ODT reader (Hubert Plociniczak)
|
||
|
||
+ Include list's starting value. Previously the starting value of
|
||
the lists' items has been hardcoded to 1. In reality ODT's list
|
||
style definition can provide a new starting value in one of its
|
||
attributes.
|
||
+ Infer caption from the text following the image.
|
||
Frame can contain other frames with the text boxes.
|
||
+ Add `fig:` to title for Image with a caption (as expected
|
||
by pandoc's writers).
|
||
+ Basic support for images in ODT documents.
|
||
+ Don't duplicate text for anchors (#3143). When creating an anchor
|
||
element we were adding its representation as well as the original
|
||
content, leading to text duplication.
|
||
|
||
* DocBook writer:
|
||
|
||
+ Include an anchor element when a div or span has an id (#3102).
|
||
Note that DocBook does not have a class attribute, but at least this
|
||
provides an anchor for internal links.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Don't use * for unnumbered paragraph, subparagraph. The starred
|
||
variants don't exist. This helps with part of #3058...it gets rid of
|
||
the spurious `*`s. But we still have numbers on the 4th and 5th level
|
||
headers.
|
||
+ Properly escape backticks in verbatim (#3121, Jesse Rosenthal).
|
||
Otherwise they can cause unintended ligatures like `` ?` ``.
|
||
+ Handle NARRAOW NO-BREAK SPACE into LaTeX (Vaclav Zeman) as `\,`.
|
||
+ Don't include `[htbp]` placement for figures (#3103, Václav Haisman).
|
||
This allows figure placement defaults to be changed by the user
|
||
in the template.
|
||
|
||
* HTML writer (slide show formats): In slide shows, don't change slide title
|
||
to level 1 header (#2221).
|
||
|
||
* TEI writer: remove heuristic to detect book template (Albert Krewinkel).
|
||
TEI doesn't have `<book>` elements but only generic `<divN>` division
|
||
elements. Checking the template for a trailing `</book>` is nonsensical.
|
||
|
||
* MediaWiki writer: transform filename with underscores in images (#3052).
|
||
`foo bar.jpg` becomes `foo_bar.jpg`. This was already done
|
||
for internal links, but it also needs to happen for images.
|
||
|
||
* ICML writer: replace partial function (!!) in table handling (#3175,
|
||
Mauro Bieg).
|
||
|
||
* Man writer: allow section numbers that are not a single digit (#3089).
|
||
|
||
* AsciiDoc writer: avoid unnecessary use of "unconstrained" emphasis
|
||
(#3068). In AsciiDoc, you must use a special form of emphasis
|
||
(double `__`) for intraword emphasis. Pandoc was previously using
|
||
this more than necessary.
|
||
|
||
* EPUB writer: use stringify instead of plain writer for metadata
|
||
(#3066). This means that underscores won't be used for emphasis,
|
||
or CAPS for bold. The metadata fields will just have unadorned
|
||
text.
|
||
|
||
* Docx Writer:
|
||
|
||
+ Implement user-defined styles (Jesse Rosenthal). Divs and Spans
|
||
with a `custom-style` key in the attributes will apply the corresponding
|
||
key to the contained blocks or inlines.
|
||
+ Add ReaderT env to the docx writer (Jesse Rosenthal).
|
||
+ Clean up and streamline RTL behavior (Jesse Rosenthal, #3140).
|
||
You can set `dir: rtl` in YAML metadata, or use `-M dir=rtl`
|
||
on the command line. For finer-grained control, you can set
|
||
the `dir` attribute in Div or Span elements.
|
||
|
||
* Org writer (Albert Krewinkel):
|
||
|
||
+ Remove blank line after figure caption. Org-mode only treats an image
|
||
as a figure if it is directly preceded by a caption.
|
||
+ Ensure blank line after figure. An Org-mode figure should be surrounded
|
||
by blank lines. The figure would be recognized regardless, but images
|
||
in the following line would unintentionally be treated as figures as
|
||
well.
|
||
+ Ensure link targets are paths or URLs. Org-mode treats links as
|
||
document internal searches unless the link target looks like a URL or
|
||
file path, either relative or absolute. This change ensures that this
|
||
is always the case.
|
||
+ Translate language identifiers. Pandoc and Org-mode use different
|
||
programming language identifiers. An additional translation between
|
||
those identifiers is added to avoid unexpected behavior. This fixes a
|
||
problem where language specific source code would sometimes be output
|
||
as example code.
|
||
+ Drop space before footnote markers (Albert Krewinkel, #3162).
|
||
The writer no longer adds an extra space before footnote markers.
|
||
|
||
* Markdown writer:
|
||
|
||
+ Don't emit HTML for tables unless `raw_html` extension is set (#3154).
|
||
Emit `[TABLE]` if no suitable table formats are enabled and raw HTML
|
||
is disabled.
|
||
+ Check for the `raw_html` extension before emiting a raw HTML block.
|
||
+ Abstract out note/ref function (Jesse Rosenthal).
|
||
+ Add ReaderT monad for environment variables (Jesse Rosenthal).
|
||
|
||
* HTML, EPUB, slidy, revealjs templates: Use `<p>` instead of `<h1>` for
|
||
subtitle, author, date (#3119). Note that, as a result of this change,
|
||
authors may need to update CSS.
|
||
|
||
* revealjs template: Added `notes-server` option
|
||
(jgm/pandoc-templates#212, Yoan Blanc).
|
||
|
||
* Beamer template:
|
||
|
||
+ Restore whitespace between paragraphs. This was
|
||
a regression in the last release (jgm/pandoc-templates#207).
|
||
+ Added `themeoptions` variable (Carsten Gips).
|
||
+ Added `beamerarticle` variable. This causes the `beamerarticle`
|
||
package to be loaded in beamer, to produce an article from beamer
|
||
slides. (Carsten Gips)
|
||
+ Added support for `fontfamilies` structured variable
|
||
(Artem Klevtsov).
|
||
+ Added hypersetup options (Jake Zimmerman).
|
||
|
||
* LaTeX template:
|
||
|
||
+ Added dummy definition for `\institute`.
|
||
This isn't a standard command, and we want to avoid a crash when
|
||
`institute` is used with the default template.
|
||
+ Define default figure placement (Václav Haisman), since pandoc
|
||
no longer includes `[htbp]` for figures. Users with custom templates
|
||
will want to add this. See #3103.
|
||
+ Use footnote package to fix notes in tables (jgm/pandoc-templates#208,
|
||
Václav Haisman).
|
||
|
||
* Moved template compiling/rendering code to a separate library.
|
||
`doctemplates`. This allows the pandoc templating system to be
|
||
used independently.
|
||
|
||
* Text.Pandoc.Error: Fix out of index error in `handleError`
|
||
(Matthew Pickering). The fix is to not try to show the exact line when
|
||
it would cause an out-of-bounds error as a result of included files.
|
||
|
||
* Text.Pandoc.Shared: Add `linesToBlock` function (Albert Krewinkel).
|
||
|
||
* Text.Pandoc.Parsing.emailAddress: tighten up parsing of email
|
||
addresses. Technically `**@user` is a valid email address, but if we
|
||
allow things like this, we get bad results in markdown flavors
|
||
that autolink raw email addresses (see #2940). So we exclude a few
|
||
valid email addresses in order to avoid these more common bad cases.
|
||
|
||
* Text.Pandoc.PDF: Don't crash with nonexistent image (#3100). Instead,
|
||
emit the alt text, emphasized. This accords with what the ODT writer
|
||
currently does. The user will still get a warning about a nonexistent
|
||
image.
|
||
|
||
* Fix example in API documentation (#3176, Thomas Weißschuh).
|
||
|
||
* Tell where to get tarball in INSTALL (#3062).
|
||
|
||
* Rename README to MANUAL.txt and add GitHub-friendly README.md
|
||
(Albert Krewinkel, Kolen Cheung).
|
||
|
||
* Replace COPYING with Markdown version COPYING.md from GNU (Kolen Cheung).
|
||
|
||
* MANUAL.txt:
|
||
|
||
+ Put note on structured vars in separate paragraph (#2148, Albert
|
||
Krewinkel). Make it clearer that structured author variables require a
|
||
custom template
|
||
+ Note that `--katex` works best with `html5` (#3077).
|
||
+ Fix the LaTeX and EPUB links in manual (Morton Fox).
|
||
+ Document `biblio-title` variable.
|
||
|
||
* Improve spacing of footnotes in `--help` output (Waldir Pimenta).
|
||
|
||
* Update KaTeX to v0.6.0 (Kolen Cheung).
|
||
|
||
* Allow latest dependencies.
|
||
|
||
* Use texmath 0.8.6.6 (#3040).
|
||
|
||
* Allow http-client 0.4.30, which is the version in stackage lts.
|
||
Previously we required 0.5.
|
||
Remove CPP conditionals for earlier versions.
|
||
|
||
* Remove support for GHC < 7.8 (Jesse Rosenthal).
|
||
|
||
+ Remove Compat.Monoid.
|
||
+ Remove an inline monad compatibility macro.
|
||
+ Remove Text.Pandoc.Compat.Except.
|
||
+ Remove directory compat.
|
||
+ Change constraint on mtl.
|
||
+ Remove unnecessary CPP condition in UTF8.
|
||
+ Bump base lower bound to 4.7.
|
||
+ Remove 7.6 build from .travis.yaml.
|
||
+ Bump supported ghc version in CONTRIBUTING.md.
|
||
+ Add note about GHC version support to INSTALL.
|
||
+ Remove GHC 7.6 from list of tested versions (Albert Krewinkel).
|
||
+ Remove TagSoup compat.
|
||
+ Add EOL note to time compat module. Because time 1.4 is a boot library
|
||
for GHC 7.8, we will support the compatibility module as long as we
|
||
support 7.8. But we should be clear about when we will no longer need
|
||
it.
|
||
+ Remove blaze-html CPP conditional.
|
||
+ Remove unnecessary CPP in custom Prelude.
|
||
|
||
pandoc (1.17.2)
|
||
|
||
* Added Zim Wiki writer, template and tests. `zimwiki` is now
|
||
a valid output format. (Alex Ivkin)
|
||
|
||
* Changed email-obfuscation default to no obfuscation (#2988).
|
||
+ `writerEmailObfuscation` in `defaultWriterOptions` is now
|
||
`NoObfuscation`.
|
||
+ the default for the command-line `--email-obfuscation` option is
|
||
now `none`.
|
||
|
||
* Docbook writer: Declare xlink namespace in Docbook5 output (Ivo Clarysse).
|
||
|
||
* Org writer:
|
||
|
||
+ Support arbitrary raw inlines (Albert Krewinkel).
|
||
Org mode allows arbitrary raw inlines ("export snippets" in Emacs
|
||
parlance) to be included as `@@format:raw foreign format text@@`.
|
||
+ Improve Div handling (Albert Krewinkel). Div blocks handling is
|
||
changed to make the output look more like idiomatic org mode:
|
||
- Div-wrapped content is output as-is if the div's attribute is the
|
||
null attribute.
|
||
- Div containers with an id but neither classes nor key-value pairs
|
||
are unwrapped and the id is added as an anchor.
|
||
- Divs with classes associated with greater block elements are
|
||
wrapped in a `#+BEGIN`...`#+END` block.
|
||
- The old behavior for Divs with more complex attributes is kept.
|
||
|
||
* HTML writer:
|
||
|
||
+ Better support for raw LaTeX environments (#2758).
|
||
Previously we just passed all raw TeX through when MathJax was used for
|
||
HTML math. This passed through too much. With this patch, only raw
|
||
LaTeX environments that MathJax can handle get passed through.
|
||
This patch also causes raw LaTeX environments to be treated
|
||
as math, when possible, with MathML and WebTeX output.
|
||
|
||
* Markdown writer: use raw HTML for simple, pipe tables with linebreaks
|
||
(#2993). Markdown line breaks involve a newline, and simple and pipe
|
||
tables can't contain one.
|
||
|
||
* Make --webtex work with the Markdown writer (#1177).
|
||
This is a convenient option for people using
|
||
websites whose Markdown flavors don't provide for math.
|
||
|
||
* Docx writer:
|
||
|
||
+ Set paragraph to FirstPara after display math (Jesse Rosenthal).
|
||
We treat display math like block quotes, and apply FirstParagraph style
|
||
to paragraphs that follow them. These can be styled as the user
|
||
wishes. (But, when the user is using indentation, this allows for
|
||
paragraphs to continue after display math without indentation.)
|
||
+ Use actual creation time as doc prop (Jesse Rosenthal).
|
||
Previously, we had used the user-supplied date, if available, for Word's
|
||
document creation metadata. This could lead to weird results, as in
|
||
cases where the user post-dates a document (so the modification might be
|
||
prior to the creation). Here we use the actual computer time to set the
|
||
document creation.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Don't URI-escape image source (#2825). Usually this is a local file,
|
||
and replacing spaces with `%20` ruins things.
|
||
+ Allow 'standout' as a beamer frame option (#3007).
|
||
`## Slide title {.standout}`.
|
||
|
||
* RST reader: Fixed links with no explicit link text. The link
|
||
`` `<foo>`_ `` should have `foo` as both its link text and its URL.
|
||
See RST spec at <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris-and-aliases>
|
||
Closes Debian #828167 -- reported by Christian Heller.
|
||
|
||
* Textile reader:
|
||
|
||
+ Fixed attributes (#2984). Attributes can't be followed by
|
||
a space. So, `_(class)emph_` but `_(noclass) emph_`.
|
||
+ Fixed exponential parsing bug (#3020).
|
||
+ Fix overly aggressive interpretation as images (#2998).
|
||
Spaces are not allowed in the image URL in textile.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Fix `\cite` so it is a NormalCitation not AuthorInText.
|
||
+ Strip off double quotes around image source if present (#2825).
|
||
Avoids interpreting these as part of the literal filename.
|
||
|
||
* Org reader:
|
||
|
||
+ Add semicolon to list of special chars (Albert Krewinkel)
|
||
Semicolons are used as special characters in citations syntax. This
|
||
ensures the correct parsing of Pandoc-style citations: `[prefix; @key;
|
||
suffix]`. Previously, parsing would have failed unless there was a space
|
||
or other special character as the last <prefix> character.
|
||
+ Add support for "Berkeley-style" cites (Albert Krewinkel, #1978).
|
||
A specification for an official Org-mode citation syntax was drafted by
|
||
Richard Lawrence and enhanced with the help of others on the orgmode
|
||
mailing list. Basic support for this citation style is added to the
|
||
reader.
|
||
+ Support arbitrary raw inlines (Albert Krewinkel).
|
||
Org mode allows arbitrary raw inlines ("export snippets" in Emacs
|
||
parlance) to be included as `@@format:raw foreign format text@@`.
|
||
+ Remove partial functions (Albert Krewinkel, #2991).
|
||
Partial functions like `head` lead to avoidable errors and should be
|
||
avoided. They are replaced with total functions.
|
||
+ Support figure labels (Albert Krewinkel, #2496, #2999).
|
||
Figure labels given as `#+LABEL: thelabel` are used as the ID of the
|
||
respective image. This allows e.g. the LaTeX to add proper `\label`
|
||
markup.
|
||
+ Improve tag and properties type safety (Albert Krewinkel).
|
||
Specific newtype definitions are used to replace stringly typing of tags
|
||
and properties. Type safety is increased while readability is improved.
|
||
+ Parse as headlines, convert to blocks (Albert Krewinkel).
|
||
Emacs org-mode is based on outline-mode, which treats documents as trees
|
||
with headlines are nodes. The reader is refactored to parse into a
|
||
similar tree structure. This simplifies transformations acting on
|
||
document (sub-)trees.
|
||
* Refactor comment tree handling (Albert Krewinkel).
|
||
Comment trees were handled after parsing, as pattern matching on lists
|
||
is easier than matching on sequences. The new method of reading
|
||
documents as trees allows for more elegant subtree removal.
|
||
* Support archived trees export options (Albert Krewinkel).
|
||
Handling of archived trees can be modified using the `arch` option.
|
||
Archived trees are either dropped, exported completely, or collapsed to
|
||
include just the header when the `arch` option is nil, non-nil, or
|
||
`headline`, respectively.
|
||
* Put export setting parser into module (Albert Krewinkel).
|
||
Export option parsing is distinct enough from general block parsing to
|
||
justify putting it into a separate module.
|
||
* Support headline levels export setting (Albert Krewinkel).
|
||
The depths of headlines can be modified using the `H` option. Deeper
|
||
headlines will be converted to lists.
|
||
* Replace ugly code with view pattern (Albert Krewinkel).
|
||
Some less-than-smart code required a pragma switching of overlapping
|
||
pattern warnings in order to compile seamlessly. Using view patterns
|
||
makes the code easier to read and also doesn't require overlapping
|
||
pattern checks to be disabled.
|
||
* Fix parsing of verbatim inlines (Albert Krewinkel, #3016).
|
||
Org rules for allowed characters before or after markup chars were not
|
||
checked for verbatim text. This resultet in wrong parsing outcomes of
|
||
if the verbatim text contained e.g. space enclosed markup characters as
|
||
part of the text (`=is_substr = True=`). Forcing the parser to update
|
||
the positions of allowed/forbidden markup border characters fixes this.
|
||
|
||
* LaTeX template: fix for obscure hyperref/xelatex issue.
|
||
Here's a minimal case:
|
||
|
||
\documentclass[]{article}
|
||
\usepackage{hyperref}
|
||
\begin{document}
|
||
\section{\%á}
|
||
\end{document}
|
||
|
||
Without this change, this fails on the second invocation of xelatex.
|
||
This affects inputs this like `# %á` with pdf output via xelatex.
|
||
|
||
* trypandoc: call results 'html' instead of 'result'.
|
||
This is for better compatibility with babelmark2.
|
||
|
||
* Document MultiMarkdown as input/output format (Albert Krewinkel, #2973).
|
||
MultiMarkdown was only mentioned as a supported Markdown dialect but not
|
||
as a possible input or output format. A brief mention is added
|
||
everywhere the other supported markdown dialects are mentioned.
|
||
|
||
* Document Org mode as a format containing raw HTML (Albert Krewinkel)
|
||
Raw HTML is kept when the output format is Emacs Org mode.
|
||
|
||
* Implement `RawInline` and `RawBlock` in sample lua custom writer (#2985).
|
||
|
||
* Text.Pandoc.Shared:
|
||
|
||
+ Introduce blocksToInlines function (Jesse Rosenthal).
|
||
This is a lossy function for converting `[Block] -> [Inline]`. Its main
|
||
use, at the moment, is for docx comments, which can contain arbitrary
|
||
blocks (except for footnotes), but which will be converted to spans.
|
||
This is, at the moment, pretty useless for everything but the basic
|
||
`Para` and `Plain` comments. It can be improved, but the docx reader
|
||
should probably emit a warning if the comment contains more than this.
|
||
+ Add BlockQuote to blocksToInlines (Jesse Rosenthal).
|
||
+ Add further formats for `normalizeDate` (Jesse Rosenthal).
|
||
We want to avoid illegal dates -- in particular years with greater than
|
||
four digits. We attempt to parse series of digits first as `%Y%m%d`, then
|
||
`%Y%m`, and finally `%Y`.
|
||
+ `normalizeDate` should reject illegal years (Jesse Rosenthal).
|
||
We only allow years between 1601 and 9999, inclusive. The ISO 8601
|
||
actually says that years are supposed to start with 1583, but MS Word
|
||
only allows 1601-9999. This should stop corrupted word files if the date
|
||
is out of that range, or is parsed incorrectly.
|
||
+ Improve year sanity check in normalizeDate (Jesse Rosenthal).
|
||
Previously we parsed a list of dates, took the first one, and then
|
||
tested its year range. That meant that if the first one failed, we
|
||
returned nothing, regardless of what the others did. Now we test for
|
||
sanity before running `msum` over the list of Maybe values. Anything
|
||
failing the test will be Nothing, so will not be a candidate.
|
||
|
||
* Docx reader:
|
||
|
||
+ Add simple comment functionality. (Jesse Rosenthal).
|
||
This adds simple track-changes comment parsing to the docx reader. It is
|
||
turned on with `--track-changes=all`. All comments are converted to
|
||
inlines, which can list some information. In the future a warning will be
|
||
added for comments with formatting that seems like it will be excessively
|
||
denatured. Note that comments can extend across blocks. For that reason
|
||
there are two spans: `comment-start` and `comment-end`. `comment-start`
|
||
will contain the comment. `comment-end` will always be empty. The two
|
||
will be associated by a numeric id.
|
||
+ Enable warnings in top-level reader (Jesse Rosenthal).
|
||
Previously we had only allowed for warnings in the parser. Now we allow
|
||
for them in the `Docx.hs` as well. The warnings are simply concatenated.
|
||
+ Add warning for advanced comment formatting. (Jesse Rosenthal).
|
||
We can't guarantee we'll convert every comment correctly, though we'll
|
||
do the best we can. This warns if the comment includes something other
|
||
than Para or Plain.
|
||
+ Add tests for warnings. (Jesse Rosenthal).
|
||
+ Add tests for comments (Jesse Rosenthal).
|
||
We test for comments, using all track-changes options. Note that we
|
||
should only output comments if `--track-changes=all`. We also test for
|
||
emitting warnings if there is complicated formatting.
|
||
|
||
* README: update to include track-changes comments. (Jesse Rosenthal)
|
||
|
||
* Improved Windows installer - don't ignore properties set on command-line.
|
||
See #2708. Needs testing to see if this resolves the issue.
|
||
Thanks to @nkalvi.
|
||
|
||
* Process markdown extensions on command line in L->R order (#2995).
|
||
Previously they were processed, very unintuitively, in R->L
|
||
order, so that `markdown-tex_math_dollars+tex_math_dollars`
|
||
had `tex_math_dollars` disabled.
|
||
|
||
* Added `secnumdepth` variable to LaTeX template (#2920).
|
||
|
||
* Include table of contents in README.html in Windows package.
|
||
|
||
* Writers: treat SoftBreak as space for stripping (Jesse Rosenthal)
|
||
In Writers.Shared, we strip leading and trailing spaces for display
|
||
math. Since SoftBreak's are treated as spaces, we should strip those
|
||
too.
|
||
|
||
* beamer, latex templates: pass biblatexoptions directly in package load.
|
||
This allows runtime optinos to be used. Fixes jgm/pandoc-citeproc#201
|
||
|
||
* CPP workaround for deprecation of `parseUrl` in http-client.
|
||
|
||
* Removed some redundant class constraints.
|
||
|
||
* make_oxs_package.sh - use OSX env variable.
|
||
|
||
* Replaced INSTALL with INSTALL.md, incorporating INSTALL and the
|
||
old installing page from website.
|
||
|
||
* Added `winpkg` target to Makefile. This downloads the windows package
|
||
from appveyor and signs it using the key.
|
||
|
||
* Document Org mode as a format containing raw TeX (Albert Krewinkel).
|
||
Raw TeX is kept verbatim when the output format is Emacs Org mode.
|
||
|
||
* Support math with haddock-library >= 1.4.
|
||
|
||
* Removed `-rtsopts` from library stanza. It has no effect, and Hackage
|
||
wouldn't accept the package.
|
||
|
||
* Update library dependency versions.
|
||
|
||
pandoc (1.17.1)
|
||
|
||
* New output format: `docbook5` (Ivo Clarysse).
|
||
|
||
* `Text.Pandoc.Options`: Add `writerDocBook5` to `WriterOptions`
|
||
(API change).
|
||
|
||
* Org writer:
|
||
|
||
+ Add :PROPERTIES: drawer support (Albert Krewinkel, #1962).
|
||
This allows header attributes to be added to org documents in the form
|
||
of `:PROPERTIES:` drawers. All available attributes are stored as
|
||
key/value pairs. This reflects the way the org reader handles
|
||
`:PROPERTIES:` blocks.
|
||
+ Add drawer capability (Carlos Sosa). For the implementation of the
|
||
Drawer element in the Org Writer, we make use of a generic Block
|
||
container with attributes. The presence of a `drawer` class defines
|
||
that the `Div` constructor is a drawer. The first class defines the
|
||
drawer name to use. The key-value list in the attributes defines
|
||
the keys to add inside the Drawer. Lastly, the list of Block elements
|
||
contains miscellaneous blocks elements to add inside of the Drawer.
|
||
+ Use `CUSTOM_ID` in properties (Albert Krewinkel). The `ID` property is
|
||
reserved for internal use by Org-mode and should not be used.
|
||
The `CUSTOM_ID` property is to be used instead, it is converted to the
|
||
`ID` property for certain export format.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Ignore `--incremental` unless output format is beamer (#2843).
|
||
+ Fix polyglossia to babel env mapping (Mauro Bieg, #2728).
|
||
Allow for optional argument in square brackets.
|
||
+ Recognize `la-x-classic` as Classical Latin (Andrew Dunning).
|
||
This allows one to access the hyphenation patterns in CTAN's
|
||
hyph-utf8.
|
||
+ Add missing languages from hyph-utf8 (Andrew Dunning).
|
||
+ Improve use of `\strut` with `\minipage` inside tables
|
||
(Jose Luis Duran). This improves spacing in multiline
|
||
tables.
|
||
+ Use `{}` around options containing special chars (#2892).
|
||
+ Avoid lazy `foldl`.
|
||
+ Don't escape underscore in labels (#2921). Previously they were
|
||
escaped as `ux5f`.
|
||
+ brazilian -> brazil for polyglossia (#2953).
|
||
|
||
* HTML writer: Ensure mathjax link is added when math appears in footnote
|
||
(#2881). Previously if a document only had math in a footnote, the
|
||
MathJax link would not be added.
|
||
|
||
* EPUB writer: set `navpage` variable on nav page.
|
||
This allows templates to treat it differently.
|
||
|
||
* DocBook writer:
|
||
|
||
+ Use docbook5 if `writerDocbook5` is set (Ivo Clarysse).
|
||
+ Properly handle `ulink`/`link` (Ivo Clarysse).
|
||
|
||
* EPUB reader:
|
||
|
||
+ Unescape URIs in spine (#2924).
|
||
+ EPUB reader: normalise link id (Mauro Bieg).
|
||
|
||
* Docx Reader:
|
||
|
||
+ Parse `moveTo` and `moveFrom` (Jesse Rosenthal).
|
||
`moveTo` and `moveFrom` are track-changes tags that are used when a
|
||
block of text is moved in the document. We now recognize these tags and
|
||
treat them the same as `insert` and `delete`, respectively. So,
|
||
`--track-changes=accept` will show the moved version, while
|
||
`--track-changes=reject` will show the original version.
|
||
+ Tests for track-changes moving (Jesse Rosenthal).
|
||
|
||
* ODT, EPUB, Docx readers: throw `PandocError` on unzip failure
|
||
(Jesse Rosenthal) Previously, `readDocx`, `readEPUB`, and `readOdt`
|
||
would error out if zip-archive failed. We change the archive extraction
|
||
step from `toArchive` to `toArchiveOrFail`, which returns an Either value.
|
||
|
||
* Markdown, HTML readers: be more forgiving about unescaped `&` in
|
||
HTML (#2410). We are now more forgiving about parsing invalid HTML with
|
||
unescaped `&` as raw HTML. (Previously any unescaped `&`
|
||
would cause pandoc not to recognize the string as raw HTML.)
|
||
|
||
* Markdown reader:
|
||
|
||
+ Added bracket syntax for native spans (#168).
|
||
+ Fix pandoc title blocks with lines ending in 2 spaces (#2799).
|
||
+ Added `-s` to markdown-reader-more test.
|
||
|
||
* HTML reader: fixed bug in `pClose`. This caused exponential parsing
|
||
behavior in documnets with unclosed tags in `dl`, `dd`, `dt`.
|
||
|
||
* MediaWiki reader: Allow spaces before `!` in MediaWiki table header
|
||
(roblabla).
|
||
|
||
* RST reader: Support `:class:` option for code block in RST reader
|
||
(Sidharth Kapur).
|
||
|
||
* Org reader (all Albert Krewinkel, except where noted otherwise):
|
||
|
||
+ Stop padding short table rows.
|
||
Emacs Org-mode doesn't add any padding to table rows. The first
|
||
row (header or first body row) is used to determine the column count,
|
||
no other magic is performed.
|
||
+ Refactor rows-to-table conversion. This refactors
|
||
the codes conversing a list table lines to an org table ADT.
|
||
The old code was simplified and is now slightly less ugly.
|
||
+ Fix handling of empty table cells, rows (Albert Krewinkel, #2616).
|
||
This fixes Org mode parsing of some corner cases regarding empty cells
|
||
and rows. Empty cells weren't parsed correctly, e.g. `|||` should be
|
||
two empty cells, but would be parsed as a single cell containing a pipe
|
||
character. Empty rows where parsed as alignment rows and dropped from
|
||
the output.
|
||
+ Fix spacing after LaTeX-style symbols.
|
||
The org-reader was droping space after unescaped LaTeX-style symbol
|
||
commands: `\ForAll \Auml` resulted in `∀Ä` but should give `∀ Ä`
|
||
instead. This seems to be because the LaTeX-reader treats the
|
||
command-terminating space as part of the command. Dropping the trailing
|
||
space from the symbol-command fixes this issue.
|
||
+ Print empty table rows. Empty table rows should not
|
||
be dropped from the output, so row-height is always set to be at least 1.
|
||
+ Move parser state into separate module.
|
||
The org reader code has become large and confusing. Extracting smaller
|
||
parts into submodules should help to clean things up.
|
||
+ Add support for sub/superscript export options.
|
||
Org-mode allows to specify export settings via `#+OPTIONS` lines.
|
||
Disabling simple sub- and superscripts is one of these export options,
|
||
this options is now supported.
|
||
+ Support special strings export option Parsing of special strings
|
||
(like `...` as ellipsis or `--` as en dash) can be toggled using the `-`
|
||
option.
|
||
+ Support emphasized text export option. Parsing of emphasized text can
|
||
be toggled using the `*` option. This influences parsing of text marked
|
||
as emphasized, strong, strikeout, and underline. Parsing of inline math,
|
||
code, and verbatim text is not affected by this option.
|
||
+ Support smart quotes export option. Reading of smart quotes can be
|
||
toggled using the `'` option.
|
||
+ Parse but ignore export options. All known export options are parsed
|
||
but ignored.
|
||
+ Refactor block attribute handling. A parser state attribute was used
|
||
to keep track of block attributes defined in meta-lines. Global state
|
||
is undesirable, so block attributes are no longer saved as part of the
|
||
parser state. Old functions and the respective part of the parser state
|
||
are removed.
|
||
+ Use custom `anyLine`. Additional state changes need to be made after
|
||
a newline is parsed, otherwise markup may not be recognized correctly.
|
||
This fixes a bug where markup after certain block-types would not be
|
||
recognized.
|
||
+ Add support for `ATTR_HTML` attributes (#1906).
|
||
Arbitrary key-value pairs can be added to some block types using a
|
||
`#+ATTR_HTML` line before the block. Emacs Org-mode only includes these
|
||
when exporting to HTML, but since we cannot make this distinction here,
|
||
the attributes are always added. The functionality is now supported
|
||
for figures.
|
||
+ Add `:PROPERTIES:` drawer support (#1877).
|
||
Headers can have optional `:PROPERTIES:` drawers associated with them.
|
||
These drawers contain key/value pairs like the header's `id`. The
|
||
reader adds all listed pairs to the header's attributes; `id` and
|
||
`class` attributes are handled specially to match the way `Attr` are
|
||
defined. This also changes behavior of how drawers of unknown type
|
||
are handled. Instead of including all unknown drawers, those are not
|
||
read/exported, thereby matching current Emacs behavior.
|
||
+ Use `CUSTOM_ID` in properties. See above on Org writer changes.
|
||
+ Respect drawer export setting. The `d` export option can be used
|
||
to control which drawers are exported and which are discarded.
|
||
Basic support for this option is added here.
|
||
+ Ignore leading space in org code blocks (Emanuel Evans, #2862).
|
||
Also fix up tab handling for leading whitespace in code blocks.
|
||
+ Support new syntax for export blocks. Org-mode version 9
|
||
uses a new syntax for export blocks. Instead of `#+BEGIN_<FORMAT>`,
|
||
where `<FORMAT>` is the format of the block's content, the new
|
||
format uses `#+BEGIN_export <FORMAT>` instead. Both types are
|
||
supported.
|
||
+ Refactor `BEGIN...END` block parsing.
|
||
+ Fix handling of whitespace in blocks, allowing content to be indented
|
||
less then the block header.
|
||
+ Support org-ref style citations. The *org-ref* package is an
|
||
org-mode extension commonly used to manage citations in org
|
||
documents. Basic support for the `cite:citeKey` and
|
||
`[[cite:citeKey][prefix text::suffix text]]` syntax is added.
|
||
+ Split code into separate modules, making for cleaner code and
|
||
better decoupling.
|
||
|
||
* Added `docbook5` template.
|
||
|
||
* `--mathjax` improvements:
|
||
|
||
+ Use new CommonHTML output for MathJax (updated default MathJax URL,
|
||
#2858).
|
||
+ Change default mathjax setup to use `TeX-AMS_CHTML` configuration.
|
||
This is designed for cases where the input is always TeX and maximal
|
||
conformity with TeX is desired. It seems to be smaller and load faster
|
||
than what we used before. See #2858.
|
||
+ Load the full MathJax config to maximize loading speed (KolenCheung).
|
||
|
||
* Bumped upper version bounds to allow use of latest packages
|
||
and compilation with ghc 8.
|
||
|
||
* Require texmath 0.8.6.2. Closes several texmath-related bugs (#2775,
|
||
#2310, #2310, #2824). This fixes behavior of roots, e.g.
|
||
`\sqrt[3]{x}`, and issues with sub/superscript positioning
|
||
and matrix column alignment in docx.
|
||
|
||
* README:
|
||
|
||
+ Clarified documentation of `implicit_header_references` (#2904).
|
||
+ Improved documentation of `--columns` option.
|
||
|
||
* Added appveyor setup, with artefacts (Jan Schulz).
|
||
|
||
* stack.yaml versions: Use proper flags used for texmath, pandoc-citeproc.
|
||
|
||
* LaTeX template: support for custom font families (vladipus).
|
||
Needed for correct polyglossia operation with Cyrillic fonts and perhaps
|
||
can find some other usages. Example usage in YAML metadata:
|
||
|
||
fontfamilies:
|
||
- name: \cyrillicfont
|
||
font: Liberation Serif
|
||
- name: \cyrillicfonttt
|
||
options: Scale=MatchLowercase
|
||
font: Liberation
|
||
|
||
* Create unsigned msi as build artifact in appveyor build.
|
||
|
||
* On travis, test with ghc 8.0.1; drop testing for ghc 7.4.1.
|
||
|
||
pandoc (1.17.0.3)
|
||
|
||
* LaTeX writer: Fixed position of label in figures (#2813).
|
||
Previously the label wasn't in the right place, and `\ref`
|
||
wouldn't work properly.
|
||
* Added .tei test files to pandoc.cabal so they'll be included
|
||
in tarball (#2811).
|
||
* Updated copyright dates.
|
||
|
||
pandoc (1.17.0.2)
|
||
|
||
* Fixed serious regression in `htmlInBalanced`, which caused
|
||
newlines to be omitted in some raw HTML blocks in Markdown
|
||
(#2804).
|
||
|
||
pandoc (1.17.0.1)
|
||
|
||
* 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 from `stdin`,
|
||
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).
|
||
|
||
pandoc (1.17)
|
||
|
||
* 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]`
|
||
to `Set String.` This avoids performance problems in documents with
|
||
many identically named headers (API change, #2671).
|
||
|
||
* Removed `tex_math_single_backslash` from `markdown_github` options
|
||
(#2707).
|
||
|
||
* Make language extensions as well as full language names
|
||
trigger syntax highlighting. For example, `py` will now work as
|
||
well as `python` (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 with `bar.html` to give `http://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 give `http://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..
|
||
|
||
* 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` for `rawVerbatimBlock`, for better
|
||
performance (#2730).
|
||
+ Fixed bug with smart quotes around tex math.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Handle interior `$` characters in math (#2743). For example,
|
||
`$$\hbox{$i$}$$`.
|
||
+ `inlineCommand` now gobbles an empty `{}` after any command (#2687).
|
||
This gives better results when people write e.g. `\TeX{}` in Markdown.
|
||
+ Properly handle LaTeX "math" environment as inline math (#2171).
|
||
|
||
* Textile reader: Support `>`, `<`, `=`, `<>` text alignment attributes.
|
||
Closes #2674.
|
||
|
||
* Org reader (Albert Krewinkel):
|
||
|
||
+ Prefix even empty figure names with "fig:" (#2643). The
|
||
convention used by pandoc for figures is to mark them by prefixing
|
||
the name with `fig:`. The org reader failed to do this if a figure
|
||
had no name.
|
||
+ Refactor link-target processing (#2684).
|
||
|
||
* 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 with `article` option as article, instead
|
||
of treating all `memoir` 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 variables `LTleft` and `LTright`. 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.
|
||
|
||
pandoc (1.16.0.2)
|
||
|
||
* 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.
|
||
|
||
pandoc (1.16.0.1)
|
||
|
||
* 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 uppercase
|
||
`x` 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.
|
||
Renamed `COMMIT` to `TREE`. You should now be able to do
|
||
`TREE=1.16.0.1 DPKGVER=2 make deb`.
|
||
|
||
|
||
pandoc (1.16)
|
||
|
||
* Added `Attr` field to `Link` and `Image` (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
|
||
now `mmd_link_attributes`, and `link_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 from `Text.Pandoc.Options`
|
||
+ Changed type of `writerWrapText` in `WriterOptions` from
|
||
`Bool` to `WrapOption`.
|
||
+ Modified `Text.Pandoc.Shared` functions to allow `SoftBreak`.
|
||
+ Supported `SoftBreak` in readers and writers.
|
||
|
||
* Text.Pandoc.Options: Added `writerDpi` to `WriterOptions` (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` not `cz`) (#2597).
|
||
|
||
* Implemented `east_asian_line_breaks` extension (#2586).
|
||
In `Text.Pandoc.Options`, added `Ext_east_asian_line_breaks` constructor
|
||
to `Extension` (API change). This extension is like
|
||
`ignore_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 variables
|
||
`margin-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 now `WriterOptions -> 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
|
||
to `writeOpenDocument`.
|
||
|
||
* 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.
|
||
|
||
+ Start cell on new line unless it's a single Para or Plain
|
||
(#2606).
|
||
+ For single Para or Plain, insert a space after the `|` to
|
||
avoid problems when the text begins with a character like
|
||
`-` (#2604).
|
||
|
||
* 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.
|
||
If `geometry` has no value, but `margin-left`, `margin-right`,
|
||
`margin-top`, and/or `-margin-bottom` are given, a default value
|
||
for `geometry` is created from these. Note that these variables
|
||
already affect PDF production via HTML5 with `wkhtmltopdf`.
|
||
|
||
* ConTeXt writer: set default layout based on `margin-left`, etc.
|
||
This sets up `\setuplayout` based on the variables `margin-left`,
|
||
`margin-right`, `margin-bottom`, and `margin-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 and `raw_html` is set (#2554).
|
||
|
||
* MediaWiki reader: interpret markup inside `<tt>`, `<code>` (#2607).
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Improved smart quote parsing (#2555). This fixes redering of
|
||
unmatched quotes.
|
||
+ Use curly quotes for unmatched ` (#2555).
|
||
+ Allow blank space between braced arguments of commands (#2592).
|
||
|
||
* 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).
|
||
|
||
* `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).
|
||
|
||
* Beamer/LaTeX template changes (Thomas Hodgson):
|
||
+ Added `thanks` variable
|
||
+ Use `parskip.sty` when `indent` isn't set (fall back to using
|
||
`setlength` as before if `parskip.sty` isn't available).
|
||
+ Use `biblio-style` with biblatex.
|
||
+ Added `biblatexoptions` variable.
|
||
|
||
* LaTeX template changes:
|
||
|
||
+ Added `paper` after `$papersize$` variable in latex template.
|
||
Thus you can say `papersize: a4` and the latex will contain
|
||
`a4paper`. This change may break some existing workflows; if
|
||
you currently specify `a4paper`, you'll get `a4paperpaper` which
|
||
is meaningless. However, the change seems worth it, as it will
|
||
make the `papersize` 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 for `subtitle`, 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.
|
||
|
||
* 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).
|
||
|
||
* 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`,
|
||
and `frame`. Note that this changes the default behavior from
|
||
`horizontal` to `empty`. Closes #2543.
|
||
|
||
* Added `toc` to HTML slide format templates (Andrew Dunning),
|
||
so that `--toc` creates a contents slide.
|
||
|
||
* Added `stack.full.yaml` to build `pandoc-citeproc` as well.
|
||
|
||
* Allow pipe tables with no body rows (#2556).
|
||
Previously this raised a runtime error.
|
||
|
||
* Shared: Improved `fetchItem` so that `C:/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`: use `safeRead` instead of `readMaybe`, 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 of `KeyTable` (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.
|
||
|
||
pandoc (1.15.2.1)
|
||
|
||
* Added two missing test files, and `stack.yaml`, to
|
||
`extra-source-files` so they're included in the source tarball.
|
||
|
||
* reveal.js template: Fixed parallaxBackground options.
|
||
`parallaxBackgroundHorizontal` and `parallaxBackgroundVertical`
|
||
need integer values, not strings. (Vaughn Iverson)
|
||
|
||
pandoc (1.15.2)
|
||
|
||
* `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 in `markdown_github`
|
||
(#2523). Added `Ext_emoji` to `Extension` in `Text.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 in `Text.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).
|
||
|
||
* 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).
|
||
The `comment` environment is handled in a similar way to the
|
||
`verbatim` 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
|
||
(Mauro Bieg). For LaTeX, also collect `lang` and `dir` attributes on
|
||
spans and divs to set the `lang`, `otherlangs` and `dir` variables if
|
||
they aren’t set already. See #895.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Use proper command for `\textarabic` (Mauro Bieg).
|
||
+ Added `de-CH-1901`, fixed `el-polyton` in `toPloyglossia` (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` if `linkcolor`, `urlcolor`, `citecolor`, or
|
||
`toccolor` is set (#2508).
|
||
|
||
* 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 setting `data-external` on
|
||
the tags linking to media that should not be downloaded. Example:
|
||
|
||
<audio controls="1">
|
||
<source src="http://example.com/music/toccata.mp3"
|
||
data-external="1" 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` and `date`; add `keywords`,
|
||
`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 (Mauro Bieg, #137).
|
||
+ Improved formatting of conditionals; `$for$` is always provided to allow
|
||
multiple options (Andrew Dunning, #141).
|
||
+ Use `Ligatures=TeX` rather than `Mapping=tex-text` with `fontspec`
|
||
to improve support for LuaTeX (Andrew Dunning, #135).
|
||
+ Revise `hyperref` usage (Andrew Dunning, #139, #141):
|
||
- use same options for all LaTeX engines;
|
||
- add `subtitle` and `keywords` to PDF metadata;
|
||
- do not override `hyperref` link coloring without user input, effectively making
|
||
the `hidelinks` 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 by `hyperref` with
|
||
`colorlinks`, and is only applied if `colorlinks` is disabled.
|
||
|
||
* 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.
|
||
|
||
* 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` and
|
||
`cabal 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).
|
||
|
||
pandoc (1.15.1.1)
|
||
|
||
* `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).
|
||
|
||
pandoc (1.15.1)
|
||
|
||
* `pandocVersion` is now defined in `Text.Pandoc.Shared`
|
||
and reexported from `Text.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 (Martin Linnemann). Added new module
|
||
`Text.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` with `pickStyleAttrProps` (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".
|
||
|
||
* MediaWiki reader: handle unquoted table attributes (#2355).
|
||
|
||
* DocBook reader:
|
||
|
||
+ Added proper support for DocBook `xref` elements (Frerich Raabe).
|
||
Added `dbContent` field to reader state, so we can lookup
|
||
cross refs.
|
||
+ Handle `informalexample` (#2319).
|
||
|
||
* Docx Reader:
|
||
|
||
+ Create special punctuation test (Ophir Lifshitz).
|
||
+ Parse soft, no-break hyphen elements (Ophir Lifshitz).
|
||
+ Updated headers test (Ophir Lifshitz). Replaced `styles.xml`
|
||
in `headers.docx` with pandoc's current `styles.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:
|
||
|
||
+ Add auto identifiers if not present on headers
|
||
(#2354, Juliusz Gonera).
|
||
+ Allow verse blocks to contain empty lines (#2402,
|
||
Albert Krewinkel).
|
||
|
||
* 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).
|
||
|
||
* 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` and `subscripts` 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.
|
||
|
||
* 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 (Mauro Bieg, #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 '<','>','|','"','{','}','[',']','^', '`'.
|
||
|
||
* HTML writer:
|
||
|
||
+ Update KaTeX JS and CSS versions (Emily Eisenberg).
|
||
+ For dzslides, add `role="note"` for speaker notes (#1693).
|
||
+ Percent-encode more special characters in URLs (#1640, #2377).
|
||
The special characters are '<','>','|','"','{','}','[',']','^', '`'.
|
||
+ Render Div with class `section` as `<section>` in HTML5.
|
||
|
||
* EPUB writer:
|
||
|
||
+ In TOC, replace literal `<br/>` with space (#2105).
|
||
+ With `--webtex`, include image file rather than `data:` URI (#2363).
|
||
|
||
* Native writer: format Div properly, with blocks separated.
|
||
|
||
* Support bidirectional text output with XeLaTeX, ConTeXt and HTML
|
||
(#2191, Mauro Bieg).
|
||
|
||
* 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 of `mainfont` 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 (Mauro Bieg, #120). Improve reliability of superscripts/subscripts
|
||
under XeTeX and prevent letters and numbers from appearing on a
|
||
different baseline by removing use of the `realscripts` package
|
||
(via `xltxtra`). To restore use of OpenType characters for these
|
||
features under XeTeX or LuaTeX, add `\usepackage{realscripts}` to
|
||
`header-includes` (Andrew Dunning, #130). Remove redundant
|
||
reference to `xunicode` (Andrew Dunning, #130). Add `fontenc`,
|
||
`indent`, `subparagraph` variables (Andrew Dunning).
|
||
Allow use of `hidelinks` variable for `hyperref` package (Hugo Roy,
|
||
#113). Prevent package clash with `tufte-latex` and other classes that
|
||
include `hyperref` or `color` (Xavier Olive, #115).
|
||
+ ConTeXt: Support handling of bidirectional text (Mauro Bieg, #120).
|
||
+ LaTeX and ConTeXt: Use more specific language variables.
|
||
Instead of directly using `lang`, we now use `babel-lang` and
|
||
`polyglossia-lang` and `context-lang`. These variables are set by
|
||
the writers to the necessary values, based on the `lang` variable
|
||
(which now always takes a value in BCP47 format). (Mauro Bieg, #114,
|
||
#129).
|
||
+ HTML: Support handling of bidirectional text (Mauro Bieg, #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).
|
||
Add `width`, `height` variables (Andrew 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` and `hyphenate` variables
|
||
(Alex Vong, #123).
|
||
|
||
* epub.css: added selectors for nested emphasis (Pablo Rodriguez).
|
||
|
||
* MediaBag: ensure that `/` is always used as path separator.
|
||
|
||
* `sample.lua`: define `CaptionedImage`, 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 of `withManager` in recent `http-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 using `make_travis_yml.hs`.
|
||
This script has been modified in a few ways, e.g. to add `GHCOPTS`.
|
||
`make .travis.yml` regenerates it based on the tested-with
|
||
field of the cabal file.
|
||
|
||
pandoc (1.15.0.6)
|
||
|
||
* `--self-contained`: Fixed overaggressive CSS minimization (#2301, 2286).
|
||
Previously `--self-contained` wiped out all spaces in CSS,
|
||
including semantically significant spaces. This was a regression
|
||
from 1.14.x.
|
||
|
||
* Markdown reader: don't allow bare URI links or autolinks in link
|
||
label (#2300). Added test cases.
|
||
|
||
* `Text.Pandoc.Parsing`, `uri`: Improved bare autolink detection (#2299).
|
||
Previously we disallowed `-` at the end of an autolink,
|
||
and disallowed the combination `=-`. This commit liberalizes the
|
||
rules for allowing punctuation in a bare URI, and adds test cases.
|
||
One potential drawback is that you can no longer put a bare
|
||
URI in em dashes like this:
|
||
`this uri---http://example.com---is an example.`
|
||
But in this respect we now match github's treatment of bare URIs.
|
||
|
||
* HTML writer: support speaker notes in dzslides.
|
||
With this change `<div class="notes">` and also `<div class="notes"
|
||
role="note">` will be output if `-t dzslides` is used. So we can
|
||
have speaker notes in dzslides too. Thanks to maybegeek.
|
||
|
||
* Updated dzslides template.
|
||
|
||
* Improved documentation of options to print system default files (#2298).
|
||
`--print-default-data-file` and `--print-default-template`.
|
||
|
||
* DokuWiki writer: use `$..$` for Math instead of `<math>..</math>`
|
||
(Tiziano Müller). MathJax seems currently to be the only maintained
|
||
math rendering extension for DokuWiki.
|
||
|
||
* `Text.Pandoc.Shared`: Changed `hierarchicalize` so it treats references
|
||
div as top-level header (#2294). This fixes a bug with `--section-divs`,
|
||
where the final references section added by pandoc-citeproc, enclosed in
|
||
its own div, got nested in the div for the section previous to it.
|
||
|
||
* Allow vector 0.11.
|
||
|
||
* Require cmark > 0.4.
|
||
|
||
pandoc (1.15.0.5)
|
||
|
||
* HTML writer: Fixed email javascript obfuscation with `mailto:`
|
||
URLs (#2280). This fixes a potential security issue. Because
|
||
single quotes weren't being escaped in the link portion, a
|
||
specially crafted email address could allow javascript code injection.
|
||
|
||
* Markdown/HTML readers: Avoid parsing partial URLs like
|
||
`<www.pandoc.org/blah#foo>` as HTML tags (#2277).
|
||
|
||
* RST reader: allow inline formatting in definition list field
|
||
names (Lars-Dominik Braun).
|
||
|
||
* PDF: Make sure `--latex-engine-opt` goes before the filename
|
||
on the command line. LaTeX needs the argument to come after
|
||
the options (#1779).
|
||
|
||
* CommonMark writer: fixed tags used for super/subscript.
|
||
|
||
* ConTeXt template: activate hanging indent for definition lists
|
||
(Mauro Bieg).
|
||
|
||
* Make cabal require `hsb2hs` >= 0.3.1 if `embed_data_files` specified.
|
||
This is done by adding `hookedPrograms` in `Setup.hs`, which allows us
|
||
to include `hsb2hs` in Build-Tools in cabal.
|
||
|
||
* Improved Windows installer (thanks to nkalvi).
|
||
|
||
+ When per-machine installation is chosen, the system path
|
||
is updated instead of the user's.
|
||
+ An appropriate default is used for per-machine installation
|
||
directory.
|
||
+ Admin privileges are no longer required for a per-user install
|
||
|
||
* Travis: unpack sdist for build to catch packaging bugs.
|
||
|
||
* Improved documentation on where user templates go (#2272).
|
||
|
||
pandoc (1.15.0.4)
|
||
|
||
* Added pandoc.1 man page to the repository. It is no longer
|
||
built as part of the cabal build process. (This proved too
|
||
fragile.) pandoc.1 can be regenerated (`make man/pandoc.1`)
|
||
when `README` is changed.
|
||
|
||
* Copying of the man page now respects `--destdir` (#2262).
|
||
|
||
* Improved error messages for filters. User is now informed if
|
||
the filter requires an interpreter that isn't found in the path,
|
||
or if the filter returns an error status.
|
||
|
||
pandoc (1.15.0.3)
|
||
|
||
* Ensure target directory is created when installing man page.
|
||
|
||
pandoc (1.15.0.2)
|
||
|
||
* Added files needed for building man page to Extra-Source-Files.
|
||
|
||
pandoc (1.15.0.1)
|
||
|
||
* Man page is now built and installed as part of the cabal build
|
||
process. Removed Makefile target for man page.
|
||
|
||
pandoc (1.15)
|
||
|
||
* 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` and `pandoc_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` and
|
||
`data/pandoc_markdown.5.template`.
|
||
|
||
* 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.
|
||
|
||
* 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). The `make-pandoc-man-pages` executable
|
||
has been removed. The `man/` directory has been removed, and man page
|
||
templates have been moved to `data/`. NOTE TO PACKAGERS: You will no
|
||
longer find pandoc's man pages in `man/`, but you can generate them using
|
||
`pandoc --man1 > pandoc.1` and `pandoc --man5 > pandoc_markdown.5`.
|
||
|
||
* Added new unexported module: `Text.Pandoc.ManPages`.
|
||
|
||
* `README` now acts like a data file (even though it isn't in
|
||
`data/`). 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` and `reference.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
|
||
using `getDefaultReferenceDocx` and `getDefaultReferenceODT`.
|
||
|
||
* 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 replaces `url()` 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`: Export `plainExtensions`.
|
||
These are the extensions used in `plain` 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 and `figures` (#2184, Mauro Bieg).
|
||
|
||
* 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`: exports `getDefaultReferenceDocx` and
|
||
`getDefaultReferenceODT` (API change). These functions have been
|
||
removed from the Docx and ODT writers.
|
||
|
||
* LaTeX template (Xavier Olive):
|
||
+ Added `CJKmainfont` and `CJKoptions` variables.
|
||
+ Allow dvipsnames (e.g. `MidnightBlue`) for colors (Xavier Olive).
|
||
|
||
* Epub templates: use `author.role`, not `author.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).
|
||
|
||
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` and `reference.odt`
|
||
when the `embed_data_files` flag is used. Instead of having a phase
|
||
of the build where `reference.docx` and `reference.odt` are created
|
||
from their constituent data files, we now construct these archives
|
||
from their constituents when a `docx` or `odt` is built. The
|
||
constituent files have been moved from `extra-source-files` to
|
||
`data-files`, and `reference.docx` and `reference.odt` have been
|
||
removed. Users can create their own `reference.docx` or
|
||
`reference.odt` by using pandoc to create a simple `docx` or `odt`.
|
||
`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 for `docx` 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 the `bibliography`
|
||
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 https://github.com/jgm/pandoc-citeproc/issues/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 class `sourceCode`. Also, the default highlighting CSS
|
||
now adds `div.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 deprecated `Image:` for images and
|
||
other media files (Greg Rundlett).
|
||
|
||
* DocBook writer:
|
||
|
||
+ Render a `Div (id,_,_) [Para _]` element as a `para` element
|
||
with an `id` 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 cover `itemref` (#1609).
|
||
+ Don't use `sup` element for epub footnotes (#1995).
|
||
Instead, just use an a element with class `footnoteRef`.
|
||
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 the `FirstParagraph` 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 as `Normal`.
|
||
+ Added `BodyText` style (Jesse Rosenthal).
|
||
We apply a `BodyText` style to all unstyled paragraphs. This is,
|
||
essentially, the same as `Normal`, except that since not everything
|
||
inherits from `BodyText` (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 through `Normal`.
|
||
+ Altered `Blockquote` style slightly (Jesse Rosenthal).
|
||
Since `BlockQuote` derives from `BodyText`, we just want to specify
|
||
by default that it won't indent, regardless of what `BodyText` 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 style `Figure with Caption`, which
|
||
is based on `Figure`, and additionally has `keepNext` set.
|
||
|
||
* ODT writer:
|
||
|
||
+ Added figure captions (Nikolay Yakimov). The following styles are
|
||
used for figures:
|
||
`Figure` -- for figure with empty caption),
|
||
`FigureWithCaption` (based on `Figure`) -- for figure with caption,
|
||
`FigureCaption` (based on `Caption`) -- for figure captions.
|
||
Also, `TableCaption` (based on `Caption`) is used for table captions.
|
||
|
||
[API changes]
|
||
|
||
* New `Text.Pandoc.Error` module with `PandocError` type
|
||
(Matthew Pickering).
|
||
|
||
* All readers now return `Either PandocError Pandoc` instead of `Pandoc`
|
||
(Matthew Pickering). This allows better handling of errors.
|
||
|
||
* Added `Text.Pandoc.Writers.CommonMark`, exporting `writeCommonMark`.
|
||
|
||
* Added `Text.Pandoc.Readers.CommonMark`, exporting `readCommonMark`.
|
||
|
||
* Derive `Data` and `Typeable` instances for `MediaBag`, `Extension`,
|
||
`ReaderOptions`, `EPUBVersion`, `CiteMethod`, `ObfuscationMethod`,
|
||
`HTMLSlideVariant`, `TrackChanges`, `WriterOptions` (Shabbaz
|
||
Youssefi).
|
||
|
||
* New `Ext_shortcut_reference_links` constructor for `Extension`
|
||
(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, Mauro Bieg).
|
||
+ 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 fail `htmlTag`.
|
||
+ Handle `base` tag; if it has an `href` 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) (currently
|
||
we just ignore this).
|
||
+ Allow non-empty colsep in tables (Mathias Schenner).
|
||
The `tabular` environment allows non-empty column separators
|
||
with the "@{...}" syntax. Previously, pandoc would fail to
|
||
parse tables if a non-empty colsep was present. With this
|
||
commit, these separators are still ignored, but the table gets
|
||
parsed. A test case is included.
|
||
+ Recognize `\newpage` as a block command.
|
||
+ Allow block content in \title{} (#2001).
|
||
+ Check for block-level newcommand aliases in blockCommand (Nikolay
|
||
Yakimov).
|
||
+ Guard against paragraph starting with inline macro (Nikolay Yakimov).
|
||
+ Properly gobble spaces after `\\` (#2007).
|
||
|
||
* Textile reader:
|
||
|
||
+ Handle newlines in table cells, and empty cells (#1919).
|
||
|
||
* Org reader:
|
||
|
||
+ Allow image links with non-image targets (Hans-Peter Deifel).
|
||
This matches behavior of Org-Mode for links like
|
||
`[[http://example.com][https://www.haskell.org/static/img/logo.png]]`.
|
||
|
||
* Docbook writer:
|
||
|
||
+ Don't print empty id attributes (thanks to Steve Horne).
|
||
|
||
* HTML writer:
|
||
|
||
+ Fixed list-style-type for numbered example lists.
|
||
Should be "decimal," not "example" (#1902).
|
||
+ Do not omit missing `alt` attribute on `img` tag (#1131,
|
||
Konstantin Zudov).
|
||
+ Allow multiple colgroups in table (#2122).
|
||
+ In revealjs, ensure that lists in speaker notes don't add "fragment"
|
||
classes, which can cause additional keypresses to be needed to
|
||
advance a slide (#1394).
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Don't escape `$` in URL (#1913).
|
||
+ Don't use listings in headers (Matthew Pickering, #1963).
|
||
+ Recognize book documentclass if set in metadata (#1971).
|
||
This sets `--chapters` implicitly if the documentclass in metadata
|
||
is a book documentclass. Previously this was done only if a book
|
||
documentclass was set in a variable.
|
||
+ Add a `\label` in `\hyperdef` for Div, Span (or links don't work).
|
||
+ Make `mainlang` work when `lang` is in metadata (#2174).
|
||
|
||
* Texinfo writer:
|
||
|
||
+ Fix wrapping by using breakable spaces (Tim Lin).
|
||
|
||
* RST writer:
|
||
|
||
+ Fixed toc depth in RST writer. Previously the depth was being
|
||
rendered as a floating point number with a decimal point.
|
||
|
||
* Markdown writer:
|
||
|
||
+ Improved escaping (#2086). `<` should not be escaped as `\<`, for
|
||
compatibility with original Markdown. We now escape `<` and `>`
|
||
with entities. Also, we now backslash-escape square brackets.
|
||
+ Avoid introducing spurious list items through wrapping (#1946).
|
||
+ Don't emit span tags if plain or raw HTML disabled.
|
||
|
||
* MediaWiki writer:
|
||
|
||
+ Convert spaces to underscores in wikilink URL (#1982), like MediaWiki.
|
||
|
||
* AsciiDoc writer:
|
||
|
||
+ Insert some needed blank lines (#1860).
|
||
+ Avoid wrapping after list marker (#1858).
|
||
|
||
* EPUB writer:
|
||
|
||
+ Properly handle internal links to IDs in spans, divs (#1884).
|
||
+ Use plain writer for metadata dc: fields (#2121).
|
||
This gives better results when we have, e.g. multiple paragraphs.
|
||
Note that tags aren't allowed in these fields.
|
||
+ Properly handle image links without an extension (#1855).
|
||
+ Improved chapter splitting and internal link rewriting (#1887,
|
||
#2162, #2163). This will ensure that internal links work and
|
||
that the references section produced by pandoc-citeproc is
|
||
in its own chapter.
|
||
+ Fixed handling of svg images (#2183).
|
||
|
||
* ICML writer:
|
||
|
||
+ Better handling of raw blocks and inlines (#1951).
|
||
Previously these were always escaped and printed verbatim.
|
||
Now they are ignored unless the format is `icml`, in which
|
||
case they are passed through unescaped.
|
||
+ Fixed image URIs in ICML output (gohai).
|
||
|
||
* Custom writer:
|
||
|
||
+ Raise error if loadstring returns an error status.
|
||
+ Raise `PandocLuaException` instead of using 'error'.
|
||
Eventually we'll change the return type so that no exception
|
||
is involved, but at least this can be trapped.
|
||
+ Use UTF-8 aware bytestring conversion.
|
||
+ Set foreign encoding to UTF-8 (Nikolay Yakimov, #2101, #1634).
|
||
Also factored out ByteString, since it's only used as an intermediate
|
||
representation.
|
||
|
||
* Docx writer:
|
||
|
||
+ Copy hyphenation settings from reference.docx (Nikolay Yakimov).
|
||
+ Filter out illegal XML characters (#1992, Matthew Pickering).
|
||
+ Added `noProof` to docx syntax highlighting `SourceCode` style.
|
||
+ Added footnotes id -1 and 0 (Jesse Rosenthal).
|
||
Word uses, by default, footnotes with id -1 and 0 for separators. If a
|
||
user modifies `reference.docx`, they will end up with a `settings.xml`
|
||
file that references these footnotes, but no such footnotes in the
|
||
document. This will produce a corruption error. Here we add these to the
|
||
document and `settings.xml` file, so future modifications won't break
|
||
the file.
|
||
+ Handle lists correctly inside table cells (Jesse Rosenthal).
|
||
Previously we didn't transform lists inside table cells.
|
||
+ Set firstRow information in tables (Nikolay Yakimov).
|
||
+ Don't replace `SourceCode` style in `reference.docx` if it is defined
|
||
there (Nikolay Yakimov, #1872). If `--no-highlight` specified, remove
|
||
any `SourceCode` and `*Tok` styles in `reference.docx`.
|
||
+ Attempt to match international style names (#1607, Nikolay Yakimov).
|
||
+ Set these styles as custom (Nikolay Yakimov): `Author`, `Abstract`,
|
||
`Compact`, `Image Caption`, `Table Caption`, `Definition Term`,
|
||
`Definition`, `First Paragraph`.
|
||
+ Rename these styles to correspond with Word `Normal.dotm` (Nikolay
|
||
Yakimov): `Block Quote -> Block Text`, `Link -> Hyperlink`,
|
||
`Footnote Ref -> Footnote Reference`.
|
||
+ Added `Caption` style (Nikolay Yakimov).
|
||
+ Changed these styles' inheritance (Nikolay Yakimov):
|
||
`Image Caption <- Caption`, `Table Caption <- Caption`.
|
||
+ Remove `SourceCode` style from `reference.docx` (#1872).
|
||
This is added automatically by the docx writer.
|
||
+ Added toc heading style to `reference.docx` (Nikolay Yakimov).
|
||
|
||
* `Text.Pandoc.PDF`
|
||
|
||
+ Don't suggest "Try xelatex" if xelatex already in use (Mauro Bieg,
|
||
#1832).
|
||
+ More comprehensible errors on image conversion (#2067).
|
||
EPS can't be supported without shelling out to something like
|
||
ImageMagick, but at least we can avoid mysterious error messages.
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ Make safeRead safe (#1801, Matthew Pickering).
|
||
+ Addded `mapLeft`, `hush` (Matthew Pickering).
|
||
|
||
* `Text.Pandoc.Pretty`:
|
||
|
||
+ Remove partial function (Matthew Pickering).
|
||
|
||
* `Text.Pandoc.SelfContained`:
|
||
|
||
+ Add `;charset=utf-8` to script mime type if missing (#1842).
|
||
+ Improved building of data URIs (#1940). Now base64 is used except
|
||
for `text/*` mime types.
|
||
+ `cssURLs` no longer tries to fetch fragment URLs (#2121).
|
||
+ Properly handle data URIs in css urls (#2129).
|
||
Use a proper CSS parser (adds dependency on `text-css`).
|
||
|
||
* `Text.Pandoc.UTF8`:
|
||
|
||
+ Better handling of bare CRs in input files (#2132).
|
||
Previously we just stripped them out; now we convert
|
||
other line ending styles to LF line endings.
|
||
|
||
* `Text.Pandoc.ImageSize`:
|
||
|
||
+ Fixed some exif header parsing bugs (#1834).
|
||
+ Make imageSize return an Either, not a Maybe (#1834).
|
||
Use `runGetOrFail` (with `binary >= 0.7`) to return `Left` on
|
||
parse failure (rather than `error`).
|
||
+ Improved warnings when image size can't be determined.
|
||
+ Removed error landmines (Matthew Pickering).
|
||
|
||
* Added woff2 to MIME types (Alfred Wechselberger).
|
||
|
||
* pandoc: When a binary input format is used, warn that file
|
||
arguments past the first one are being ignored (Matthew Pickering).
|
||
|
||
[template changes]
|
||
|
||
* LaTeX template:
|
||
|
||
+ Degrade gracefully if `\paragraph` not defined.
|
||
+ Include `grffile` together with `graphicx` (#2074).
|
||
This properly handles filenames containing spaces and dots.
|
||
+ Redefine `\paragraph`, `\subparagraph`... to behave more
|
||
like section headers (#1658).
|
||
+ Import hyperref before polyglossia to avoid an error with xelatex,
|
||
"please load package hyperref before bidi package" (Nick Bart).
|
||
+ Added `toccolor` variable to control link color in toc (Kaixhin).
|
||
|
||
* LaTeX, Beamer templates:
|
||
|
||
+ Provide `\tightlist`, which is now used by the LaTeX writer.
|
||
+ Use polyglossia in beamer (#85).
|
||
+ Use `bibliography` instead of `biblio-files`
|
||
(#1661). Also use `\addbibresource` instead of `\bibliography` for
|
||
biblatex.
|
||
+ Added `setotherlanguages` in polyglossia. This uses an `otherlang`
|
||
variable that is derived from a comma-separated list in `lang`;
|
||
the last language is `mainlang` and the others are `otherlang`.
|
||
|
||
* EPUB templates:
|
||
|
||
+ Use `div`, not `p`, for "rights" on title page.
|
||
+ Added header-includes, include-before, include-after (#1987).
|
||
|
||
* OpenDocument template:
|
||
|
||
+ Use `text:p` instead of `text:h` for title.
|
||
Using `text:h` causes problems with numbering. Closes #2059.
|
||
Thansk to @nkalvi for diagnosing this.
|
||
|
||
* reveal.js template:
|
||
|
||
+ Link to non-minified css, js. The minified versions no longer
|
||
ship with the library.
|
||
+ Correctly include style CSS (#1949).
|
||
+ New configurable options options: `center`, `maxScale`, `slideNuber`
|
||
(Dmitry Smirnov, pandoc-templates#89).
|
||
+ Moved custom CSS after theme. This allows custom CSS to modify
|
||
themes, instead of being replaced by them.
|
||
+ Allow `center` to be set to false.
|
||
|
||
[under the hood improvements]
|
||
|
||
* Removed pre-built `reference.docx` and `reference.odt` (Nikolay
|
||
Yakimov). Instead the repository now includes the component text files,
|
||
and the zipped binaries are built from these using a helper
|
||
program, `make-reference-files`. This should make maintenance of
|
||
these components easier going forward.
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ Added new `<+?>` combinator (Nikolay Yakimov).
|
||
+ Added `stateHeaderKeys` to `ParserState`.
|
||
|
||
* `make_deb.sh` fixes:
|
||
|
||
+ Detect architecture.
|
||
+ Add Installed-Size to debian package control file (#1900).
|
||
+ Use `fakeroot` to get permissions right.
|
||
+ Use `mkdir` and `cp` instead of `install`.
|
||
+ Set permissions of directories to 755.
|
||
+ Install in `/usr` rather than `/usr/local`.
|
||
+ Compress man pages.
|
||
+ Combine copyright files for `pandoc`, `pandoc-citeproc`.
|
||
|
||
* Added `Text.Pandoc.Compat.Locale` and `old-locale` flag
|
||
to assist with transition to `time` 1.5.
|
||
|
||
* Updated CONTRIBUTING.md with information about issue tags (Matthew
|
||
Pickering).
|
||
|
||
* Updated travis installs to the new sudo-less syntax (Tim Lin).
|
||
|
||
* Updated dependency version bounds.
|
||
|
||
* EPUB tests: don't use `joinPath`, which varies across platforms.
|
||
Instead, use a forward-slash to join paths, regardless of the
|
||
platform. This matches the way `MediaBag` now works.
|
||
|
||
* Clarify JSON input and output in usage message (Caleb McDaniel).
|
||
|
||
* Improved INSTALL instructions.
|
||
|
||
* Always build man pages. Removed make-pandoc-man-pages flag.
|
||
|
||
* Makefile: removed man target, now that we generate man pages by default.
|
||
|
||
* README:
|
||
|
||
+ Fixed typos (J. Lewis Muir).
|
||
+ Added documentation on backtick_code_blocks (#2135, Nikolay Yakimov).
|
||
+ Added note on in-field markup in biblio databases (Nick Bart).
|
||
+ Fixed misleading example of raw HTML block.
|
||
+ Various minor formatting and consistency fixes for the program
|
||
options (Andreas Lööw).
|
||
+ Made definition lists for options all "loose" for consistency.
|
||
+ Added YAML biblio format to table, and note on `pandoc-citeproc`'s
|
||
`--bib2json` and `--bib2yaml` options (Nick Bart).
|
||
+ Removed obsolete reference to `mods2yaml` (Nick Bart).
|
||
+ Added section on syntax highlighting.
|
||
+ Documented `toccolor` variable.
|
||
|
||
pandoc (1.13.2.1)
|
||
|
||
* Updated to build with ghc 7.10.1.
|
||
|
||
* Bumped package upper bounds for filepath, blaze-html,
|
||
blaze-markup.
|
||
|
||
pandoc (1.13.2)
|
||
|
||
* TWiki Reader: add new new twiki reader (API change, Alexander Sulfrian).
|
||
|
||
* Markdown reader:
|
||
|
||
+ Better handling of paragraph in div (#1591).
|
||
Previously text that ended a div would be parsed as Plain
|
||
unless there was a blank line before the closing div tag.
|
||
+ Don't treat a citation as a reference link label (#1763).
|
||
+ Fix autolinks with following punctuation (#1811).
|
||
The price of this is that autolinked bare URIs can no longer
|
||
contain `>` characters, but this is not a big issue.
|
||
+ Fix `Ext_lists_without_preceding_blankline` bug (#1636, Artyom).
|
||
+ Allow `startnum` to work without `fancy_lists`. Formerly
|
||
`pandoc -f markdown-fancy_lists+startnum` did not work properly.
|
||
|
||
* RST reader (all Daniel Bergey):
|
||
|
||
+ Parse quoted literal blocks (#65). RST quoted literal blocks are
|
||
the same as indented literal blocks (which pandoc already supports)
|
||
except that the quote character is preserved in each line.
|
||
+ Parse RST class directives. The class directive accepts one or more
|
||
class names, and creates a Div value with those classes. If the
|
||
directive has an indented body, the body is parsed as the children of
|
||
the Div. If not, the first block folowing the directive is made a
|
||
child of the Div. This differs from the behavior of rst2xml, which
|
||
does not create a Div element. Instead, the specified classes are
|
||
applied to each child of the directive. However, most Pandoc Block
|
||
constructors to not take an Attr argument, so we can't duplicate this
|
||
behavior.
|
||
+ Warn about skipped directives.
|
||
+ Literal role now produces Code. Code role should have "code" class.
|
||
+ Improved support for custom roles
|
||
|
||
- Added `sourceCode` to classes for `:code:` role, and anything
|
||
inheriting from it.
|
||
- Add the name of the custom role to classes if the Inline
|
||
constructor supports Attr.
|
||
- If the custom role directive does not specify a parent role,
|
||
inherit from the `:span:` role.
|
||
|
||
This differs somewhat from the `rst2xml.py` behavior. If a custom
|
||
role inherits from another custom role, Pandoc will attach both
|
||
roles' names as classes. `rst2xml.py` will only use the class of
|
||
the directly invoked role (though in the case of inheriting from a
|
||
`:code:` role with a `:language:` defined, it will also provide the
|
||
inherited language as a class).
|
||
+ Warn about ignored fields in role directives.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Parse label after caption into a span instead of
|
||
inserting an additional paragraph of bracketed text (#1747).
|
||
+ Parse math environments as inline when possible (#1821).
|
||
+ Better handling of `\noindent` and `\greektext` (#1783).
|
||
+ Handle `\texorpdfstring` more gracefully.
|
||
+ Handle `\cref` and `\sep` (Wikiwide).
|
||
+ Support `\smartcite` and `\Smartcite` from biblatex.
|
||
|
||
* HTML reader:
|
||
|
||
+ Retain display type of MathML output (#1719, Matthew Pickering).
|
||
+ Recognise `<br>` tags inside `<pre>` blocks (#1620, Matthew Pickering).
|
||
+ Make `embed` tag either block or inline (#1756).
|
||
|
||
* DocBook reader:
|
||
|
||
+ Handle `keycombo`, `keycap` (#1815).
|
||
+ Get string content in inner tags for literal elements (#1816).
|
||
+ Handle `menuchoice` elements better, with a `>` between (#1817).
|
||
+ Include `id` on section headers (#1818).
|
||
+ Document/test "type" as implemented (Brian O'Sullivan).
|
||
+ Add support for calloutlist and callout (Brian O'Sullivan).
|
||
We treat a calloutlist as a bulleted list. This works well in practice.
|
||
+ Add support for `classname` (Bryan O'Sullivan).
|
||
|
||
* Docx reader:
|
||
|
||
+ Fix window path for image lookup (Jesse Rosenthal).
|
||
Don't use os-sensitive "combine", since we always want the paths in our
|
||
zip-archive to use forward-slashes.
|
||
+ Single-item headers in ordered lists are headers (Jesse Rosenthal).
|
||
When users number their headers, Word understands that as a single item
|
||
enumerated list. We make the assumption that such a list is, in fact,
|
||
a header.
|
||
+ Rewrite rewriteLink to work with new headers (Jesse Rosenthal).
|
||
There could be new top-level headers after making lists, so we have to
|
||
rewrite links after that.
|
||
+ Use polyglot header list (Jesse Rosenthal).
|
||
We're just keeping a list of header formats that different languages
|
||
use as their default styles. At the moment, we have English, German,
|
||
Danish, and French. We can continue to add to this.
|
||
This is simpler than parsing the styles file, and perhaps less
|
||
error-prone, since there seems to be some variations, even within a
|
||
language, of how a style file will define headers.
|
||
+ Remove header class properly in other langs (Jesse Rosenthal).
|
||
When we encounter one of the polyglot header styles, we want to remove
|
||
that from the par styles after we convert to a header. To do that, we
|
||
have to keep track of the style name, and remove it appropriately.
|
||
+ Account for external link URLs with anchors. Previously, if a URL
|
||
had an anchor, the reader would incorrectly identify it as an
|
||
internal link and return only the anchor as URL. (Caleb McDaniel)
|
||
+ Fix for Issue #1692 (i18n styles) (Nikolay Yakimov).
|
||
|
||
* Org reader:
|
||
|
||
+ Added state changing blanklines (Jesse Rosenthal).
|
||
This allows us to emphasize at the beginning of a new paragraph (or, in
|
||
general, after blank lines).
|
||
+ Fixed bug with bulleted lists:
|
||
|
||
- a
|
||
- b
|
||
* c
|
||
|
||
was being parsed as a list, even though an unindented `*`
|
||
should make a heading. See
|
||
<http://orgmode.org/manual/Plain-lists.html#fn-1>.
|
||
+ Org reader: absolute, relative paths in link (#1741, Albert
|
||
Krewinkel). The org reader was too restrictive when parsing links;
|
||
some relative links and links to files given as absolute paths
|
||
were not recognized correctly.
|
||
+ Org reader: allow empty links (jgm/gitit#471, Albert Krewinkel).
|
||
This is important for use in gitit, which uses empty links
|
||
for wikilinks.
|
||
+ Respect indent when parsing Org bullet lists (#1650, Timothy
|
||
Humphries). Fixes issue with top-level bullet list parsing.
|
||
+ Fix indent issue for definition lists (Timothy Humphries,
|
||
see #1650, #1698, #1680).
|
||
+ Parse multi-inline terms correctly in definition list (#1649,
|
||
Matthew Pickering).
|
||
+ Fix rules for emphasis recognition (Albert Krewinkel).
|
||
Things like `/hello,/` or `/hi'/` were falsy recognized as emphasised
|
||
strings. This is wrong, as `,` and `'` are forbidden border chars and
|
||
may not occur on the inner border of emphasized text.
|
||
+ Drop COMMENT document trees (Albert Krewinkel).
|
||
Document trees under a header starting with the word `COMMENT` are
|
||
comment trees and should not be exported. Those trees are dropped
|
||
silently (#1678).
|
||
+ Properly handle links to `file:target` (Albert Krewinkel).
|
||
Org links like `[[file:target][title]]` were not handled correctly,
|
||
parsing the link target verbatim. The org reader is changed such that
|
||
the leading `file:` is dropped from the link target (see #756, #1812).
|
||
+ Parse LaTeX-style MathML entities (#1657, Albert Krewinkel).
|
||
Org supports special symbols which can be included using LaTeX syntax,
|
||
but are actually MathML entities. Examples for this are
|
||
`\nbsp` (non-breaking space), `\Aacute` (the letter A with accent acute)
|
||
or `\copy` (the copyright sign ©)
|
||
|
||
* EPUB reader:
|
||
|
||
+ URI handling improvements. Now we outsource most of the work to
|
||
`fetchItem'`. Also, do not include queries in file extensions (#1671).
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Use `\texorpdfstring` for section captions when needed (Vaclav Zeman).
|
||
+ Handle consecutive linebreaks (#1733).
|
||
+ Protect graphics in headers (Jesse Rosenthal).
|
||
Graphics in `\section`/`\subsection` etc titles need to be `\protect`ed.
|
||
+ Put `~` before header in list item text (Jesse Rosenthal).
|
||
Because of the built-in line skip, LaTeX can't handle a section header
|
||
as the first element in a list item.
|
||
+ Avoid using reserved characters as `\lstinline` delimiters (#1595).
|
||
+ Better handling of display math in simple tables (#1754).
|
||
We convert display math to inline math in simple tables,
|
||
since LaTeX can't deal with display math in simple tables.
|
||
+ Escape spaces in code (#1694, Bjorn Buckwalter).
|
||
|
||
* MediaWiki writer:
|
||
|
||
+ Fixed links with URL = text. Previously these were rendered as bare
|
||
words, even if the URL was not an absolute URL (#1825).
|
||
|
||
* ICML writer:
|
||
|
||
+ Don't force all citations into footnotes.
|
||
|
||
* RTF writer:
|
||
|
||
+ Add blankline at end of output (#1732, Matthew Pickering).
|
||
|
||
* RST writer:
|
||
|
||
+ Ensure blank line after figure.
|
||
+ Avoid exces whitespace after last list item (#1777).
|
||
+ Wrap line blocks with spaces before continuations (#1656).
|
||
+ Fixed double-rendering of footnotes in RST tables (#1769).
|
||
|
||
* DokuWiki writer:
|
||
|
||
+ Better handling of block quotes. This change ensures that
|
||
multiple paragraph blockquotes are rendered using native `>`
|
||
rather than as HTML (#1738).
|
||
+ Fix external images (#1739). Preface relative links with ":",
|
||
absolute URIs without. (Timothy Humphries)
|
||
|
||
* HTML writer:
|
||
|
||
+ Use protocol-relative URL for mathjax.
|
||
+ Put newline btw img and caption paragraph.
|
||
+ MathML now outputted with tex annotation (#1635, Matthew Pickering).
|
||
+ Add support for KaTeX HTML math (#1626, Matthew Pickering).
|
||
This adds `KaTeX` to `HTMLMathMethod` (API change).
|
||
+ Don't double render when `email-obfuscation=none` (#1625, Matthew
|
||
Pickering).
|
||
+ Make header attributes work outside top level (#1711).
|
||
Previously they only appeared on top level header elements.
|
||
Now they work e.g. in blockquotes.
|
||
|
||
* ODT writer:
|
||
|
||
+ Correctly handle images without extensions (#1729).
|
||
+ Strip querystring in ODT write (#1682, Todd Sifleet).
|
||
|
||
* FB2 writer:
|
||
|
||
+ Add newline to output.
|
||
|
||
* EPUB writer:
|
||
|
||
+ Don't add `sourceURL` to absolute URIs (#1669).
|
||
+ Don't use unsupported `opf:title-type` for epub2.
|
||
+ Include "landmarks" section in nav document for epub3 (#1757).
|
||
+ Removed playOrder from navpoint elements in ncx file (#1760).
|
||
These aren't required, and they make manual modification of epubs
|
||
difficult.
|
||
+ Extract title even from structured title.
|
||
+ Don't include nav node in spine unless `--toc` was requested.
|
||
Previously we included it in the spine with `linear="no"`, leading
|
||
to odd results in some readers (#1593).
|
||
+ Fixed absolute URI detection (#1672).
|
||
+ Correctly resolve relative URIs (#1671).
|
||
+ Use regular page template for `nav.xhtml`, including doctype (#1759).
|
||
|
||
* Docx writer:
|
||
|
||
+ Put docx table captions above tables (#1641, Nikolay Yakimov).
|
||
+ Get the page width from the reference docx file, and use
|
||
it to scale images that are too large to fit (Grégory Bataille).
|
||
+ Partial fix for #1607 (Nikolay Yakimov). International heading styles
|
||
are inferred based on `<w:name val="heading #">` fallback, if there
|
||
are no en-US "Heading#" styles
|
||
+ Look in user data dir for archive `reference.docx`.
|
||
+ Renumber header and footer relationships to avoid collisions (Jesse
|
||
Rosenthal). We previously took the old relationship names of the
|
||
headers and footer in secptr. That led to collisions. We now make
|
||
a map of availabl names in the relationships file, and then rename
|
||
in secptr.
|
||
|
||
* ConTeXt writer:
|
||
|
||
+ Add function toLabel (Mark Szepieniec).
|
||
This function can be used to sanitize reference labels so that
|
||
they do not contain any of the illegal characters \#[]",{}%()|= .
|
||
Currently only Links have their labels sanitized, because they
|
||
are the only Elements that use passed labels.
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ Moved import of `toChunks` outside of CPP conditional (#1590).
|
||
+ Fix `inDirectory` to reset to the original directory in case
|
||
an exception occurs (Freiric Barral).
|
||
|
||
* Templates:
|
||
|
||
+ LaTeX template: load polyglossia before bibtex (jgm/pandoc-templates#70).
|
||
Thanks to bluebirch.
|
||
+ LaTeX template: Added `\VerbatimFootnotes` if there is verbatim in notes
|
||
(#1616).
|
||
+ LaTeX template: Add shorthands=off to babel options (#1648).
|
||
+ EPUB, EPUB3 templates: Added `id="cover"` to body of cover page.
|
||
This aids styling, making it possible for example to set 0 margins
|
||
on the title page (#1758).
|
||
+ EPUB, EPUB3 templates: Handle structured metadata on titlepage.
|
||
Previously we just expected 'title', 'subtitle', 'author', 'date'.
|
||
Now we still support those, but also support the format recommended
|
||
for epub metadata in the pandoc README:
|
||
|
||
---
|
||
title:
|
||
- type: main
|
||
text: My Book
|
||
- type: subtitle
|
||
text: An investigation of metadata
|
||
creator:
|
||
- role: author
|
||
text: John Smith
|
||
- role: editor
|
||
text: Sarah Jones
|
||
identifier:
|
||
- scheme: DOI
|
||
text: doi:10.234234.234/33
|
||
publisher: My Press
|
||
rights: (c) 2007 John Smith, CC BY-NC
|
||
...
|
||
|
||
* `Text.Pandoc.Templates.getDefaultTemplate`:
|
||
don't fail when called with "fb2" (#1660).
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ Fixed `inlineMath` so it handles `\text{..}` containing `$`.
|
||
For example: `$x = \text{the $n$th root of $y$}` (#1677).
|
||
+ Change `parseFromString` to fail if not all input is consumed.
|
||
(Matthew Pickering)
|
||
+ Moved `addWarning` from Markdown reader to `Parsing`, so it can be
|
||
used by more readers (API change, Daniel Bergey).
|
||
|
||
* `Text.Pandoc.Pretty`:
|
||
|
||
+ Improve performance of `realLength` (Matthew Pickering).
|
||
+ Make CR + BLANKLINE = BLANKLINE. This fixes an extra blank line we
|
||
were getting at the end of markdown fragments (as well as rst, org,
|
||
etc.) (#1705).
|
||
|
||
* `Text.Pandoc.MIME`:
|
||
|
||
+ Add mime type for WebVTT (Jason Ronallo).
|
||
+ Changed mime type for `otf` to `application/vnd.ms-opentype` (#1761).
|
||
This is needed for epub3 validation.
|
||
|
||
* `Text.Pandoc.MediaBag`:
|
||
|
||
+ Fix Windows specific path problems (#1597).
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ Make `collapseFilePath` OS-agnostic (Matthew Pickering).
|
||
|
||
* Link the test suite using `-threaded`.
|
||
This allows the test suite to be run using `+RTS -N`.
|
||
|
||
* Added `network` dependency under `network-uri` flag in test section.
|
||
|
||
* Give better error messages when someone tries to convert from
|
||
pdf, doc, odt (#1683).
|
||
|
||
* Added `track` to list of tags treated by `--self-contained` (#1664).
|
||
|
||
pandoc (1.13.1)
|
||
|
||
* Fixed `--self-contained` with Windows paths (#1558).
|
||
Previously `C:\foo.js` was being wrongly interpreted as a URI.
|
||
|
||
* HTML reader: improved handling of tags that can be block or inline.
|
||
Previously a section like this would be enclosed in a paragraph,
|
||
with RawInline for the video tags (since video is a tag that can
|
||
be either block or inline):
|
||
|
||
<video controls="controls">
|
||
<source src="../videos/test.mp4" type="video/mp4" />
|
||
<source src="../videos/test.webm" type="video/webm" />
|
||
<p>
|
||
The videos can not be played back on your system.<br/>
|
||
Try viewing on Youtube (requires Internet connection):
|
||
<a href="http://youtu.be/etE5urBps_w">Relative Velocity on
|
||
Youtube</a>.
|
||
</p>
|
||
</video>
|
||
|
||
This change will cause the video and source tags to be parsed
|
||
as RawBlock instead, giving better output.
|
||
The general change is this: when we're parsing a "plain" sequence
|
||
of inlines, we don't parse anything that COULD be a block-level tag.
|
||
|
||
* Docx reader:
|
||
|
||
+ Be sensitive to user styles. Note that "Hyperlink" is
|
||
"blacklisted," as we don't want the default underline styling to be
|
||
inherited by all links by default (Jesse Rosenthal).
|
||
+ Read single paragraph in table cell as `Plain` (Jesse Rosenthal).
|
||
This makes to docx reader's native output fit with the way the markdown
|
||
reader understands its markdown output.
|
||
|
||
* Textile writer: Extended the range of cases where native textile
|
||
tables will be used (as opposed to raw HTML): we now handle any
|
||
alignment type, but only for simple tables with no captions.
|
||
|
||
* Txt2Tags reader:
|
||
|
||
+ Header is now parsed only if standalone flag is set (Matthew Pickering).
|
||
+ The header is now parsed as meta information. The first line is the
|
||
`title`, the second is the `author` and third line is the `date`
|
||
(Matthew Pickering).
|
||
+ Corrected formatting of `%%mtime` macro (Matthew Pickering).
|
||
+ Fixed crash when reading from stdin.
|
||
|
||
* EPUB writer: Don't use page-progression-direction in EPUB2, which
|
||
doesn't support it. Also, if page-progression-direction not specified
|
||
in metadata, don't include the attribute even in EPUB3; not including it
|
||
is the same as including it with the value "default", as we did before.
|
||
(#1550)
|
||
|
||
* Org writer: Accept example lines with indentation at the beginning
|
||
(Calvin Beck).
|
||
|
||
* DokuWiki writer:
|
||
|
||
+ Refactor to use Reader monad (Matthew Pickering).
|
||
+ Avoid using raw HTML in table cells; instead, use `\\`
|
||
instead of newlines (Jesse Rosenthal).
|
||
+ Properly handle HTML table cell alignments, and use spacing
|
||
to make the tables look prettier (#1566).
|
||
|
||
* Docx writer:
|
||
|
||
+ Bibliography entries get `Bibliography` style (#1559).
|
||
+ Implement change tracking (Jesse Rosenthal).
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Fixed a bug that caused a table caption to repeat across all pages
|
||
(Jose Luis Duran).
|
||
+ Improved vertical spacing in tables and made it customizable using
|
||
standard lengths set by booktab. See
|
||
<https://groups.google.com/forum/#!msg/pandoc-discuss/qMu6_5lYy0o/ZAU7lzAIKw0J>
|
||
(Jose Luis Duran).
|
||
+ Added `\strut` to fix spacing in multiline tables (Jose Luis Duran).
|
||
+ Use `\tabularnewline` instead of `\\` in table cells (Jose Luis Duran).
|
||
+ Made horizontal rules more flexible (Jose Luis Duran).
|
||
|
||
* Text.Pandoc.MIME:
|
||
|
||
+ Added `MimeType` (type synonym for `String`) and `getMimeTypeDef`.
|
||
Code cleanups (Artyom Kazak).
|
||
|
||
* Templates:
|
||
|
||
+ LaTeX template: disable microtype protrusion for typewriter font (#1549,
|
||
thanks lemzwerg).
|
||
|
||
* Improved OSX build procedure.
|
||
|
||
* Added `network-uri` flag, to deal with split of `network-uri` from
|
||
`network`.
|
||
|
||
* Fix build dependencies for the `trypandoc` flag, so that they are
|
||
ignored if `trypandoc` flag is set to False (Gabor Pali).
|
||
|
||
* Updated README to remove outdated claim that `--self-contained`
|
||
looks in the user data directory for missing files.
|
||
|
||
pandoc (1.13.0.1)
|
||
|
||
* Docx writer:
|
||
|
||
+ Fixed regression which bungled list numbering (#1544), causing
|
||
all lists to appear as basic ordered lists.
|
||
+ Include row width in table rows (Christoffer Ackelman, Viktor Kronvall).
|
||
Added a property to all table rows where the sum of column widths
|
||
is specified in pct (fraction of 5000). This helps persuade Word
|
||
to lay out the table with the widths we specify.
|
||
|
||
* Fixed a bug in Windows 8 which caused pandoc not to find the
|
||
`pandoc-citeproc` filter (#1542).
|
||
|
||
* Docx reader: miscellaneous under-the-hood improvements (Jesse Rosenthal).
|
||
Most significantly, the reader now uses Builder, leading to some
|
||
performance improvements.
|
||
|
||
* HTML reader: Parse appropriately styled span as SmallCaps.
|
||
|
||
* Markdown writer: don't escape `$`, `^`, `~` when `tex_math_dollars`,
|
||
`superscript`, and `subscript` extensions, respectively, are
|
||
deactivated (#1127).
|
||
|
||
* Added `trypandoc` flag to build CGI executable used in the online
|
||
demo.
|
||
|
||
* Makefile: Added 'quick', 'osxpkg' targets.
|
||
|
||
* Updated README in templates to indicate templates license.
|
||
The templates are dual-licensed, BSD3 and GPL2+.
|
||
|
||
pandoc (1.13)
|
||
|
||
[new features]
|
||
|
||
* Added `docx` as an input format (Jesse Rosenthal). The docx
|
||
reader includes conversion of native Word equations to pandoc
|
||
LaTeX `Math` elements. Metadata is taken from paragraphs at the
|
||
beginning of the document with styles `Author`, `Title`, `Subtitle`,
|
||
`Date`, and `Abstract`.
|
||
|
||
* Added `epub` as an input format (Matthew Pickering). The epub
|
||
reader includes conversion of MathML to pandoc LaTeX `Math`
|
||
elements.
|
||
|
||
* Added `t2t` (Txt2Tags) as an input format (Matthew Pickering).
|
||
Txt2tags is a lightweight markup format described at
|
||
<http://txt2tags.org/>.
|
||
|
||
* Added `dokuwiki` as an output format (Clare Macrae).
|
||
|
||
* Added `haddock` as an output format.
|
||
|
||
* Added `--extract-media` option to extract media contained in a zip
|
||
container (docx or epub) while adjusting image paths to point to the
|
||
extracted images.
|
||
|
||
* Added a new markdown extension, `compact_definition_lists`, that
|
||
restores the syntax for definition lists of pandoc 1.12.x, allowing
|
||
tight definition lists with no blank space between items, and
|
||
disallowing lazy wrapping. (See below under behavior changes.)
|
||
|
||
* Added an extension `epub_html_exts` for parsing HTML in EPUBs.
|
||
|
||
* Added extensions `native_spans` and `native_divs` to activate
|
||
parsing of material in HTML span or div tags as Pandoc Span
|
||
inlines or Div blocks.
|
||
|
||
* `--trace` now works with the Markdown, HTML, Haddock, EPUB,
|
||
Textile, and MediaWiki readers. This is an option intended
|
||
for debugging parsing problems; ordinary users should not need
|
||
to use it.
|
||
|
||
[behavior changes]
|
||
|
||
* Changed behavior of the `markdown_attribute` extension, to bring
|
||
it in line with PHP markdown extra and multimarkdown. Setting
|
||
`markdown="1"` on an outer tag affects all contained tags,
|
||
recursively, until it is reversed with `markdown="0"` (#1378).
|
||
|
||
* Revised markdown definition list syntax (#1429). Both the reader
|
||
and writer are affected. This change brings pandoc's definition list
|
||
syntax into alignment with that used in PHP markdown extra and
|
||
multimarkdown (with the exception that pandoc is more flexible about
|
||
the definition markers, allowing tildes as well as colons). Lazily
|
||
wrapped definitions are now allowed. Blank space is required
|
||
between list items. The space before a definition is used to determine
|
||
whether it is a paragraph or a "plain" element. **WARNING: This change
|
||
may break existing documents!** Either check your documents for
|
||
definition lists without blank space between items, or use
|
||
`markdown+compact_definition_lists` for the old behavior.
|
||
|
||
* `.numberLines` now works in fenced code blocks even if no language
|
||
is given (#1287, jgm/highlighting-kate#40).
|
||
|
||
* Improvements to `--filter`:
|
||
|
||
+ Don't search PATH for a filter with an explicit path.
|
||
This fixed a bug wherein `--filter ./caps.py` would run `caps.py` from
|
||
the system path, even if there was a `caps.py` in the working directory.
|
||
+ Respect shebang if filter is executable (#1389).
|
||
+ Don't print misleading error message.
|
||
Previously pandoc would say that a filter was not found,
|
||
even in a case where the filter had a syntax error.
|
||
|
||
* HTML reader:
|
||
|
||
+ Parse `div` and `span` elements even without `--parse-raw`,
|
||
provided `native_divs` and `native_spans` extensions are set.
|
||
Motivation: these now generate native pandoc Div and Span
|
||
elements, not raw HTML.
|
||
+ Parse EPUB-specific elements if the `epub_html_exts`
|
||
extension is enabled. These include `switch`, `footnote`,
|
||
`rearnote`, `noteref`.
|
||
|
||
* Org reader:
|
||
|
||
+ Support for inline LaTeX. Inline LaTeX is now accepted and parsed by the
|
||
org-mode reader. Both math symbols (like `\tau`) and LaTeX commands (like
|
||
`\cite{Coffee}`), can be used without any further escaping (Albert
|
||
Krewinkel).
|
||
|
||
* Textile reader and writer:
|
||
|
||
+ The `raw_tex` extension is no longer set by default. You can
|
||
enable it with `textile+raw_tex`.
|
||
|
||
* DocBook reader:
|
||
|
||
+ Support `equation`, `informalequation`, `inlineequation` elements with
|
||
`mml:math` content. This is converted into LaTeX and put into a Pandoc
|
||
Math inline.
|
||
|
||
* Revised `plain` output, largely following the style of Project
|
||
Gutenberg:
|
||
|
||
+ Emphasis is rendered with `_underscores_`, strong emphasis
|
||
with ALL CAPS.
|
||
+ Headings are rendered differently, with space to set them off,
|
||
not with setext style underlines. Level 1 headers are ALL CAPS.
|
||
+ Math is rendered using unicode when possible, but without the
|
||
distracting emphasis markers around variables.
|
||
+ Footnotes use a regular `[n]` style.
|
||
|
||
* Markdown writer:
|
||
|
||
+ Horizontal rules are now a line across the whole page.
|
||
+ Prettier pipe tables. Columns are now aligned (#1323).
|
||
+ Respect the `raw_html` extension. `pandoc -t markdown-raw_html`
|
||
no longer emits any raw HTML, including span and div tags
|
||
generated by Span and Div elements.
|
||
+ Use span with style for `SmallCaps` (#1360).
|
||
|
||
* HTML writer:
|
||
|
||
+ Autolinks now have class `uri`, and email autolinks have class
|
||
`email`, so they can be styled.
|
||
|
||
* Docx writer:
|
||
|
||
+ Document formatting is carried over from `reference.docx`.
|
||
This includes margins, page size, page orientation, header,
|
||
and footer, including images in headers and footers.
|
||
+ Include abstract (if present) with `Abstract` style (#1451).
|
||
+ Include subtitle (if present) with `Subtitle` style, rather
|
||
than tacking it on to the title (#1451).
|
||
|
||
* Org writer:
|
||
|
||
+ Write empty span elements with an id attribute as org anchors.
|
||
For example `Span ("uid",[],[]) []` becomes `<<uid>>`.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Put table captions above tables, to match the conventional
|
||
standard. (Previously they appeared below tables.)
|
||
+ Use `\(..\)` instead of `$..$` for inline math (#1464).
|
||
+ Use `\nolinkurl` in email autolinks. This allows them to be styled
|
||
using `\urlstyle{tt}`. Thanks to Ulrike Fischer for the solution.
|
||
+ Use `\textquotesingle` for `'` in inline code. Otherwise we get
|
||
curly quotes in the PDF output (#1364).
|
||
+ Use `\footnote<.>{..}` for notes in beamer, so that footnotes
|
||
do not appear before the overlays in which their markers appear
|
||
(#1525).
|
||
+ Don't produce a `\label{..}` for a Div or Span element. Do produce
|
||
a `\hyperdef{..}` (#1519).
|
||
|
||
* EPUB writer:
|
||
|
||
+ If the metadata includes `page-progression-direction` (which can be
|
||
`ltr` or `rtl`, the `page-progression-direction` attribute will
|
||
be set in the EPUB spine (#1455).
|
||
|
||
* Custom lua writers:
|
||
|
||
+ Custom writers now work with `--template`.
|
||
+ Removed HTML header scaffolding from `sample.lua`.
|
||
+ Made citation information available in lua writers.
|
||
|
||
* `--normalize` and `Text.Pandoc.Shared.normalize` now consolidate
|
||
adjacent `RawBlock`s when possible.
|
||
|
||
[API changes]
|
||
|
||
* Added `Text.Pandoc.Readers.Docx`, exporting `readDocx` (Jesse Rosenthal).
|
||
|
||
* Added `Text.Pandoc.Readers.EPUB`, exporting `readEPUB` (Matthew
|
||
Pickering).
|
||
|
||
* Added `Text.Pandoc.Readers.Txt2Tags`, exporting `readTxt2Tags` (Matthew
|
||
Pickering).
|
||
|
||
* Added `Text.Pandoc.Writers.DokuWiki`, exporting `writeDokuWiki`
|
||
(Clare Macrae).
|
||
|
||
* Added `Text.Pandoc.Writers.Haddock`, exporting `writeHaddock`.
|
||
|
||
* Added `Text.Pandoc.MediaBag`, exporting `MediaBag`, `lookupMedia`,
|
||
`insertMedia`, `mediaDirectory`, `extractMediaBag`. The docx and epub
|
||
readers return a pair of a `Pandoc` document and a `MediaBag` with
|
||
the media resources they contain. This can be extracted using
|
||
`--extract-media`. Writers that incorporate media (PDF, Docx,
|
||
ODT, EPUB, RTF, or HTML formats with `--self-contained`) will look
|
||
for resources in the `MediaBag` generated by the reader, in addition to
|
||
the file system or web.
|
||
|
||
* `Text.Pandoc.Readers.TexMath`: Removed deprecated `readTeXMath`.
|
||
Renamed `readTeXMath'` to `texMathToInlines`.
|
||
|
||
* `Text.Pandoc`: Added `Reader` data type (Matthew Pickering).
|
||
`readers` now associates names of readers with `Reader`
|
||
structures. This allows inclusion of readers, like the docx
|
||
reader, that take binary rather than textual input.
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ Added `capitalize` (Artyom Kazak), and replaced uses of
|
||
`map toUpper` (which give bad results for many languages).
|
||
+ Added `collapseFilePath`, which removes intermediate `.` and
|
||
`..` from a path (Matthew Pickering).
|
||
+ Added `fetchItem'`, which works like `fetchItem` but searches
|
||
a `MediaBag` before looking on the net or file system.
|
||
+ Added `withTempDir`.
|
||
+ Added `removeFormatting`.
|
||
+ Added `extractSpaces` (from HTML reader) and generalized its type
|
||
so that it can be used by the docx reader (Matthew Pickering).
|
||
+ Added `ordNub`.
|
||
+ Added `normalizeInlines`, `normalizeBlocks`.
|
||
+ `normalize` is now `Pandoc -> Pandoc` instead of
|
||
`Data a :: a -> a`. Some users may need to change their uses of
|
||
`normalize` to the newly exported `normalizeInlines` or
|
||
`normalizeBlocks`.
|
||
|
||
* `Text.Pandoc.Options`:
|
||
|
||
+ Added `writerMediaBag` to `WriterOptions`.
|
||
+ Removed deprecated and no longer used `readerStrict` in
|
||
`ReaderOptions`. This is handled by `readerExtensions` now.
|
||
+ Added `Ext_compact_definition_lists`.
|
||
+ Added `Ext_epub_html_exts`.
|
||
+ Added `Ext_native_divs` and `Ext_native_spans`.
|
||
This allows users to turn off the default pandoc behavior of
|
||
parsing contents of div and span tags in markdown and HTML
|
||
as native pandoc Div blocks and Span inlines.
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ Generalized `readWith` to `readWithM` (Matthew Pickering).
|
||
+ Export `runParserT` and `Stream` (Matthew Pickering).
|
||
+ Added `HasQuoteContext` type class (Matthew Pickering).
|
||
+ Generalized types of `mathInline`, `smartPunctuation`, `quoted`,
|
||
`singleQuoted`, `doubleQuoted`, `failIfInQuoteContext`,
|
||
`applyMacros` (Matthew Pickering).
|
||
+ Added custom `token` (Matthew Pickering).
|
||
+ Added `stateInHtmlBlock` to `ParserState`. This is used to keep
|
||
track of the ending tag we're waiting for when we're parsing inside
|
||
HTML block tags.
|
||
+ Added `stateMarkdownAttribute` to `ParserState`. This is used
|
||
to keep track of whether the markdown attribute has been set in
|
||
an enclosing tag.
|
||
+ Generalized type of `registerHeader`, using new type classes
|
||
`HasReaderOptions`, `HasIdentifierList`, `HasHeaderMap` (Matthew
|
||
Pickering). These allow certain common functions to be reused
|
||
even in parsers that use custom state (instead of `ParserState`),
|
||
such as the MediaWiki reader.
|
||
+ Moved `inlineMath`, `displayMath` from Markdown reader to Parsing,
|
||
and generalized their types (Matthew Pickering).
|
||
|
||
* `Text.Pandoc.Pretty`:
|
||
|
||
+ Added `nestle`.
|
||
+ Added `blanklines`, which guarantees a certain number of blank lines
|
||
(and no more).
|
||
|
||
[bug fixes]
|
||
|
||
* Markdown reader:
|
||
|
||
+ Fixed parsing of indented code in list items. Indented code
|
||
at the beginning of a list item must be indented eight spaces
|
||
from the margin (or edge of the container), or four spaces
|
||
from the list marker, whichever is greater.
|
||
+ Fixed small bug in HTML parsing with `markdown_attribute`, which
|
||
caused incorrect tag nesting for input like
|
||
`<aside markdown="1">*hi*</aside>`.
|
||
+ Fixed regression with intraword underscores (#1121).
|
||
+ Improved parsing of inline links containing quote characters (#1534).
|
||
+ Slight rewrite of `enclosure`/`emphOrStrong` code.
|
||
+ Revamped raw HTML block parsing in markdown (#1330).
|
||
We no longer include trailing spaces and newlines in the
|
||
raw blocks. We look for closing tags for elements (but without
|
||
backtracking). Each block-level tag is its own `RawBlock`;
|
||
we no longer try to consolidate them (though `--normalize` will do so).
|
||
+ Combine consecutive latex environments. This helps when you have
|
||
two minipages which can't have blank lines between them (#690, #1196).
|
||
+ Support smallcaps through span.
|
||
`<span style="font-variant:small-caps;">foo</span>` will be
|
||
parsed as a `SmallCaps` inline, and will work in all output
|
||
formats that support small caps (#1360).
|
||
+ Prevent spurious line breaks after list items (#1137). When the
|
||
`hard_line_breaks` option was specified, pandoc would formerly
|
||
produce a spurious line break after a tight list item.
|
||
+ Fixed table parsing bug (#1333).
|
||
+ Handle `c++` and `objective-c` as language identifiers in
|
||
github-style fenced blocks (#1318).
|
||
+ Inline math must have nonspace before final `$` (#1313).
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Handle comments at the end of tables. This resolves the issue
|
||
illustrated in <http://stackoverflow.com/questions/24009489>.
|
||
+ Correctly handle table rows with too few cells. LaTeX seems to
|
||
treat them as if they have empty cells at the end (#241).
|
||
+ Handle leading/trailing spaces in `\emph` better.
|
||
`\emph{ hi }` gets parsed as `[Space, Emph [Str "hi"], Space]`
|
||
so that we don't get things like `* hi *` in markdown output.
|
||
Also applies to `\textbf` and some other constructions (#1146).
|
||
+ Don't assume preamble doesn't contain environments (#1338).
|
||
+ Allow (and discard) optional argument for `\caption` (James Aspnes).
|
||
|
||
* HTML reader:
|
||
|
||
+ Fixed major parsing problem with HTML tables. Table cells were
|
||
being combined into one cell (#1341).
|
||
+ Fixed performance issue with malformed HTML tables.
|
||
We let a `</table>` tag close an open `<tr>` or `<td>` (#1167).
|
||
+ Allow space between `<col>` and `</col>`.
|
||
+ Added `audio` and `source` in `eitherBlockOrInline`.
|
||
+ Moved `video`, `svg`, `progress`, `script`, `noscript`, `svg` from
|
||
`blockTags` to `eitherBlockOrInline`.
|
||
+ `map` and `object` were mistakenly in both lists; they have been removed
|
||
from `blockTags`.
|
||
+ Ignore `DOCTYPE` and `xml` declarations.
|
||
|
||
* MediaWiki reader:
|
||
|
||
+ Don't parse backslash escapes inside `<source>` (#1445).
|
||
+ Tightened up template parsing.
|
||
The opening `{{` must be followed by an alphanumeric or `:`.
|
||
This prevents the exponential slowdown in #1033.
|
||
+ Support "Bild" for images.
|
||
|
||
* DocBook reader:
|
||
|
||
+ Better handle elements inside code environments. Pandoc's document
|
||
model does not allow structure inside code blocks, but at least this way
|
||
we preserve the text (#1449).
|
||
+ Support `<?asciidoc-br?>` (#1236).
|
||
|
||
* Textile reader:
|
||
|
||
+ Fixed list parsing. Lists can now start without an intervening
|
||
blank line (#1513).
|
||
+ HTML block-level tags that do not start a line are parsed as
|
||
inline HTML and do not interrupt paragraphs (as in RedCloth).
|
||
|
||
* Org reader:
|
||
|
||
+ Make tildes create inline code (#1345). Also relabeled `code` and
|
||
`verbatim` parsers to accord with the org-mode manual.
|
||
+ Respect `:exports` header argument in code blocks (Craig Bosma).
|
||
+ Fixed tight lists with sublists (#1437).
|
||
|
||
* EPUB writer:
|
||
|
||
+ Avoid excess whitespace in `nav.xhtml`. This should improve
|
||
TOC view in iBooks (#1392).
|
||
+ Fixed regression on cover image.
|
||
In 1.12.4 and 1.12.4.2, the cover image would not appear properly,
|
||
because the metadata id was not correct. Now we derive the id from the
|
||
actual cover image filename, which we preserve rather than using
|
||
"cover-image."
|
||
+ Keep newlines between block elements. This allows
|
||
easier diff-ability (#1424).
|
||
+ Use `stringify` instead of custom `plainify`.
|
||
+ Use `renderTags'` for all tag rendering. This properly handles tags
|
||
that should be self-closing. Previously `<hr/>` would appear in EPUB
|
||
output as `<hr></hr>` (#1420).
|
||
+ Better handle HTML media tags.
|
||
+ Handle multiple dates with OPF `event` attributes. Note: in EPUB3 we
|
||
can have only one dc:date, so only the first one is used.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Correctly handle figures in notes. Notes can't contain figures in
|
||
LaTeX, so we fake it to avoid an error (#1053).
|
||
+ Fixed strikeout + highlighted code (#1294).
|
||
Previously strikeout highlighted code caused an error.
|
||
|
||
* ConTeXt writer:
|
||
|
||
+ Improved detection of autolinks with URLs containing escapes.
|
||
|
||
* RTF writer:
|
||
|
||
+ Improved image embedding: `fetchItem'` is now used to get the
|
||
images, and calculated image sizes are indicated in the RTF.
|
||
+ Avoid extra paragraph tags in metadata (#1421).
|
||
|
||
* HTML writer:
|
||
|
||
+ Deactivate "incremental" inside slide speaker notes (#1394).
|
||
+ Don't include empty items in the table of contents for
|
||
slide shows. (These would result from creating a slide
|
||
using a horizontal rule.)
|
||
|
||
* MediaWiki writer:
|
||
|
||
+ Minor renaming of `st` prefixed names.
|
||
|
||
* AsciiDoc writer:
|
||
|
||
+ Double up emphasis and strong emphasis markers in intraword
|
||
contexts, as required by asciidoc (#1441).
|
||
|
||
* Markdown writer:
|
||
|
||
+ Avoid wrapping that might start a list, blockquote, or header (#1013).
|
||
+ Use Span instead of (hackish) `SmallCaps` in `plainify`.
|
||
+ Don't use braced attributes for fenced code (#1416).
|
||
If `Ext_fenced_code_attributes` is not set, the first class
|
||
attribute will be printed after the opening fence as a bare word.
|
||
+ Separate adjacent lists of the same kind with an HTML comment (#1458).
|
||
|
||
* PDF writer:
|
||
|
||
+ Fixed treatment of data uris for images (#1062).
|
||
|
||
* Docx writer:
|
||
|
||
+ Use Compact style for empty table cells (#1353).
|
||
Otherwise we get overly tall lines when there are empty
|
||
table cells and the other cells are compact.
|
||
+ Create overrides per-image for `media/` in reference docx.
|
||
This should be somewhat more robust and cover more types of images.
|
||
+ Improved `entryFromArchive` to avoid an unneeded parse.
|
||
+ Section numbering carries over from reference.docx (#1305).
|
||
+ Simplified `abstractNumId` numbering. Instead of sequential numbering,
|
||
we assign numbers based on the list marker styles.
|
||
|
||
* `Text.Pandoc.Options`:
|
||
|
||
+ Removed `Ext_fenced_code_attributes` from `markdown_github`
|
||
extensions.
|
||
|
||
* `Text.Pandoc.ImageSize`:
|
||
|
||
+ Use default instead of failing if image size not found
|
||
in exif header (#1358).
|
||
+ ignore unknown exif header tag rather than crashing.
|
||
Some images seem to have tag type of 256, which was causing
|
||
a runtime error.
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ `fetchItem`: unescape URI encoding before reading local file (#1427).
|
||
+ `fetchItem`: strip a fragment like `?#iefix` from the extension before
|
||
doing mime lookup, to improve mime type guessing.
|
||
+ Improved logic of `fetchItem`: absolute URIs are fetched from the net;
|
||
other things are treated as relative URIs if `sourceURL` is `Just _`,
|
||
otherwise as file paths on the local file system.
|
||
+ `fetchItem` now properly handles links without a protocol (#1477).
|
||
+ `fetchItem` now escapes characters not allowed in URIs before trying
|
||
to parse the URIs.
|
||
+ Fixed runtime error with `compactify'DL` on certain lists (#1452).
|
||
|
||
* `pandoc.hs`: Don't strip path off of `writerSourceURL`: the path is
|
||
needed to resolve relative URLs when we fetch resources (#750).
|
||
|
||
* `Text.Pandoc.Parsing`
|
||
|
||
+ Simplified `dash` and `ellipsis` (#1419).
|
||
+ Removed `(>>~)` in favor of the equivalent `(<*)` (Matthew Pickering).
|
||
+ Generalized functions to use `ParsecT` (Matthew Pickering).
|
||
+ Added `isbn` and `pmid` to list of recognized schemes (Matthew
|
||
Pickering).
|
||
|
||
[template changes]
|
||
|
||
* Added haddock template.
|
||
* EPUB3: Added `type` attribute to `link` tags. They are supposed to
|
||
be "advisory" in HTML5, but kindlegen seems to require them.
|
||
* EPUB3: Put title page in section with `epub:type="titlepage"`.
|
||
* LaTeX: Made `\subtitle` work properly (#1327).
|
||
* LaTeX/Beamer: remove conditional around date (#1321).
|
||
* LaTeX: Added `lot` and `lof` variables, which can be set to
|
||
get `\listoftables` and `\listoffigures` (#1407). Note that
|
||
these variables can be set at the command line with `-Vlot -Vlof`
|
||
or in YAML metadata.
|
||
|
||
[under the hood improvements]
|
||
|
||
* Rewrote normalize for efficiency (#1385).
|
||
|
||
* Rewrote Haddock reader to use `haddock-library` (#1346).
|
||
|
||
+ This brings pandoc's rendering of haddock markup in line
|
||
with the new haddock.
|
||
+ Fixed line breaks in `@` code blocks.
|
||
+ alex and happy are no longer build-depends.
|
||
|
||
* Added `Text.Pandoc.Compat.Directory` to allow building against
|
||
different versions of the `directory` library.
|
||
|
||
+ Added `Text.Pandoc.Compat.Except` to allow building against
|
||
different verions of `mtl`.
|
||
|
||
* Code cleanup in some writers, using Reader monad to avoid
|
||
passing options parameter around (Matej Kollar).
|
||
|
||
* Improved readability in `pandoc.hs`.
|
||
|
||
* Miscellaneous code cleanups (Artyom Kazak).
|
||
|
||
* Avoid `import Prelude hiding (catch)` (#1309, thanks to Michael
|
||
Thompson).
|
||
|
||
* Changed `http-conduit` flag to `https`. Depend on `http-client`
|
||
and `http-client-tls` instead of `http-conduit`. (Note: pandoc still
|
||
depends on `conduit` via `yaml`.)
|
||
|
||
* Require `highlighting-kate >= 0.5.8.5` (#1271, #1317, Debian #753299).
|
||
This change to highlighting-kate means that PHP fragments no longer need
|
||
to start with `<?php`. It also fixes a serious bug causing failures with
|
||
ocaml and fsharp.
|
||
|
||
* Require latest `texmath`. This fixes `\tilde{E}` and allows
|
||
`\left` to be used with `]`, `)` etc. (#1319), among many other
|
||
improvements.
|
||
|
||
* Require latest `zip-archive`. This has fixes for unicode path names.
|
||
|
||
* Added tests for plain writer.
|
||
|
||
* `Text.Pandoc.Templates`:
|
||
|
||
+ Fail informatively on template syntax errors.
|
||
With the move from parsec to attoparsec, we lost good error
|
||
reporting. In fact, since we weren't testing for end of input,
|
||
malformed templates would fail silently. Here we revert back to
|
||
Parsec for better error messages.
|
||
+ Use `ordNub` (#1022).
|
||
|
||
* Benchmarks:
|
||
|
||
+ Made benchmarks compile again (Artyom Kazak).
|
||
+ Fixed so that the failure of one benchmark does not prevent others
|
||
from running (Artyom Kazak).
|
||
+ Use `nfIO` instead of the `getLength` trick to force full evaluation.
|
||
+ Changed benchmark to use only the test suite, so that benchmarks
|
||
run more quickly.
|
||
|
||
* Windows build script:
|
||
|
||
+ Add `-windows` to file name.
|
||
+ Use one install command for pandoc, pandoc-citeproc.
|
||
+ Force install of pandoc-citeproc.
|
||
|
||
* `make_osx_package`: Call zip file `pandoc-VERSION-osx.zip`.
|
||
The zip should not be named `SOMETHING.pkg.zip`, or OSX finder
|
||
will extract it into a folder named `SOMETHING.pkg`, which it
|
||
will interpret as a defective package (#1308).
|
||
|
||
* `README`:
|
||
|
||
+ Made headers for all extensions so they have IDs and can be
|
||
linked to (Beni Cherniavsky-Paskin).
|
||
+ Fixed typos (Phillip Alday).
|
||
+ Fixed documentation of attributes (#1315).
|
||
+ Clarified documentation on small caps (#1360).
|
||
+ Better documentation for `fenced_code_attributes` extension
|
||
(Caleb McDaniel).
|
||
+ Documented fact that you can put YAML metadata in a separate file
|
||
(#1412).
|
||
|
||
|
||
pandoc (1.12.4.2)
|
||
|
||
* Require highlighting-kate >= 0.5.8. Fixes a performance regression.
|
||
|
||
* Shared: `addMetaValue` now behaves slightly differently:
|
||
if both the new and old values are lists, it concatenates their
|
||
contents to form a new list.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Set `bibliography` in metadata from `\bibliography` or
|
||
`\addbibresource` command.
|
||
+ Don't error on `%foo` with no trailing newline.
|
||
|
||
* Org reader:
|
||
|
||
+ Support code block headers (`#+BEGIN_SRC ...`) (Albert Krewinkel).
|
||
+ Fix parsing of blank lines within blocks (Albert Krewinkel).
|
||
+ Support pandoc citation extension (Albert Krewinkel). This can
|
||
be turned off by specifying `org-citations` as the input format.
|
||
|
||
* Markdown reader:
|
||
|
||
+ `citeKey` moved to `Text.Pandoc.Parsing` so it can be used by
|
||
other readers (Albert Krewinkel).
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ Added `citeKey` (see above).
|
||
+ Added `HasLastStrPosition` type class and `updateLastStrPos`
|
||
and `notAfterString` functions.
|
||
|
||
* Updated copyright notices (Albert Krewinkel).
|
||
|
||
* Added default.icml to data files so it installs with the package.
|
||
|
||
* OSX package:
|
||
|
||
+ The binary is now built with options to ensure that it can be
|
||
used with OSX 10.6+.
|
||
+ Moved OSX package materials to osx directory.
|
||
+ Added OSX package uninstall script, included in the zip container
|
||
(thanks to Daniel T. Staal).
|
||
|
||
pandoc (1.12.4)
|
||
|
||
* 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 (Mauro Bieg).
|
||
|
||
* MediaWiki reader:
|
||
|
||
+ Accept image links in more languages (Jaime Marquínez Ferrándiz).
|
||
+ Fixed bug in certain nested lists (#1213). If a level 2 list was
|
||
followed by a level 1 list, the first item of the level 1 list
|
||
would be lost.
|
||
+ Handle table rows containing just an HTML comment (#1230).
|
||
|
||
* 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 `@{}` and `p{length}` in tabular. The length is not actually
|
||
recorded, but at least we get a table (#1180).
|
||
+ Properly handle `\nocite`. It now adds a `nocite` metadata
|
||
field. Citations there will appear in the bibliography but not
|
||
in the text (unless you explicitly put a `$nocite$` variable
|
||
in your template).
|
||
|
||
* 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 closing `div` 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).
|
||
|
||
* 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).
|
||
+ Fixed list parsing bug (#1500).
|
||
+ Don't allow inline formatting to extend over newlines.
|
||
This matches the behavior of RedCarpet, avoids some ugly bugs,
|
||
and improves performance.
|
||
|
||
* DocBook reader:
|
||
|
||
+ Better treatment of `formalpara`. We now emit the title (if present)
|
||
as a separate paragraph with boldface text (#1215).
|
||
+ Set metadata `author` not `authors`.
|
||
+ Added recognition of `authorgroup` and `releaseinfo` 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).
|
||
|
||
* 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).
|
||
|
||
* 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 than `authors` 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).
|
||
|
||
* 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 a `quote` environment.
|
||
This adds an `mbox{}` 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` and `hyperdef` (#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).
|
||
|
||
* Docx writer: When needed files are not present in the user's
|
||
`reference.docx`, fall back on the versions in the `reference.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 a `media` directory rather than `images`.
|
||
+ Incorporate files linked in `video` tags (#1170). `src` and `poster`
|
||
will both be incorporated into `content.opf` and the epub container.
|
||
|
||
* HTML writer:
|
||
|
||
+ Add colgroup around col tags (#877). Also affects EPUB writer.
|
||
+ Fixed bug with unnumbered section headings. Unnumbered section
|
||
headings (with class `unnumbered`) 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.
|
||
|
||
* RST writer: Avoid stack overflow with certain tables (#1197).
|
||
|
||
* RTF writer: Fixed table cells containing paragraphs.
|
||
|
||
* Custom writer:
|
||
|
||
+ Correctly handle UTF-8 in custom lua scripts (#1189).
|
||
+ Fix bugs with lua scripts with mixed-case filenames and
|
||
paths containing `+` or `-` (#1267). Note that `getWriter`
|
||
in `Text.Pandoc` no longer returns a custom writer on input
|
||
`foo.lua`.
|
||
|
||
* AsciiDoc writer: Handle multiblock and empty table cells
|
||
(#1245, #1246). Added tests.
|
||
|
||
* `Text.Pandoc.Options`: Added `readerTrace` to `ReaderOptions`
|
||
|
||
* `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 in `http-conduit`.
|
||
|
||
* `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 `;` for `TEXINPUTS` separator on Windows (#1151).
|
||
+ Changes to error reporting, to handle non-UTF8 error output.
|
||
|
||
* `Text.Pandoc.Templates`:
|
||
|
||
+ Removed unneeded datatype context (Merijn Verstraaten).
|
||
|
||
+ YAML objects resolve to "true" in conditionals (#1133).
|
||
Note: If `address` is a YAML object and you just have `$address$`
|
||
in your template, the word `true` will appear, which may be
|
||
unexpected. (Previously nothing would appear.)
|
||
|
||
* `Text.Pandoc.SelfContained`:
|
||
|
||
+ `mkSelfContained` now takes just two arguments, `WriterOptions` and
|
||
the string.
|
||
* It no longer looks in data files. This only made sense when we
|
||
had copies of slidy and S5 code there.
|
||
* `fetchItem'` is used instead of the nearly duplicate `getItem`.
|
||
+ Handle `poster` attribute in `video` tags (#1188).
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ Made `F` an instance of Applicative (#1138).
|
||
+ Added `stateCaption`.
|
||
+ Added `HasMacros`, simplified other typeclasses.
|
||
Removed `updateHeaderMap`, `setHeaderMap`, `getHeaderMap`,
|
||
`updateIdentifierList`, `setIdentifierList`, `getIdentifierList`.
|
||
+ Changed the smart punctuation parser to return `Inlines`
|
||
rather than `Inline` (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 of `getOption` and added a default definition. Removed
|
||
`askReaderOption`. Added `extractReaderOption`. Added
|
||
`extractHeaderMap` and `updateHeaderMap` in `HasHeaderMap`.
|
||
Gave default definitions for `getHeaderMap`, `putHeaderMap`,
|
||
`modifyHeaderMap`. Added `extractIdentifierList` and
|
||
`updateIdentifierList` in `HasIdentifierList`. Gave defaults
|
||
for `getIdentifierList`, `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.
|
||
|
||
* Template changes:
|
||
|
||
+ LaTeX template: Use `fontenc` package only with `pdflatex` (#1164).
|
||
+ LaTeX template: Add `linestretch` and `fontfamily` 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 after `fontenc` (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).
|
||
|
||
* 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` to `Arbitrary` instance (#1269).
|
||
|
||
* Allow `html4` as a synonym of `html` 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).
|
||
|
||
* Removed copyright statements for files that have been removed
|
||
(Albert Krewinkel).
|
||
|
||
* Moved some doc files from `data-files` to `extra-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.
|
||
|
||
pandoc (1.12.3.3)
|
||
|
||
* To changes to source; recompiled tarball with latest alex and
|
||
happy, so they will work with GHC 7.8.
|
||
|
||
pandoc (1.12.3.2)
|
||
|
||
* Bumped version bounds for blaze-html, blaze-markup.
|
||
|
||
* ImageSize: Avoid use of lookAhead, which is not in binary >= 0.6
|
||
(#1124).
|
||
|
||
* Fixed mediawiki ordered list parsing (#1122).
|
||
|
||
* HTML reader: Fixed bug reading inline math with `$$` (#225).
|
||
|
||
* Added support for LaTeX style literate Haskell code blocks in rST
|
||
(Merijn Verstraaten).
|
||
|
||
pandoc (1.12.3.1)
|
||
|
||
* Relaxed version constraint on binary, allowing the use of binary 0.5.
|
||
|
||
pandoc (1.12.3)
|
||
|
||
* The `--bibliography` option now sets the `biblio-files` variable.
|
||
So, if you're using `--natbib` or `--biblatex`, you can just use
|
||
`--bibliography=foo.bib` instead of `-V bibliofiles=foo`.
|
||
|
||
* Don't run pandoc-citeproc filter if `--bibliography` is
|
||
used together with `--natbib` or `--biblatex` (Florian Eitel).
|
||
|
||
* Template changes:
|
||
|
||
+ Updated beamer template to include booktabs.
|
||
+ Added `abstract` variable to LaTeX template.
|
||
+ Put `header-includes` after `title` in LaTeX template (#908).
|
||
+ Allow use of `\includegraphics[size]` in beamer.
|
||
This just required porting a macro definition from the default
|
||
LaTeX template to the default beamer template.
|
||
|
||
* `reference.docx`: Include `FootnoteText` style.
|
||
Otherwise Word ignores the style, even when specified in the `pPr`.
|
||
(#901)
|
||
|
||
* `reference.odt`: Tidied `styles.xml`.
|
||
|
||
* Relaxed version bounds for dependencies.
|
||
|
||
* Added `withSocketsDo` around http conduit code in `openURL`,
|
||
so it works on Windows (#1080).
|
||
|
||
* Added `Cite` function to `sample.lua`.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Fixed regression in title blocks (#1089).
|
||
If author field was empty, date was being ignored.
|
||
+ Allow backslash-newline hard line breaks in grid and
|
||
multiline table cells.
|
||
+ Citation keys may now start with underscores, and may contain
|
||
underscores adjacent to internal punctuation.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Add support for `Verb` macro (jrnold) (#1090).
|
||
+ Support babel-style quoting: `` "`..."' ``.
|
||
|
||
* Properly handle script blocks in strict mode. (That is,
|
||
`markdown-markdown_in_html_blocks`.) Previously a spurious
|
||
`<p>` tag was being added (#1093).
|
||
|
||
* Docbook reader: Avoid failure if `tbody` contains no `tr` or `row`
|
||
elements.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Factored out function for table cell creation.
|
||
+ Better treatment of footnotes in tables.
|
||
Notes now appear in the regular sequence, rather than in the
|
||
table cell. (This was a regression in 1.10.)
|
||
|
||
* HTML reader: Parse name/content pairs from meta tags as metadata.
|
||
Closes #1106.
|
||
|
||
* Moved `fixDisplayMath` from Docx writer to `Writer.Shared`.
|
||
|
||
* OpenDocument writer: Fixed `RawInline`, `RawBlock` so they don't escape.
|
||
|
||
* ODT writer: Use mathml for proper rendering of formulas.
|
||
Note: LibreOffice's support for this seems a bit buggy. But
|
||
it should be better than what we had before.
|
||
|
||
* RST writer: Ensure no blank line after def in definition list (#992).
|
||
|
||
* Markdown writer: Don't use tilde code blocks with braced attributes in
|
||
`markdown_github` output. A consequence of this change is that the
|
||
backtick form will be preferred in general if both are enabled. That
|
||
is good, as it is much more widespread than the tilde form. (#1084)
|
||
|
||
* Docx writer: Fixed problem with some modified reference docx files.
|
||
Include `word/_rels/settings.xml.rels` if it exists, as well as other
|
||
`rels` files besides the ones pandoc generates explicitly.
|
||
|
||
* HTML writer:
|
||
|
||
+ With `--toc`, headers no longer link to themselves (#1081).
|
||
+ Omit footnotes from TOC entries. Otherwise we get doubled
|
||
footnotes when headers have notes!
|
||
|
||
* EPUB writer:
|
||
|
||
+ Avoid duplicate notes when headings contain notes.
|
||
This arose because the headings are copied into the metadata
|
||
"title" field, and the note gets rendered twice. We strip the
|
||
note now before putting the heading in "title".
|
||
+ Strip out footnotes from toc entries.
|
||
+ Fixed bug with `--epub-stylesheet`. Now the contents of
|
||
`writerEpubStylesheet` (set by `--epub-stylesheet`)
|
||
should again work, and take precedence over a stylesheet specified
|
||
in the metadata.
|
||
|
||
* `Text.Pandoc.MIME`: Added `wmf`, `emf`.
|
||
|
||
* `Text.Pandoc.Shared`: `fetchItem` now handles image URLs beginning
|
||
with `//`.
|
||
|
||
* `Text.Pandoc.ImageSize`: Parse EXIF format JPEGs. Previously
|
||
we could only get size information for JFIF format, which led
|
||
to squished images in Word documents. Closes #976.
|
||
|
||
* Removed old `MarkdownTest_1.0.3` directory (#1104).
|
||
|
||
pandoc (1.12.2.1)
|
||
|
||
* Markdown reader: Fixed regression in list parser, involving
|
||
continuation lines containing raw HTML (or even verbatim raw HTML).
|
||
|
||
pandoc (1.12.2)
|
||
|
||
* Metadata may now be included in YAML blocks in a markdown document.
|
||
For example,
|
||
|
||
---
|
||
title:
|
||
- type: main
|
||
text: My Book
|
||
- type: subtitle
|
||
text: An investigation of metadata
|
||
creator:
|
||
- role: author
|
||
text: John Smith
|
||
- role: editor
|
||
text: Sarah Jones
|
||
identifier:
|
||
- scheme: DOI
|
||
text: doi:10.234234.234/33
|
||
publisher: My Press
|
||
rights: (c) 2007 John Smith, CC BY-NC
|
||
cover-image: img/mypic.jpg
|
||
...
|
||
|
||
Metadata may still be provided using `--epub-metadata`; it will
|
||
be merged with the metadata in YAML blocks.
|
||
|
||
* EPUB writer:
|
||
|
||
+ `meta` tags are now used instead of `opf` attributes for EPUB3.
|
||
+ Insert "svg" property as needed in opf (EPUB 3).
|
||
+ Simplify `imageTypeOf` using `getMimeType`.
|
||
+ Add properties attribute to `cover-image` item for EPUB 3.
|
||
+ Don't include node for `cover.xhtml` if no cover!
|
||
+ Ensure that same identifier is used throughout (#1044).
|
||
If an identifier is given in metadata, we use that; otherwise
|
||
we generate a random uuid.
|
||
+ Add cover reference to guide element (EPUB 2) (Shaun Attfield).
|
||
Fixes an issue with Calibre putting the cover at the end of the book
|
||
if the spine has `linear="no"`. Apparently this is best practice
|
||
for other converters as well:
|
||
<http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.6>.
|
||
+ Allow `stylesheet` in metadata. The value is a path to the stylesheet.
|
||
+ Allow partial dates: `YYYY`, `YYYY-MM`.
|
||
|
||
* Markdown writer: Fix rendering of tight sublists (#1050).
|
||
Previously a spurious blank line was included after a tight sublist.
|
||
|
||
* ODT writer: Add `draw:name` attribute to `draw:frame` elements (#1069).
|
||
This is reported to be necessary to avoid an error from recent
|
||
versions of Libre Office when files contain more than one image
|
||
Thanks to wmanley for reporting and diagnosing the problem.
|
||
|
||
* ConTeXt writer: Don't hardcode figure/table placement and numbering.
|
||
Instead, let this be set in the template, using `\setupfloat`.
|
||
Thanks to on4aa and Aditya Mahajan for the suggestion (#1067).
|
||
|
||
* Implemented CSL flipflopping spans in DOCX, LaTeX, and HTML writers.
|
||
|
||
* Fixed bug with markdown intraword emphasis. Closes #1066.
|
||
|
||
* Docbook writer: Hierarchicalize block content in metadata.
|
||
Previously headers just disappeared from block-level metadata
|
||
when it was used in templates. Now we apply the 'hierarchicalize'
|
||
transformation. Note that a block headed by a level-2 header will
|
||
turn into a `<sect1>` element.
|
||
|
||
* OpenDocument writer: Skip raw HTML (#1035).
|
||
Previously it was erroneously included as verbatim text.
|
||
|
||
* HTML/EPUB writer, footnotes: Put `<sup>` tag inside `<a>` tags.
|
||
This allows better control of formatting, since the `<a>`
|
||
tags have a distinguishing class (#1049).
|
||
|
||
* Docx writer:
|
||
|
||
+ Use mime type info returned by fetchItem.
|
||
+ Fixed core metadata (#1046).
|
||
Don't create empty date nodes if no date given.
|
||
Don't create multiple `dc:creator` nodes; instead separate by
|
||
semicolons.
|
||
+ Fix URL for core-properties in `_rels/.rels` (#1046).
|
||
|
||
* Plain writer: don't print `<span>` tags.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Fix definition lists with internal links in terms (#1032).
|
||
This fix puts braces around a term that contains an internal
|
||
link, to avoid problems with square brackets.
|
||
+ Properly escape pdftitle, pdfauthor (#1059).
|
||
+ Use booktabs package for tables (thanks to Jose Luis Duran).
|
||
|
||
* Updated beamer template. Now references should work properly
|
||
(in a slide) when `--biblatex` or `--natbib` is used.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Parse contents of curly quotes or matched `"` as quotes.
|
||
+ Support `\textnormal` as span with class `nodecor`.
|
||
This is needed for pandoc-citeproc.
|
||
+ Improved citation parsing. This fixes a run-time error that occured
|
||
with `\citet{}` (empty list of keys). It also ensures that empty keys
|
||
don't get produced.
|
||
|
||
* MediaWiki reader: Add automatic header identifiers.
|
||
|
||
* HTML reader:
|
||
|
||
+ Use pandoc `Div` and `Span` for raw `<div>`, `<span>` when
|
||
`--parse-raw`.
|
||
+ Recognize `svg` tags as block level content (thanks to MinRK).
|
||
+ Parse LaTeX math if appropriate options are set.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Yaml block must start immediately after `---`. If there's a blank
|
||
line after `---`, we interpreted it as a horizontal rule.
|
||
+ Correctly handle empty bullet list items.
|
||
+ Stop parsing "list lines" when we hit a block tag.
|
||
This fixes exponential slowdown in certain input, e.g.
|
||
a series of lists followed by `</div>`.
|
||
|
||
* Slides: Preserve `<div class="references">` in references slide.
|
||
|
||
* `Text.Pandoc.Writer.Shared`:
|
||
|
||
+ Fixed bug in `tagWithAttrs`. A space was omitted before key-value
|
||
attributes, leading to invalid HTML.
|
||
+ `normalizeDate`: Allow dates with year only (thanks to Shaun Attfield).
|
||
+ Fixed bug in `openURL` with `data:` URIs. Previously the base-64
|
||
encoded bytestring was returned. We now decode it so it's a proper
|
||
image!
|
||
|
||
* DocBook reader: Handle numerical attributes starting with decimal.
|
||
Also use `safeRead` instead of `read`.
|
||
|
||
* `Text.Pandoc.Readers.TexMath`: Export `readTeXMath'`, which attends
|
||
to display/inline. Deprecate `readTeXMath`, and use `readTeXMath'`
|
||
in all the writers. Require `texmath >= 0.6.5.2`.
|
||
|
||
* `Text.Pandoc.MIME`:
|
||
|
||
+ Add entry for `jfif`.
|
||
+ In looking up extensions, drop the encoding info.
|
||
E.g. for 'image/jpg;base64' we should lookup 'image/jpg'.
|
||
|
||
* Templates: Changed how array variables are resolved. Previously if
|
||
`foo` is an array (which might be because multiple values were set on
|
||
the command line), `$foo$` would resolve to the concatenation of the
|
||
elements of foo. This is rarely useful behavior. It has been changed
|
||
so that the first value is rendered. Of course, you can still iterate
|
||
over the values using `$for(foo)$`. This has the result that you can
|
||
override earlier settings using `-V` by putting new values later on the
|
||
command line, which is useful for many purposes.
|
||
|
||
* `Text.Pandoc`: Don't default to `pandocExtensions` for all writers.
|
||
|
||
* Allow "epub2" as synonym for "epub", "html4" for "html".
|
||
|
||
* Don't look for slidy files in data files with `--self-contained`.
|
||
|
||
* Allow `https:` command line arguments to be downloaded.
|
||
|
||
* Fixed `make_osx_package.sh` so data files embedded in `pandoc-citeproc`.
|
||
|
||
pandoc (1.12.1)
|
||
|
||
* `Text.Pandoc.Definition`: Changed default JSON serialization format.
|
||
Instead of `{"Str": "foo"}`, for example, we now have `{"t": "Str",
|
||
"c": "foo"}`. This new format is easier to work with outside of Haskell.
|
||
Incidentally, "t" stands for "tag", "c" for "contents".
|
||
|
||
* MediaWiki reader: Trim contents of `<math>` tags, to avoid problems
|
||
when converting to markdown (#1027).
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Ensure that preamble doesn't contribute to the text of
|
||
the document.
|
||
+ Fixed character escaping in \url{}. Previously `\~` wasn't handled
|
||
properly, among others.
|
||
+ Parse `{groups}` as `Span`. This is needed for accurate conversion of
|
||
bibtex titles, since we need to know what was protected from
|
||
titlecase conversions.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Specially escape non-ascii characters in labels.
|
||
Otherwise we can get compile errors and other bugs when
|
||
compiled with pdflatex (#1007). Thanks to begemotv2718 for the fix.
|
||
+ Add link anchors for code blocks with identifiers (#1025).
|
||
|
||
* Throughout the code, use `isURI` instead of `isAbsoluteURI`.
|
||
It allows fragments identifiers.
|
||
|
||
* Slide formats:
|
||
|
||
+ A Div element with class "notes" is treated as speaker
|
||
notes. Currently beamer goes to `\note{}`, revealjs to
|
||
`<aside class="notes">`, and the notes are simply suppressed in
|
||
other formats (#925).
|
||
+ Fixed `. . .` (pause) on HTML slide formats. Closes #1029.
|
||
The old version caused a pause to be inserted before the first
|
||
material on a slide. This has been fixed.
|
||
+ Removed data files for s5, slideous, slidy.
|
||
Users of s5 and slideous will have to download the needed
|
||
files, as has been documented for some time in the README.
|
||
By default, slidy code will be sought on the web, as before.
|
||
|
||
* HTML writer: Insert command to typeset mathjax only in slideous output
|
||
(#966, #1012).
|
||
|
||
* RST writer: Skip spaces after display math. Otherwise we get indentation
|
||
problems, and part of the next paragraph may be rendered as part of the
|
||
math.
|
||
|
||
* OpenDocument writer: Fix formatting of strikeout code (#995),
|
||
thanks to wilx. don't use `font-face-decls` variable.
|
||
|
||
* Fixed test suite so it works with cabal sandboxes.
|
||
|
||
pandoc (1.12.0.2)
|
||
|
||
* Removed `stringable` dependency.
|
||
|
||
pandoc (1.12.0.1)
|
||
|
||
* Allow `--metadata` to be repeated for the same key to form a list.
|
||
This also has the effect that `--bibliography` can be repeated,
|
||
as before.
|
||
|
||
* Handle boolean values in `--metadata`. Note that anything not parseable
|
||
as a YAML boolean or string is treated as a literal string.
|
||
You can get a string value with "yes", or any of the strings interpretable
|
||
as booleans, by quoting it:
|
||
|
||
-M boolvalue=yes -M stringvalue='"yes"'
|
||
|
||
* LaTeX writer: Don't print references if `--natbib` or `--biblatex`
|
||
option used.
|
||
|
||
* DOCX writer: Add `settings.xml` to the zip container. Fixes a bug
|
||
in which docx files could not be read by some versions of Word
|
||
and LibreOffice (#990).
|
||
|
||
* Fixed a regression involving slide shows with bibliographies.
|
||
The Div container around references messed up the procedure for carving
|
||
a document into slides. So we now remove the surrounding Div in
|
||
`prepSlides`.
|
||
|
||
* More informative error message when a filter is not found in path.
|
||
|
||
* Depend on pandoc-types 1.12.1. This provide `ToJSONFilter`
|
||
instances for `Data a => a -> [a]` and `Data a => a -> IO [a]`.
|
||
|
||
* Don't use unicode_collation in building OSX package:
|
||
it adds something like 50MB of dependencies to the package.
|
||
|
||
* Declare alex and happy as build-tools (#986).
|
||
|
||
pandoc (1.12)
|
||
|
||
[new features]
|
||
|
||
* Much more flexible metadata, including arbitrary fields and structured
|
||
values. Metadata can be specified flexibly in pandoc markdown using
|
||
YAML metadata blocks, which may occur anywhere in the document:
|
||
|
||
---
|
||
title: Here is my title.
|
||
abstract: |
|
||
This is the abstract.
|
||
|
||
1. It can contain
|
||
2. block content
|
||
and *inline markup*
|
||
|
||
tags: [cat, dog, animal]
|
||
...
|
||
|
||
Metadata fields automatically populate template variables.
|
||
|
||
* Added `opml` (OPML) as input and output format. The `_note` attribute,
|
||
used in OmniOutliner and supported by multimarkdown, is supported.
|
||
We treat the contents as markdown blocks under a section header.
|
||
|
||
* Added `haddock` (Haddock markup) as input format (David Lazar).
|
||
|
||
* Added `revealjs` output format, for reveal.js HTML 5 slide shows.
|
||
(Thanks to Jamie F. Olson for the initial patch.)
|
||
Nested vertical stacks are used for hierarchical structure.
|
||
Results for more than one level of nesting may be odd.
|
||
|
||
* Custom writers can now be written in lua.
|
||
|
||
pandoc -t data/sample.lua
|
||
|
||
will load the script sample.lua and use it as a custom writer.
|
||
(For a sample, do `pandoc --print-default-data-file sample.lua`.)
|
||
Note that pandoc embeds a lua interpreter, so lua need not be
|
||
installed separately.
|
||
|
||
* New `--filter/-F` option to make it easier to run "filters"
|
||
(Pandoc AST transformations that operate on JSON serializations).
|
||
Filters are always passed the name of the output format, so their
|
||
behavior can be tailored to it. The repository
|
||
<https://github.com/jgm/pandocfilters> contains
|
||
a python module for writing pandoc filters in python, with
|
||
a number of examples.
|
||
|
||
* Added `--metadata/-M` option.
|
||
This is like `--variable/-V`, but actually adds to metadata, not
|
||
just variables.
|
||
|
||
* Added `--print-default-data-file` option, which allows printing
|
||
of any of pandoc's data files. (For example,
|
||
`pandoc --print-default-data-file reference.odt` will print
|
||
`reference.odt`.)
|
||
|
||
* Added syntax for "pauses" in slide shows:
|
||
|
||
This gives
|
||
|
||
. . .
|
||
|
||
me pause.
|
||
|
||
* New markdown extensions:
|
||
|
||
+ `ignore_line_breaks`: causes intra-paragraph line breaks to be ignored,
|
||
rather than being treated as hard line breaks or spaces. This is useful
|
||
for some East Asian languages, where spaces aren't used between words,
|
||
but text is separated into lines for readability.
|
||
+ `yaml_metadata_block`: Parse YAML metadata blocks. (Default.)
|
||
+ `ascii_identifiers`: This will force `auto_identifiers` to use ASCII
|
||
only. (Default for `markdown_github`.) (#807)
|
||
+ `lists_without_preceding_blankline`: Allow lists to start without
|
||
preceding blank space. (Default for `markdown_github`.) (#972)
|
||
|
||
[behavior changes]
|
||
|
||
* `--toc-level` no longer implies `--toc`.
|
||
Reason: EPUB users who don't want a visible TOC may still want
|
||
to set the TOC level for in the book navigation.
|
||
|
||
* `--help` now prints in and out formats in alphabetical order, and
|
||
says something about PDF output (#720).
|
||
|
||
* `--self-contained` now returns less verbose output (telling you
|
||
which URLs it is fetching, but not giving the full header). In
|
||
addition, there are better error messages when fetching a URL fails.
|
||
|
||
* Citation support is no longer baked in to core pandoc. Users who
|
||
need citations will need to install and use a separate filter
|
||
(`--filter pandoc-citeproc`). This filter will take `bibliography`,
|
||
`csl`, and `citation-abbreviations` from the metadata, though it
|
||
may still be specified on the command line as before.
|
||
|
||
* A `Cite` element is now created in parsing markdown whether or not
|
||
there is a matching reference.
|
||
|
||
* The `pandoc-citeproc` script will put the bibliography at the
|
||
end of the document, as before. However, it will be put inside a `Div`
|
||
element with class "references", allowing users some control
|
||
over the styling of references. A final header, if any, will
|
||
be included in the `Div`.
|
||
|
||
* The markdown writer will not print a bibliography if the
|
||
`citations` extension is enabled. (If the citations are formatted
|
||
as markdown citations, it is redundant to have a bibliography,
|
||
since one will be generated automatically.)
|
||
|
||
* Previously we used to store the directory of the first input file,
|
||
even if it was local, and used this as a base directory for finding
|
||
images in ODT, EPUB, Docx, and PDF. This has been confusing to many
|
||
users. So we now look for images relative to the current
|
||
working directory, even if the first file argument is in another
|
||
directory. Note that this change may break some existing workflows.
|
||
If you have been assuming that relative links will be interpreted
|
||
relative to the directory of the first file argument, you'll need
|
||
to make that the current directory before running pandoc. (#942)
|
||
|
||
* Better error reporting in some readers, due to changes in `readWith`:
|
||
the line in which the error occured is printed, with a caret pointing
|
||
to the column.
|
||
|
||
* All slide formats now support incremental slide view for definition lists.
|
||
|
||
* Parse `\(..\)` and `\[..\]` as math in MediaWiki reader.
|
||
Parse `:<math>...</math>` as display math. These notations are used with
|
||
the MathJax MediaWiki extension.
|
||
|
||
* All writers: template variables are set automatically from metadata
|
||
fields. However, variables specified on the command line with
|
||
`--variable` will completely shadow metadata fields.
|
||
|
||
* If `--variable` is used to set many variables with the same name,
|
||
a list is created.
|
||
|
||
* Man writer: The `title`, `section`, `header`, and `footer` can now
|
||
all be set individually in metadata. The `description` variable has been
|
||
removed. Quotes have been added so that spaces are allowed in the
|
||
title. If you have a title that begins
|
||
|
||
COMMAND(1) footer here | header here
|
||
|
||
pandoc will still parse it into a title, section, header, and
|
||
footer. But you can also specify these elements explicitly (#885).
|
||
|
||
* Markdown reader
|
||
|
||
+ Added support for YAML metadata blocks, which can come anywhere
|
||
in the document (not just at the beginning). A document can contain
|
||
multiple YAML metadata blocks.
|
||
+ HTML span and div tags are parsed as pandoc Span and Div elements.
|
||
|
||
* Markdown writer
|
||
|
||
+ Allow simple tables to be printed as grid tables,
|
||
if other table options are disabled. This means you can do
|
||
`pandoc -t markdown-pipe_tables-simple_tables-multiline_tables`
|
||
and all tables will render as grid tables.
|
||
+ Support YAML title block (render fields in alphabetical order
|
||
to make output predictable).
|
||
|
||
[API changes]
|
||
|
||
* `Meta` in `Text.Pandoc.Definition` has been changed to allow
|
||
structured metadata. (Note: existing code that pattern-matches
|
||
on `Meta` will have to be revised.) Metadata can now contain
|
||
indefinitely many fields, with content that can be a string,
|
||
a Boolean, a list of `Inline` elements, a list of `Block`
|
||
elements, or a map or list of these.
|
||
|
||
* A new generic block container (`Div`) has been added to `Block`,
|
||
and a generic inline container (`Span`) has been added to `Inline`.
|
||
These can take attributes. They will render in HTML, Textile,
|
||
MediaWiki, Org, RST and and Markdown (with `markdown_in_html`
|
||
extension) as HTML `<div>` and `<span>` elements; in other formats
|
||
they will simply pass through their contents. But they can be
|
||
targeted by scripts.
|
||
|
||
* `Format` is now a newtype, not an alias for String.
|
||
Equality comparisons are case-insensitive.
|
||
|
||
* Added `Text.Pandoc.Walk`, which exports hand-written tree-walking
|
||
functions that are much faster than the SYB functions from
|
||
`Text.Pandoc.Generic`. These functions are now used where possible
|
||
in pandoc's code. (`Tests.Walk` verifies that `walk` and `query`
|
||
match the generic traversals `bottomUp` and `queryWith`.)
|
||
|
||
* Added `Text.Pandoc.JSON`, which provides `ToJSON` and `FromJSON`
|
||
instances for the basic pandoc types. They use GHC generics and
|
||
should be faster than the old JSON serialization using
|
||
`Data.Aeson.Generic`.
|
||
|
||
* Added `Text.Pandoc.Process`, exporting `pipeProcess`.
|
||
This is a souped-up version of `readProcessWithErrorcode` that
|
||
uses lazy bytestrings instead of strings and allows setting
|
||
environment variables. (Used in `Text.Pandoc.PDF`.)
|
||
|
||
* New module `Text.Pandoc.Readers.OPML`.
|
||
|
||
* New module `Text.Pandoc.Writers.OPML`.
|
||
|
||
* New module `Text.Pandoc.Readers.Haddock` (David Lazar).
|
||
This is based on Haddock's own lexer/parser.
|
||
|
||
* New module `Text.Pandoc.Writers.Custom`.
|
||
|
||
* In `Text.Pandoc.Shared`, `openURL` and `fetchItem` now return an
|
||
Either, for better error handling.
|
||
|
||
* Made `stringify` polymorphic in `Text.Pandoc.Shared`.
|
||
|
||
* Removed `stripTags` from `Text.Pandoc.XML`.
|
||
|
||
* `Text.Pandoc.Templates`:
|
||
|
||
+ Simplified `Template` type to a newtype.
|
||
+ Removed `Empty`.
|
||
+ Changed type of `renderTemplate`: it now takes a JSON context
|
||
and a compiled template.
|
||
+ Export `compileTemplate`.
|
||
+ Export `renderTemplate'` that takes a string instead of a compiled
|
||
template.
|
||
+ Export `varListToJSON`.
|
||
|
||
* `Text.Pandoc.PDF` exports `makePDF` instead of `tex2pdf`.
|
||
The signature of `makePDF` has changed and now contains
|
||
an additional argument for pdf engine options.
|
||
|
||
* `Text.Pandoc`:
|
||
|
||
+ Made `toJsonFilter` an alias for `toJSONFilter` from `Text.Pandoc.JSON`.
|
||
+ Removed `ToJsonFilter` typeclass. `ToJSONFilter` from
|
||
`Text.Pandoc.JSON` should be used instead. (Compiling against
|
||
pandoc-types instead of pandoc will also produce smaller executables.)
|
||
* Removed the deprecated `jsonFilter` function.
|
||
+ Added `readJSON`, `writeJSON` to the API (#817).
|
||
|
||
* `Text.Pandoc.Options`:
|
||
|
||
+ Added `Ext_lists_without_preceding_blankline`,
|
||
`Ext_ascii_identifiers`, `Ext_ignore_line_breaks`,
|
||
`Ext_yaml_metadataBlock` to `Extension`.
|
||
+ Changed `writerSourceDirectory` to `writerSourceURL` and changed the
|
||
type to a `Maybe`. `writerSourceURL` is set to 'Just url' when the
|
||
first command-line argument is an absolute URL. (So, relative links
|
||
will be resolved in relation to the first page.) Otherwise, 'Nothing'.
|
||
+ All bibliography-related fields have been removed from
|
||
`ReaderOptions` and `WriterOptions`: `writerBiblioFiles`,
|
||
`readerReferences`, `readerCitationStyle`.
|
||
+ Removed `writerPdfArgs` from `WriterOptions`. These are now
|
||
passed in as a parameter to `makePDF`.
|
||
|
||
* The `Text.Pandoc.Biblio` module has been removed. Users of the
|
||
pandoc library who want citation support will need to use
|
||
`Text.CSL.Pandoc` from `pandoc-citeproc`.
|
||
|
||
|
||
[bug fixes]
|
||
|
||
* In markdown, don't autolink a bare URI that is followed by `</a>`
|
||
(#937).
|
||
|
||
* `Text.Pandoc.Shared`
|
||
|
||
+ `openURL` now follows redirects (#701), properly handles `data:`
|
||
URIs, and prints diagnostic output to stderr rather than stdout.
|
||
+ `readDefaultDataFile`: normalize the paths. This fixes bugs in
|
||
`--self-contained` on pandoc compiled with `embed_data_files` (#833).
|
||
+ Fixed `readDefaultDataFile` so it works on Windows.
|
||
+ Better error messages for `readDefaultDataFile`. Instead of
|
||
listing the last path tried, which can confuse people who are
|
||
using `--self-contained`, so now we just list the data file name.
|
||
+ URL-escape pipe characters. Even though these are legal, `Network.URI`
|
||
doesn't regard them as legal in URLs. So we escape them first (#535).
|
||
|
||
* Mathjax in HTML slide shows: include explicit "Typeset" call.
|
||
This seems to be needed for some formats (e.g. slideous) and won't
|
||
hurt in others (#966).
|
||
|
||
* `Text.Pandoc.PDF`
|
||
|
||
+ On Windows, create temdir in working directory, since the system
|
||
temp directory path may contain tildes, which can cause
|
||
problems in LaTeX (#777).
|
||
+ Put temporary output directory in `TEXINPUTS` (see #917).
|
||
+ `makePDF` tries to download images that are not found locally,
|
||
if the first argument is a URL (#917).
|
||
+ If compiling with `pdflatex` yields an encoding error, offer
|
||
the suggestion to use `--latex-engine=xelatex`.
|
||
|
||
* Produce automatic header identifiers in parsing textile, RST,
|
||
and LaTeX, unless `auto_identifiers` extension is disabled (#967).
|
||
|
||
* `Text.Pandoc.SelfContained`: Strip off fragment, query of relative URL
|
||
before treating as a filename. This fixes `--self-contained` when used
|
||
with CSS files that include web fonts using the method described here:
|
||
<http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/>
|
||
(#739). Handle `src` in `embed`, `audio`, `source`, `input` tags.
|
||
|
||
* `Text.Pandoc.Parsing`: `uri` parser no longer treats punctuation before
|
||
percent-encoding, or a `+` character, as final punctuation.
|
||
|
||
* `Text.Pandoc.ImageSize`: Handle EPS (#903). This change will make
|
||
EPS images properly sized on conversion to Word.
|
||
|
||
* Slidy: Use slidy.js rather than slidy.js.gz.
|
||
Reason: some browsers have trouble with the gzipped js file,
|
||
at least on the local file system (#795).
|
||
|
||
* Markdown reader
|
||
|
||
+ Properly handle blank line at beginning of input (#882).
|
||
+ Fixed bug in unmatched reference links. The input
|
||
`[*infile*] [*outfile*]` was getting improperly parsed:
|
||
"infile" was emphasized, but "*outfile*" was literal (#883).
|
||
+ Allow internal `+` in citation identifiers (#856).
|
||
+ Allow `.` or `)` after `#` in ATX headers if no `fancy_lists`.
|
||
+ Do not generate blank title, author, or date metadata elements.
|
||
Leave these out entirely if they aren't present.
|
||
+ Allow backtick code blocks not to be preceded by blank line (#975).
|
||
|
||
* Textile reader:
|
||
|
||
+ Correctly handle entities.
|
||
+ Improved handling of `<pre>` blocks (#927). Remove internal HTML tags
|
||
in code blocks, rather than printing them verbatim. Parse attributes
|
||
on `<pre>` tag for code blocks.
|
||
|
||
* HTML reader: Handle non-simple tables (#893). Column widths are read from
|
||
`col` tags if present, otherwise divided equally.
|
||
|
||
* LaTeX reader
|
||
|
||
+ Support alltt environment (#892).
|
||
+ Support `\textasciitilde`, `\textasciicircum` (#810).
|
||
+ Treat `\textsl` as emphasized text reader (#850).
|
||
+ Skip positional options after `\begin{figure}`.
|
||
+ Support `\v{}` for hacek (#926).
|
||
+ Don't add spurious ", " to citation suffixes.
|
||
This is added when needed in pandoc-citeproc.
|
||
+ Allow spaces in alignment spec in tables, e.g. `{ l r c }`.
|
||
+ Improved support for accented characters (thanks to Scott Morrison).
|
||
+ Parse label after section command and set id (#951).
|
||
|
||
* RST reader:
|
||
|
||
+ Don't insert paragraphs where docutils doesn't.
|
||
`rst2html` doesn't add `<p>` tags to list items (even when they are
|
||
separated by blank lines) unless there are multiple paragraphs in the
|
||
list. This commit changes the RST reader to conform more closely to
|
||
what docutils does (#880).
|
||
+ Improved metadata. Treat initial field list as metadata when
|
||
standalone specified. Previously ALL fields "title", "author",
|
||
"date" in field lists were treated as metadata, even if not at
|
||
the beginning. Use `subtitle` metadata field for subtitle.
|
||
+ Fixed 'authors' metadata parsing in reST. Semicolons separate
|
||
different authors.
|
||
|
||
* MediaWiki reader
|
||
|
||
+ Allow space before table rows.
|
||
+ Fixed regression for `<ref>URL</ref>`.
|
||
`<` is no longer allowed in URLs, according to the uri parser
|
||
in `Text.Pandoc.Parsing`. Added a test case.
|
||
+ Correctly handle indented preformatted text without preceding
|
||
or following blank line.
|
||
+ Fixed `|` links inside table cells. Improved attribute parsing.
|
||
+ Skip attributes on table rows. Previously we just crashed if
|
||
rows had attributes, now we ignore them.
|
||
+ Ignore attributes on headers.
|
||
+ Allow `Image:` for images (#971).
|
||
+ Parse an image with caption in a paragraph by itself as a figure.
|
||
|
||
* LaTeX writer
|
||
|
||
+ Don't use ligatures in escaping inline code.
|
||
+ Fixed footnote numbers in LaTeX/PDF tables. This fixes a bug
|
||
wherein notes were numbered incorrectly in tables (#827).
|
||
+ Always create labels for sections. Previously the labels were only
|
||
created when there were links to the section in the document (#871).
|
||
+ Stop escaping `|` in LaTeX math.
|
||
This caused problems with array environments (#891).
|
||
+ Change `\` to `/` in paths. `/` works even on Windows in LaTeX.
|
||
`\` will cause major problems if unescaped.
|
||
+ Write id for code block to label attribute in LaTeX when listings
|
||
is used (thanks to Florian Eitel).
|
||
+ Scale LaTeX tables so they don't exceed columnwidth.
|
||
+ Avoid problem with footnotes in unnumbered headers (#940).
|
||
|
||
* Beamer writer: when creating beamer slides, add `allowframebreaks` option
|
||
to the slide if it is one of the header classes. It is recommended
|
||
that your bibliography slide have this attribute:
|
||
|
||
# References {.allowframebreaks}
|
||
|
||
This causes multiple slides to be created if necessary, depending
|
||
on the length of the bibliography.
|
||
|
||
* ConTeXt writer: Properly handle tables without captions. The old output
|
||
only worked in MkII. This should work in MkIV as well (#837).
|
||
|
||
* MediaWiki writer: Use native mediawiki tables instead of HTML (#720).
|
||
|
||
* HTML writer:
|
||
|
||
+ Fixed `--no-highlight` (Alexander Kondratskiy).
|
||
+ Don't convert to lowercase in email obfuscation (#839).
|
||
+ Ensure proper escaping in `<title>` and `<meta>` fields.
|
||
|
||
* AsciiDoc writer:
|
||
|
||
+ Support `--atx-headers` (Max Rydahl Andersen).
|
||
+ Don't print empty identifier blocks `([[]])` on headers (Max
|
||
Rydahl Andersen).
|
||
|
||
* ODT writer:
|
||
|
||
+ Fixing wrong numbered-list indentation in open document format
|
||
(Alexander Kondratskiy) (#369).
|
||
+ `reference.odt`: Added pandoc as "generator" in `meta.xml`.
|
||
+ Minor changes for ODF 1.2 conformance (#939). We leave the
|
||
nonconforming `contextual-spacing` attribute, which is provided by
|
||
LibreOffice itself and seems well supported.
|
||
|
||
* Docx writer:
|
||
|
||
+ Fixed rendering of display math in lists.
|
||
In 1.11 and 1.11.1, display math in lists rendered as a new list
|
||
item. Now it always appears centered, just as outside of lists,
|
||
and in proper display math style, no matter how far indented the
|
||
containing list item is (#784).
|
||
+ Use `w:br` with `w:type` `textWrapping` for linebreaks.
|
||
Previously we used `w:cr` (#873).
|
||
+ Use Compact style for Plain block elements, to
|
||
differentiate between tight and loose lists (#775).
|
||
+ Ignore most components of `reference.docx`.
|
||
We take the `word/styles.xml`, `docProps/app.xml`,
|
||
`word/theme/theme1.xml`, and `word/fontTable.xml` from
|
||
`reference.docx`, ignoring everything else. This should help
|
||
with the corruption problems caused when different versions of
|
||
Word resave the reference.docx and reorganize things.
|
||
+ Made `--no-highlight` work properly.
|
||
|
||
* EPUB writer
|
||
|
||
+ Don't add `dc:creator` tags if present in EPUB metadata.
|
||
+ Add `id="toc-title"` to `h1` in `nav.xhtml` (#799).
|
||
+ Don't put blank title page in reading sequence.
|
||
Set `linear="no"` if no title block. Addresses #797.
|
||
+ Download webtex images and include as data URLs.
|
||
This allows you to use `--webtex` in creating EPUBs.
|
||
Math with `--webtex` is automatically made self-contained.
|
||
+ In `data/epub.css`, removed highlighting styles (which
|
||
are no longer needed, since styles are added by the HTML
|
||
writer according to `--highlighting-style`). Simplified
|
||
margin fields.
|
||
+ If resource not found, skip it, as in Docx writer (#916).
|
||
|
||
* RTF writer:
|
||
|
||
+ Properly handle characters above the 0000-FFFF range.
|
||
Uses surrogate pairs. Thanks to Hiromi Ishii for the patch.
|
||
+ Fixed regression with RTF table of contents.
|
||
+ Only autolink absolute URIs. This fixes a regression, #830.
|
||
|
||
* Markdown writer:
|
||
|
||
+ Only autolink absolute URIs. This fixes a regression, #830.
|
||
+ Don't wrap attributes in fenced code blocks.
|
||
+ Write full metadata in MMD style title blocks.
|
||
+ Put multiple authors on separate lines in pandoc titleblock.
|
||
Also, don't wrap long author entries, as new lines get treated
|
||
as new authors.
|
||
|
||
* `Text.Pandoc.Templates`:
|
||
|
||
+ Fixed bug retrieving default template for markdown variants.
|
||
+ Templates can now contain "record lookups" in variables;
|
||
for example, `author.institution` will retrieve the `institution`
|
||
field of the `author` variable.
|
||
+ More consistent behavior of `$for$`. When `foo` is not a list,
|
||
`$for(foo)$...$endfor$` should behave like $if(foo)$...$endif$.
|
||
So if `foo` resolves to "", no output should be produced.
|
||
See pandoc-templates#39.
|
||
|
||
* Citation processing improvements (now part of pandoc-citeproc):
|
||
|
||
+ Fixed `endWithPunct` The new version correctly sees a sentence
|
||
ending in '.)' as ending with punctuation. This fixes a bug which
|
||
led such sentences to receive an extra period at the end: '.).'.
|
||
Thanks to Steve Petersen for reporting.
|
||
+ Don't interfere with Notes that aren't citation notes.
|
||
This fixes a bug in which notes not generated from citations were
|
||
being altered (e.g. first letter capitalized) (#898).
|
||
+ Only capitalize footnote citations when they have a prefix.
|
||
+ Changes in suffix parsing. A suffix beginning with a digit gets 'p'
|
||
inserted before it before passing to citeproc-hs, so that bare numbers
|
||
are treated as page numbers by default. A suffix not beginning with
|
||
punctuation has a space added at the beginning (rather than a comma and
|
||
space, as was done before for not-author-in-text citations).
|
||
The result is that `\citep[23]{item1}` in LaTeX will be interpreted
|
||
properly, with '23' treated as a locator of type 'page'.
|
||
+ Many improvements to citation rendering, due to fixes in citeproc-hs
|
||
(thanks to Andrea Rossato).
|
||
+ Warnings are issued for undefined citations, which are rendered
|
||
as `???`.
|
||
+ Fixed hanging behavior when locale files cannot be found.
|
||
|
||
[template changes]
|
||
|
||
* DocBook: Use DocBook 4.5 doctype.
|
||
|
||
* Org: '#+TITLE:' is inserted before the title.
|
||
Previously the writer did this.
|
||
|
||
* LaTeX: Changes to make mathfont work with xelatex.
|
||
We need the mathspec library, not just fontspec, for this.
|
||
We also need to set options for setmathfont (#734).
|
||
|
||
* LaTeX: Use `tex-ansi` mapping for `monofont`.
|
||
This ensures that straight quotes appear as straight, rather than
|
||
being treated as curly. See #889.
|
||
|
||
* Made `\includegraphics` more flexible in LaTeX template.
|
||
Now it can be used with options, if needed. Thanks to Bernhard Weichel.
|
||
|
||
* LaTeX/Beamer: Added `classoption` variable.
|
||
This is intended for class options like `oneside`; it may
|
||
be repeated with different options. (Thanks to Oliver Matthews.)
|
||
|
||
* Beamer: Added `fonttheme` variable. (Thanks to Luis Osa.)
|
||
|
||
* LaTeX: Added `biblio-style` variable (#920).
|
||
|
||
* DZSlides: title attribute on title section.
|
||
|
||
* HTML5: add meta tag to allow scaling by user (Erik Evenson)
|
||
|
||
[under-the-hood improvements]
|
||
|
||
* Markdown reader:Improved strong/emph parsing, using the strategy of
|
||
<https://github.com/jgm/Markdown>. The new parsing algorithm requires
|
||
no backtracking, and no keeping track of nesting levels. It will give
|
||
different results in some edge cases, but these should not affect normal
|
||
uses.
|
||
|
||
* Added `Text.Pandoc.Compat.Monoid`.
|
||
This allows pandoc to compile with `base` < 4.5, where `Data.Monoid`
|
||
doesn't export `<>`. Thanks to Dirk Ullirch for the patch.
|
||
|
||
* Added `Text.Pandoc.Compat.TagSoupEntity`.
|
||
This allows pandoc to compile with `tagsoup` 0.13.x.
|
||
Thanks to Dirk Ullrich for the patch.
|
||
|
||
* Most of `Text.Pandoc.Readers.TeXMath` has been moved to the
|
||
`texmath` module (0.6.4). (This allows `pandoc-citeproc` to
|
||
handle simple math in bibliography fields.)
|
||
|
||
* Added `Text.Pandoc.Writers.Shared` for shared functions used
|
||
only in writers. `metaToJSON` is used in writers to create a
|
||
JSON object for use in the templates from the pandoc metadata
|
||
and variables. `getField`, `setField`, and `defField` are
|
||
for working with JSON template contexts.
|
||
|
||
* Added `Text.Pandoc.Asciify` utility module.
|
||
This exports functions to create ASCII-only versions of identifiers.
|
||
|
||
* `Text.Pandoc.Parsing`
|
||
|
||
+ Generalized state type on `readWith` (API change).
|
||
+ Specialize readWith to `String` input. (API change).
|
||
+ In `ParserState`, replace `stateTitle`, `stateAuthors`, `stateDate`
|
||
with `stateMeta` and `stateMeta'`.
|
||
|
||
* `Text.Pandoc.UTF8`: use strict bytestrings in reading. The use of lazy
|
||
bytestrings seemed to cause problems using pandoc on 64-bit Windows
|
||
7/8 (#874).
|
||
|
||
* Factored out `registerHeader` from markdown reader, added to
|
||
`Text.Pandoc.Parsing`.
|
||
|
||
* Removed `blaze_html_0_5` flag, require `blaze-html` >= 0.5.
|
||
Reason: < 0.5 does not provide a monoid instance for Attribute,
|
||
which is now needed by the HTML writer (#803).
|
||
|
||
* Added `http-conduit` flag, which allows fetching https resources.
|
||
It also brings in a large number of dependencies (`http-conduit`
|
||
and its dependencies), which is why for now it is an optional flag
|
||
(#820).
|
||
|
||
* Added CONTRIBUTING.md.
|
||
|
||
* Improved INSTALL instructions.
|
||
|
||
* `make-windows-installer.bat`: Removed explicit paths for executables.
|
||
|
||
* `aeson` is now used instead of `json` for JSON.
|
||
|
||
* Set default stack size to 16M. This is needed for some large
|
||
conversions, esp. if pandoc is compiled with 64-bit ghc.
|
||
|
||
* Various small documentation improvements.
|
||
Thanks to achalddave and drothlis for patches.
|
||
|
||
* Removed comment that chokes recent versions of CPP (#933).
|
||
|
||
* Removed support for GHC version < 7.2, since pandoc-types now
|
||
requires at least GHC 7.2 for GHC generics.
|
||
|
||
|
||
pandoc (1.11.1)
|
||
|
||
* Markdown reader:
|
||
|
||
+ Fixed regression in which parentheses were lost in link URLs.
|
||
Added tests. Closes #786.
|
||
+ Better handling of unmatched double quotes in `--smart` mode.
|
||
These occur frequently in fiction, since it is customary not to
|
||
close quotes in dialogue if the speaker does not change between
|
||
paragraphs. The unmatched quotes now get turned into literal
|
||
left double quotes. (No `Quoted` inline is generated, however.)
|
||
Closes #99 (again).
|
||
|
||
* HTML writer: Fixed numbering mismatch between TOC and sections.
|
||
`--number-offset` now affects TOC numbering as well
|
||
as section numbering, as it should have all along. Closes #789.
|
||
|
||
* Markdown writer: Reverted 1.11 change that caused citations to be rendered
|
||
as markdown citations, even if `--bibliography` was specified, unless
|
||
`citation` extension is disabled. Now, formatted citations are always
|
||
printed if `--bibliography` was specified. If you want to reformat
|
||
markdown keeping pandoc markdown citations intact, don't use
|
||
`--bibliography`. Note that citations parsed from LaTeX documents will
|
||
be rendered as pandoc markdown citations when `--bibliography` is not
|
||
specified.
|
||
|
||
* ODT writer: Fixed regression leading to corrupt ODTs.
|
||
This was due to a change in the `Show` instance for
|
||
`Text.Pandoc.Pretty.Doc`. Closes #780.
|
||
|
||
* Fixed spacing bugs involving code block attributes in
|
||
RST reader and Markdown writer. Closes #763.
|
||
|
||
* Windows package: Various improvements due to Fyodor Sheremetyev.
|
||
|
||
+ Automatically set installation path (Program Files or Local App Data).
|
||
+ Set system PATH environment variable when installing for all users.
|
||
+ Pandoc can installed for all users using the following command.
|
||
`msiexec /i pandoc-1.11.msi ALLUSERS=1`.
|
||
|
||
* Bumped QuickCheck version bound.
|
||
|
||
pandoc (1.11)
|
||
|
||
* Added `--number-offset` option. (See README for description.)
|
||
|
||
* Added `--default-image-extension` option. (See README for description.)
|
||
|
||
* `--number-sections` behavior change: headers with class `unnumbered`
|
||
will not be numbered.
|
||
|
||
* `--version` now reports the default data directory.
|
||
|
||
* `Text.Pandoc.Parsing` is no longer exposed. (API change.)
|
||
|
||
* `Text.Pandoc.Highlighting` is no longer exposed. (API change.)
|
||
|
||
* `Text.Pandoc.Shared`: Changed type of `Element`. `Sec` now includes
|
||
a field for `Attr` rather than just `String`. (API change.)
|
||
|
||
* Added `markdown_github` as input format. This was an accidental
|
||
omission in 1.10.
|
||
|
||
* Added `readerDefaultImageExtension` field to `ReaderOptions`. (API
|
||
change.)
|
||
|
||
* Added `writerNumberOffset` field in `WriterOptions`. (API change.)
|
||
|
||
* Beamer template:
|
||
|
||
+ Fixed captions with longtable. Thanks to Joost Kremers.
|
||
+ Provide `\Oldincludegraphics` as in LaTeX template (Benjamin Bannier).
|
||
|
||
* LaTeX template:
|
||
|
||
+ Load microtype after fonts. Microtype needs to know
|
||
what fonts are being used. Thanks to dfc for the patch.
|
||
+ Set `secnumdepth` to 5 if `--number-sections` specified.
|
||
This yields behavior equivalent to the other writers, numbering
|
||
level 4 and 5 headers too. Closes #753.
|
||
|
||
* HTML reader:
|
||
|
||
+ Handle `<colgroup>` tag.
|
||
+ Preserve all header attributes.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Parse `\hrule` as `HorizontalRule`. Closes #746.
|
||
+ Parse starred variants of `\section` etc. as headers with
|
||
attribute `unnumbered`.
|
||
+ Read optional attributes in `lstlisting` and `Verbatim` environments.
|
||
We convert these to pandoc standard names, e.g. `numberLines`
|
||
for `numbers=left`, `startFrom=100` from `firstnumber=100`.
|
||
+ Handle language attribute for lstlistings.
|
||
+ Better support for Verbatim and minted environments. Closes #763.
|
||
|
||
* Markdown reader:
|
||
|
||
+ `-` in an attribute context = `.unnumbered`. The point of this
|
||
is to provide a way to specify unnumbered headers in non-English
|
||
documents.
|
||
+ Fixed bug parsing key/value attributes. Parsing failed if you
|
||
had an unquoted attribute immediately before the final '}'.
|
||
+ Make backslash escape work in attributes.
|
||
+ Fix title block parsing. Now if `mmd_title_blocks` is specified,
|
||
pandoc will parse a MMD title block if it sees one, even if
|
||
`pandoc_title_blocks` is enabled.
|
||
+ Refactoring: `litChar` now includes entities, so we don't need
|
||
to use `fromEntities` e.g. on titles.
|
||
+ Allow spaces around borders in pipe tables. Closes #772.
|
||
+ Allow all punctuation in angle-bracket autolinks. Previously
|
||
things like `----` were disallowed, because the uri parser
|
||
treated them as trailing punctuation. Closes #768.
|
||
+ Make `implicit_header_references` work properly when
|
||
headers are given explicit identifiers.
|
||
+ Check for tables before line blocks. Otherwise some pipe
|
||
tables get treated as line blocks.
|
||
+ Allow `&` in emails (for entities).
|
||
+ Properly handle entities in titles and links. A markdown link
|
||
`<http://göogle.com>` should be a link to `http://göogle.com`.
|
||
Closes #723.
|
||
|
||
* Textile reader:
|
||
|
||
+ Handle attributes on headers.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Add `fig:` as title for images with captions.
|
||
This is needed for them to be rendered as figures. Closes #766.
|
||
+ Never emit an empty paragraph. See #761.
|
||
+ Handle `\caption` for images in figures. Closes #766.
|
||
+ Parse `\section*`, etc. as unnumbered sections.
|
||
|
||
* HTML writer:
|
||
|
||
+ Support header attributes. The attributes go on
|
||
the enclosing `section` or `div` tag if `--section-divs` is specified.
|
||
+ Fixed a regression (only now noticed) in html+lhs output.
|
||
Previously the bird tracks were being omitted.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Omit lists with no items to avoid LaTeX errors.
|
||
+ Support line numbering with `--listings`.
|
||
If `numberLines` class is present, we add `numbers=left`;
|
||
if `startFrom` is present, we add `firstnumber=`. (#763)
|
||
|
||
* ConTeXt writer:
|
||
|
||
+ Removed `\placecontent`. This produced a duplicate toc,
|
||
in conjunction with `\placelist`.
|
||
+ Use `\title`, `\subject` etc. for headers with
|
||
`unnumbered` class.
|
||
|
||
* Textile writer:
|
||
|
||
+ Support header attributes.
|
||
|
||
* Markdown writer:
|
||
|
||
+ Use grid tables when needed, and if enabled. Closes #740.
|
||
+ Render citations as pandoc-markdown citations.
|
||
Previously citations were rendered as citeproc-formatted citations
|
||
by default. Now we render them as pandoc citations, e.g. `[@item1]`,
|
||
unless the `citations` extension is disabled.
|
||
If you still want formatted citations in your markdown output,
|
||
use `pandoc -t markdown-citations`.
|
||
|
||
* RST writer:
|
||
|
||
+ Support `:number-lines:` in code blocks.
|
||
|
||
* Docx writer:
|
||
|
||
+ Better treatment of display math. Display math inside a
|
||
paragraph is now put in a separate paragraph, so it will render
|
||
properly (centered and without extra blank lines around it).
|
||
Partially addresses #742.
|
||
+ Content types and document rels xml files are now created from
|
||
scratch, rather than being taken over from `reference.docx`.
|
||
This fixes problems that arise when you edit the `reference.docx`
|
||
with Word.
|
||
+ We also now encode mime types for each individual image rather
|
||
than using defaults. This should allow us to handle a wider
|
||
range of image types (including PDF). Closes #414.
|
||
+ Changed style names in `reference docx`.
|
||
`FootnoteReference` -> `FootnoteRef`, `Hyperlink` -> `Link`.
|
||
The old names got changed by Word when the `reference.docx` was
|
||
edited. Closes #414.
|
||
|
||
* EPUB writer:
|
||
|
||
+ Fix section numbering. Previously the numbering restarted from 1
|
||
in each chapter (with `--number-sections`), though the numbers in
|
||
the table of contents were correct.
|
||
+ Headers with "unnumbered" attribute are not numbered. (Nor do they
|
||
cause an increment in running numbering.) Section numbers now work
|
||
properly, even when there is material before the first numbered section.
|
||
+ Include HTML TOC, even in epub2. The TOC is included in `<spine>`,
|
||
but `linear` is set to `no` unless the `--toc` option is specified.
|
||
Include `<guide>` element in OPF. This should allow the TOC to
|
||
be useable in Kindles when converted with kindlegen. Closes #773.
|
||
|
||
* `Text.Pandoc.Parsing`: Optimized `oneOfStringsCI`.
|
||
This dramatically reduces the speed penalty that comes from enabling the
|
||
`autolink_bare_uris` extension. The penalty is still substantial (in one
|
||
test, from 0.33s to 0.44s), but nowhere near what it used to be.
|
||
The RST reader is also much faster now, as it autodetects URIs.
|
||
|
||
* `Text.Pandoc.Shared`: `hierarchicalize` will not number section
|
||
with class "unnumbered". Unnumbered sections get `[]` for their
|
||
section number.
|
||
|
||
* `Text.Pandoc.Pretty`:
|
||
|
||
+ Fixed `chomp` so it works inside `Prefixed` elements.
|
||
+ Changed `Show` instance so it is better for debugging.
|
||
|
||
* `Text.Pandoc.ImageSize`: Added `Pdf` to `ImageType`.
|
||
|
||
* `Text.Pandoc.UTF8`: Strip off BOM if present. Closes #743.
|
||
|
||
* Windows installer improvements:
|
||
|
||
+ The installer is now signed with a certificate (thanks to
|
||
Fyodor Sheremetyev).
|
||
+ WiX is used instead of InnoSetup. The installer is now a
|
||
standard msi file.
|
||
+ The version number is now auto-detected, and need not be
|
||
updated separately.
|
||
|
||
* OSX installer improvements:
|
||
|
||
+ The package and pandoc executable are now signed with a
|
||
certificate (thanks to Fyodor Sheremetyev).
|
||
+ RTF version of license is used.
|
||
+ Use full path for sysctl in `InstallationCheck` script (jonahbull).
|
||
Closes #580.
|
||
|
||
* Converted COPYING to markdown.
|
||
|
||
* pandoc.cabal: Require latest versions of highlighting-kate,
|
||
texmath, citeproc-hs, zip-archive.
|
||
|
||
pandoc (1.10.1)
|
||
|
||
* Markdown reader: various optimizations, leading to a
|
||
significant performance boost.
|
||
|
||
* RST reader: Allow anonymous form of inline links:
|
||
`` `hello <url>`__ `` Closes #724.
|
||
|
||
* Mediawiki reader: Don't require newlines after tables.
|
||
Thanks to jrunningen for the patch. Closes #733.
|
||
|
||
* Fixed LaTeX macro parsing. Now LaTeX macro definitions are preserved
|
||
when output is LaTeX, and applied when it is another format.
|
||
Partially addresses #730.
|
||
|
||
* Markdown and RST readers: Added parser to `block` that skips blank
|
||
lines. This fixes a subtle regression involving grid tables with
|
||
empty cells. Also added test for grid table with empty cells.
|
||
Closes #732.
|
||
|
||
* RST writer: Use `.. code:: language` for code blocks with language.
|
||
Closes #721.
|
||
|
||
* DocBook writer: Fixed output for hard line breaks, adding a newline
|
||
between `<literallayout>` tags.
|
||
|
||
* Markdown writer: Use an autolink when link text matches url.
|
||
Previously we also checked for a null title, but this
|
||
test fails for links produced by citeproc-hs in bibliographies.
|
||
So, if the link has a title, it will be lost on conversion
|
||
to an autolink, but that seems okay.
|
||
|
||
* Markdown writer: Set title, author, date variables as before.
|
||
These are no longer used in the default template, since we use
|
||
titleblock, but we set them anyway for those who use custom templates.
|
||
|
||
* LaTeX writer: Avoid extra space at start/end of table cell.
|
||
Thanks to Nick Bart for the suggestion of using @{}.
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ More efficient version of `anyLine`.
|
||
+ Type of `macro` has changed; the parser now returns `Blocks`
|
||
instead of `Block`.
|
||
|
||
* Relaxed old-time version bound, allowing 1.0.*.
|
||
|
||
* Removed obsolete `hsmarkdown` script. Those who need `hsmarkdown`
|
||
should create a symlink as described in the README.
|
||
|
||
pandoc (1.10.0.5)
|
||
|
||
* Markdown reader: Try `lhsCodeBlock` before `rawTeXBlock`. Otherwise
|
||
`\begin{code}...\end{code}` isn't handled properly in markdown+lhs.
|
||
Thanks to Daniel Miot for noticing the bug and suggesting the fix.
|
||
|
||
* Markdown reader: Fixed bug with headerless grid tables.
|
||
The 1.10 code assumed that each table header cell contains exactly one
|
||
block. That failed for headerless tables (0) and also for tables with
|
||
multiple blocks in a header cell. The code is fixed and tests provided.
|
||
Thanks to Andrew Lee for pointing out the bug.
|
||
|
||
* Markdown reader: Fixed regressions in fenced code blocks. Closes #722.
|
||
|
||
+ Tilde code fences can again take a bare language string
|
||
(`~~~ haskell`), not just curly-bracketed attributes
|
||
(`~~~ {.haskell}`).
|
||
+ Backtick code blocks can take the curly-bracketed attributes.
|
||
+ Backtick code blocks don't *require* a language.
|
||
+ Consolidated code for the two kinds of fenced code blocks.
|
||
|
||
* LaTeX template: Use `\urlstyle{same}` to avoid monospace URLs.
|
||
|
||
* Markdown writer: Use proportional font for email autolinks with
|
||
obfuscation. Closes #714.
|
||
|
||
* Corrected name of `blank_before_blockquote` in README. Closes #718.
|
||
|
||
* `Text.Pandoc.Shared`: Fixed bug in `uri` parser.
|
||
The bug prevented an autolink at the end of a string (e.g.
|
||
at the end of a line block line) from counting as a link. Closes #711.
|
||
|
||
* Use the `hsb2hs` preprocessor instead of TH for embed_data_files.
|
||
This should work on Windows, unlike the TH solution with
|
||
file-embed.
|
||
|
||
* Eliminated use of TH in test suite.
|
||
|
||
* Added `Text.Pandoc.Data` (non-exported) to hold the association
|
||
list of embedded data files, if the `embed_data_files` flag is selected.
|
||
This isolates the code that needs special treatment with file-embed or
|
||
`hsb2hs`.
|
||
|
||
* Changes to `make-windows-installer.bat`.
|
||
|
||
+ Exit batch file if any of the cabal-dev installs fail.
|
||
+ There's no longer any need to reinstall `highlighting-kate`.
|
||
+ Don't start with a `cabal update`; leave that to the user.
|
||
+ Force reinstall of pandoc.
|
||
|
||
* Fixed EPUB writer so it builds with blaze-html 0.4.x. Thanks to
|
||
Jens Petersen.
|
||
|
||
pandoc (1.10.0.4)
|
||
|
||
* Fixed bug with escaped % in LaTeX reader. Closes #710.
|
||
|
||
pandoc (1.10.0.3)
|
||
|
||
* Added further missing fb2 tests to cabal file.
|
||
|
||
pandoc (1.10.0.2)
|
||
|
||
* Added fb2 tests to cabal file's extra-source-files.
|
||
|
||
pandoc (1.10.0.1)
|
||
|
||
* Bump version bounds on test-framework packages.
|
||
|
||
pandoc (1.10)
|
||
|
||
[new features]
|
||
|
||
* New input formats: `mediawiki` (MediaWiki markup).
|
||
|
||
* New output formats: `epub3` (EPUB v3 with MathML),
|
||
`fb2` (FictionBook2 ebooks).
|
||
|
||
* New `--toc-depth` option, specifying how many levels of
|
||
headers to include in a table of contents.
|
||
|
||
* New `--epub-chapter-level` option, specifying the header
|
||
level at which to divide EPUBs into separate files.
|
||
Note that this normally affects only performance, not the
|
||
visual presentation of the EPUB in a reader.
|
||
|
||
* Removed the `--strict` option. Instead of using `--strict`,
|
||
one can now use the format name `markdown_strict` for either input
|
||
or output. This gives more fine-grained control that `--strict`
|
||
did, allowing one to convert from pandoc's markdown to strict
|
||
markdown or vice versa.
|
||
|
||
* It is now possible to enable or disable specific syntax
|
||
extensions by appending them (with `+` or `-`) to the writer
|
||
or reader name. For example,
|
||
|
||
pandoc -f markdown-footnotes+hard_line_breaks
|
||
|
||
disables footnotes and enables treating newlines as hard
|
||
line breaks. The literate Haskell extensions are now implemented
|
||
this way as well, using either `+lhs` or `+literate_haskell`.
|
||
For a list of extension names, see the README under
|
||
"Pandoc's Markdown."
|
||
|
||
* The following aliases have been introduced for specific
|
||
combinations of markdown extensions: `markdown_phpextra`,
|
||
`markdown_github`, `markdown_mmd`, `markdown_strict`. These aliases
|
||
work just like regular reader and writer names, and can be modified
|
||
with extension modifiers as described above. (Note that conversion
|
||
from one markdown dialect to another does not work perfectly,
|
||
because there are differences in markdown parsers besides
|
||
just the extensions, and because pandoc's internal document model is
|
||
not rich enough to capture all of the extensions.)
|
||
|
||
* New `--html-q-tags` option. The previous default was to use `<q>`
|
||
tags for smart quotes in HTML5. But `<q>` tags are also valid HTML4.
|
||
Moreover, they are not a robust way of typesetting quotes, since
|
||
some user agents don't support them, and some CSS resets (e.g.
|
||
bootstrap) prevent pandoc's quotes CSS from working properly.
|
||
We now just insert literal quote characters by default in both
|
||
`html` and `html5` output, but this option is provided for
|
||
those who still want `<q>` tags.
|
||
|
||
* The markdown reader now prints warnings (to stderr) about
|
||
duplicate link and note references. Closes #375.
|
||
|
||
* Markdown syntax extensions:
|
||
|
||
+ Added pipe tables. Thanks to François Gannaz for the initial patch.
|
||
These conform to PHP Markdown Extra's pipe table syntax. A subset
|
||
of org-mode table syntax is also supported, which means that you can
|
||
use org-mode's nice table editor to create tables.
|
||
|
||
+ Added support for RST-style line blocks. These are
|
||
useful for verse and addresses.
|
||
|
||
+ Attributes can now be specified for headers, using the same
|
||
syntax as in code blocks. (However, currently only the
|
||
identifier has any effect in most writers.) For example,
|
||
|
||
# My header {#foo}
|
||
|
||
See [the header above](#foo).
|
||
|
||
+ Pandoc will now act as if link references have been defined
|
||
for all headers without explicit identifiers.
|
||
So, you can do this:
|
||
|
||
# My header
|
||
|
||
Link to [My header].
|
||
Another link to [it][My header].
|
||
|
||
Closes #691.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Command macros now work everywhere, including non-math.
|
||
Environment macros still not supported.
|
||
+ `\input` now works, as well as `\include`. TEXINPUTS is used.
|
||
Pandoc looks recursively into included files for more included files.
|
||
|
||
[behavior changes]
|
||
|
||
* The Markdown reader no longer puts the text of autolinks in a
|
||
`Code` inline. This means that autolinks will no longer appear
|
||
in a monospace font.
|
||
|
||
* The character `/` can now appear in markdown citation keys.
|
||
|
||
* HTML blocks in strict_markdown are no longer required to begin
|
||
at the left margin. Technically this is required, according to
|
||
the markdown syntax document, but `Markdown.pl` and other markdown
|
||
processors are more liberal.
|
||
|
||
* The `-V` option has been changed so that if there are duplicate
|
||
variables, those specified later on the command line take precedence.
|
||
|
||
* Tight lists now work in LaTeX and ConTeXt output.
|
||
|
||
* The LaTeX writer no longer relien on the `enumerate` package.
|
||
Instead, it uses standard LaTeX commands to change the list numbering
|
||
style.
|
||
|
||
* The LaTeX writer now uses `longtable` instead of `ctable`. This allows
|
||
tables to be split over page boundaries.
|
||
|
||
* The RST writer now uses a line block to render paragraphs containing
|
||
linebreaks (which previously weren't supported at all).
|
||
|
||
* The markdown writer now applies the `--id-prefix` to footnote IDs.
|
||
Closes #614.
|
||
|
||
* The plain writer no longer uses backslash-escaped line breaks
|
||
(which are not very "plain").
|
||
|
||
* `Text.Pandoc.UTF8`: Better error message for invalid UTF8.
|
||
Read bytestring and use `Text`'s decodeUtf8 instead of using
|
||
`System.IO.hGetContents`. This way you get a message saying
|
||
"invalid UTF-8 stream" instead of "invalid byte sequence."
|
||
You are also told which byte caused the problem.
|
||
|
||
* Docx, ODT, and EPUB writers now download images specified by a URL
|
||
instead of skipping them or raising an error.
|
||
|
||
* EPUB writer:
|
||
|
||
+ The default CSS now left-aligns headers by default, instead of
|
||
centering. This is more consistent with the rest of the writers.
|
||
+ A proper multi-level table of contents is now used in `toc.ncx`.
|
||
There is no longer a subsidiary table of contents at the beginning
|
||
of each chapter.
|
||
+ Code highlighting now works by default.
|
||
+ Section divs are used by default for better semantic markup.
|
||
+ The title is used instead of "Title Page" in the table of contents.
|
||
Otherwise we have a hard-coded English string, which looks
|
||
strange in ebooks written in other languages. Closes #572.
|
||
|
||
* HTML writer:
|
||
|
||
+ Put mathjax in span with class "math". Closes #562.
|
||
+ Put citations in a span with class "citation." In HTML5, also include
|
||
a `data-cite` attribute with a space-separated list of citation
|
||
keys.
|
||
|
||
* `Text.Pandoc.UTF8`: use universalNewlineMode in reading.
|
||
This treats both `\r\n` and `\n` as `\n` on input, no matter
|
||
what platform we're running on.
|
||
|
||
* Citation processing is now done in the Markdown and LaTeX
|
||
readers, not in `pandoc.hs`. This makes it easier for library users
|
||
to use citations.
|
||
|
||
[template changes]
|
||
|
||
* HTML: Added css to template to preserve spaces in `<code>` tags.
|
||
Thanks to Dirk Laurie.
|
||
|
||
* Beamer: Remove English-centric strings in section pages.
|
||
Section pages used to have "Section" and a number as well as the
|
||
section title. Now they just have the title. Similarly for part
|
||
and subsection. Closes #566.
|
||
|
||
* LaTeX, ConTeXt: Added papersize variable.
|
||
|
||
* LaTeX, Beamer templates: Use longtable instead of ctable.
|
||
|
||
* LaTeX, Beamer templates: Don't require 'float' package for tables.
|
||
We don't actually seem to use the '[H]' option.
|
||
|
||
* LaTeX: Use `upquote` package if it is available. This fixes
|
||
straight quotes in verbatim environments.
|
||
|
||
* Markdown, plain: Fixed titleblock so it is just a single string.
|
||
Previously separate title, author, and date variables were used,
|
||
but this didn't allow different kinds of title blocks.
|
||
|
||
* EPUB:
|
||
|
||
+ Rationalized templates. Previously there were three different
|
||
templates involved in epub production. There is now just one
|
||
template, `default.epub` or `default.epub3`. It can now be
|
||
overridden using `--template`, just like other templates.
|
||
The titlepage is now folded into the default template.
|
||
A `titlepage` variable selects it.
|
||
+ UTF-8, lang tag, meta tags, title element.
|
||
|
||
* Added scale-to-width feature to beamer template
|
||
|
||
[API changes]
|
||
|
||
* `Text.Pandoc.Definition`: Added `Attr` field to `Header`.
|
||
Previously header identifers were autogenerated by the writers.
|
||
Now they are added in the readers (either automatically or explicitly).
|
||
|
||
* `Text.Pandoc.Builder`:
|
||
|
||
+ `Inlines` and `Blocks` are now synonyms for `Many Inline` and
|
||
`Many Block`. `Many` is a newtype wrapper around `Seq`, with
|
||
custom Monoid instances for `Many Inline` and `Many Block. This
|
||
allows `Many` to be made an instance of `Foldable` and `Traversable`.
|
||
+ The old `Listable` class has been removed.
|
||
+ The module now exports `isNull`, `toList`, `fromList`.
|
||
+ The old `Read` and `Show` instances have been removed; derived
|
||
instances are now used.
|
||
+ Added `headerWith`.
|
||
|
||
* The readers now take a `ReaderOptions` rather than a `ParserState`
|
||
as a parameter. Indeed, not all parsers use the `ParserState` type;
|
||
some have a custom state. The motivation for this change was to separate
|
||
user-specifiable options from the accounting functions of parser state.
|
||
|
||
* New module `Text.Pandoc.Options`. This includes the `WriterOptions`
|
||
formerly in `Text.Pandoc.Shared`, and its associated
|
||
data types. It also includes a new type `ReaderOptions`, which
|
||
contains many options formerly in `ParserState`, and its associated
|
||
data types:
|
||
|
||
+ `ParserState.stateParseRaw` -> `ReaderOptions.readerParseRaw`.
|
||
+ `ParserState.stateColumns` -> `ReaderOptions.readerColumns`.
|
||
+ `ParserState.stateTabStop` -> `ReaderOptions.readerTabStop`.
|
||
+ `ParserState.stateOldDashes` -> `ReaderOptions.readerOldDashes`.
|
||
+ `ParserState.stateLiterateHaskell` -> `ReaderOptions.readerLiterateHaskell`.
|
||
+ `ParserState.stateCitations` -> `ReaderOptions.readerReferences`.
|
||
+ `ParserState.stateApplyMacros` -> `ReaderOptions.readerApplyMacros`.
|
||
+ `ParserState.stateIndentedCodeClasses` ->
|
||
`ReaderOptions.readerIndentedCodeClasses`.
|
||
+ Added `ReaderOptions.readerCitationStyle`.
|
||
|
||
* `WriterOptions` now includes `writerEpubVersion`, `writerEpubChapterLevel`,
|
||
`writerEpubStylesheet`, `writerEpubFonts`, `writerReferenceODT`,
|
||
`writerReferenceDocx`, and `writerTOCDepth`. `writerEPUBMetadata` has
|
||
been renamed `writerEpubMetadata` for consistency.
|
||
|
||
* Changed signatures of `writeODT`, `writeDocx`, `writeEPUB`, since they no
|
||
longer stylesheet, fonts, reference files as separate parameters.
|
||
|
||
* Removed `writerLiterateHaskell` from `WriterOptions`, and
|
||
`readerLiterateHaskell` from `ReaderOptions`. LHS is now handled
|
||
by an extension (`Ext_literate_haskell`).
|
||
|
||
* Removed deprecated `writerXeTeX`.
|
||
|
||
* Removed `writerStrict` from `WriterOptions`. Added `writerExtensions`.
|
||
Strict is now handled through extensions.
|
||
|
||
* `Text.Pandoc.Options` exports `pandocExtensions`, `strictExtensions`,
|
||
`phpMarkdownExtraExtensions`, `githubMarkdownExtensions`,
|
||
and `multimarkdownExtensions`, as well as the `Extensions` type.
|
||
|
||
* New `Text.Pandoc.Readers.MediaWiki` module, exporting
|
||
`readMediaWiki`.
|
||
|
||
* New `Text.Pandoc.Writers.FB2` module, exporting `writeFB2`
|
||
(thanks to Sergey Astanin).
|
||
|
||
* `Text.Pandoc`:
|
||
|
||
+ Added `getReader`, `getWriter` to `Text.Pandoc`.
|
||
+ `writers` is now an association list `(String, Writer)`.
|
||
A `Writer` can be a `PureStringWriter`, an `IOStringWriter`, or
|
||
an `IOByteStringWriter`. ALL writers are now in the 'writers'
|
||
list, including the binary writers and FB2 writer. This allows
|
||
code in `pandoc.hs` to be simplified.
|
||
+ Changed type of `readers`, so all readers are in IO.
|
||
Users who want pure readers can still get them form the reader
|
||
modules; this just affects the function `getReader` that looks up
|
||
a reader based on the format name. The point of this change is to
|
||
make it possible to print warnings from the parser.
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ `Text.Parsec` now exports all Parsec functions used in pandoc code.
|
||
No other module directly imports Parsec. This will make it easier
|
||
to change the parsing backend in the future, if we want to.
|
||
+ `Text.Parsec` is used instead of `Text.ParserCombinators.Parsec`.
|
||
+ Export the type synonym `Parser`.
|
||
+ Export `widthsFromIndices`, `NoteTable'`, `KeyTable'`, `Key'`, `toKey'`,
|
||
`withQuoteContext`, `singleQuoteStart`, `singleQuoteEnd`,
|
||
`doubleQuoteStart`, `doubleQuoteEnd`, `ellipses`, `apostrophe`,
|
||
`dash`, `nested`, `F(..)`, `askF`, `asksF`, `runF`, `lineBlockLines`.
|
||
+ `ParserState` is no longer an instance of `Show`.
|
||
+ Added `stateSubstitutions` and `stateWarnings` to `ParserState`.
|
||
+ Generalized type of `withQuoteContext`.
|
||
+ Added `guardEnabled`, `guardDisabled`, `getOption`.
|
||
+ Removed `failIfStrict`.
|
||
+ `lookupKeySrc` and `fromKey` are no longer exported.
|
||
|
||
* `Data.Default` instances are now provided for `ReaderOptions`,
|
||
`WriterOptions`, and `ParserState`. `Text.Pandoc` re-exports `def`.
|
||
Now you can use `def` (which is re-exported by `Text.Pandoc`) instead
|
||
of `defaultWriterOptions` (which is still defined). Closes #546.
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ Added `safeRead`.
|
||
+ Renamed `removedLeadingTrailingSpace` to `trim`,
|
||
`removeLeadingSpace` to `triml`, and `removeTrailingSpace` to `trimr`.
|
||
+ Count `\r` as space in `trim` functions.
|
||
+ Moved `renderTags'` from HTML reader and `Text.Pandoc.SelfContained`
|
||
to `Shared`.
|
||
+ Removed `failUnlessLHS`.
|
||
+ Export `compactify'`, formerly in Markdown reader.
|
||
+ Export `isTightList`.
|
||
+ Do not export `findDataFile`.
|
||
+ `readDataFile` now returns a strict ByteString.
|
||
+ Export `readDataFileUTF8` which returns a String, like the
|
||
old `readDataFile`.
|
||
+ Export `fetchItem` and `openURL`.
|
||
|
||
* `Text.Pandoc.ImageSize`: Use strict, not lazy bytestrings.
|
||
Removed `readImageSize`.
|
||
|
||
* `Text.Pandoc.UTF8`: Export `encodePath`, `decodePath`,
|
||
`decodeArg`, `toString`, `fromString`, `toStringLazy`,
|
||
`fromStringLazy`.
|
||
|
||
* `Text.Pandoc.UTF8` is now an exposed module.
|
||
|
||
* `Text.Pandoc.Biblio`:
|
||
|
||
+ csl parameter now a `String` rather than a `FilePath`.
|
||
+ Changed type of `processBiblio`. It is no longer in the IO monad.
|
||
It now takes a `Maybe Style` argument rather than parameters for CSL
|
||
and abbrev filenames. (`pandoc.hs` now calls the functions to parse
|
||
the style file and add abbreviations.)
|
||
|
||
* Markdown reader now exports `readMarkdownWithWarnings`.
|
||
|
||
* `Text.Pandoc.RTF` now exports `writeRTFWithEmbeddedImages` instead of
|
||
`rtfEmbedImage`.
|
||
|
||
[bug fixes]
|
||
|
||
* Make `--ascii` work properly with `--self-contained`. Closes #568.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Fixed link parser to avoid exponential slowdowns. Closes #620.
|
||
Previously the parser would hang on input like this:
|
||
|
||
[[[[[[[[[[[[[[[[[[hi
|
||
|
||
We fixed this by making the link parser parser characters
|
||
between balanced brackets (skipping brackets in inline code spans),
|
||
then parsing the result as an inline list. One change is that
|
||
|
||
[hi *there]* bud](/url)
|
||
|
||
is now no longer parsed as a link. But in this respect pandoc behaved
|
||
differently from most other implementations anyway, so that seems okay.
|
||
|
||
+ Look for raw html/latex blocks before tables.
|
||
Otherwise the following gets parsed as a table:
|
||
|
||
\begin{code}
|
||
--------------
|
||
-- My comment.
|
||
\end{code}
|
||
|
||
Closes #578.
|
||
|
||
* RST reader:
|
||
|
||
+ Added support for `:target:` on `.. image::` blocks
|
||
and substitutions.
|
||
+ Field list fixes:
|
||
|
||
- Fixed field lists items with body beginning after a new line
|
||
(Denis Laxalde).
|
||
- Allow any char but ':' in names of field lists in RST reader
|
||
(Denis Laxalde).
|
||
- Don't allow line breaks in field names.
|
||
- Require whitespace after field list field names.
|
||
- Don't create empty definition list for metadata field lists.
|
||
Previously a field list consisting only of metadata fields (author,
|
||
title, date) would be parsed as an empty DefinitionList, which is
|
||
not legal in LaTeX and not needed in any format.
|
||
|
||
+ Don't recognize inline-markup starts inside words.
|
||
For example, `2*2 = 4*1` should not contain an emphasized
|
||
section. Added test case for "Literal symbols". Closes #569.
|
||
+ Allow dashes as separator in simple tables. Closes #555.
|
||
+ Added support for `container`, `compound`, `epigraph`,
|
||
`rubric`, `highlights`, `pull-quote`.
|
||
+ Added support for `.. code::`.
|
||
+ Made directive labels case-insensitive.
|
||
+ Removed requirement that directives begin at left margin.
|
||
This was (correctly) not in earlier releases; docutils doesn't
|
||
make the requirement.
|
||
+ Added support for `replace::` and `unicode::` substitutions.
|
||
+ Ignore unknown interpreted roles.
|
||
+ Renamed image parser to `subst`, since it now handles all
|
||
substitution references.
|
||
|
||
* Textile reader:
|
||
|
||
+ Allow newlines before pipes in table. Closes #654.
|
||
+ Fixed bug with list items containing line breaks.
|
||
Now pandoc correctly handles hard line breaks inside list items.
|
||
Previously they broke list parsing.
|
||
+ Implemented comment blocks.
|
||
+ Fixed bug affected words ending in hyphen.
|
||
+ Properly handle links with surrounding brackets.
|
||
Square brackets need to be used when the link isn't surrounded by
|
||
spaces or punctuation, or when the URL ending may be ambiguous.
|
||
Closes #564.
|
||
+ Removed nullBlock. Better to know about parsing problems than
|
||
to skip stuff when we get stuck.
|
||
+ Allow ID attributes on headers.
|
||
+ Textile reader: Avoid parsing dashes as strikeout.
|
||
Previously the input
|
||
|
||
text--
|
||
text--
|
||
text--
|
||
text--
|
||
|
||
would be parsed with strikeouts rather than dashes. This fixes
|
||
the problem by requiring that a strikeout delimiting - not be
|
||
followed by a -. Closes #631.
|
||
+ Expanded list of `stringBreakers`.
|
||
This fixes a bug on input like "(_hello_)" which should
|
||
be a parenthesized emphasized "hello".
|
||
The new list is taken from the PHP source of textile 2.4.
|
||
+ Fixed autolinks. Previously the textile reader and writer
|
||
incorrectly implented RST-style autolinks for URLs and email
|
||
addresses. This has been fixed. Now an autolink is done this way:
|
||
`"$":http://myurl.com`.
|
||
+ Fixed footnotes bug in textile. This affected notes occuring
|
||
before punctuation, e.g. `foo[1].`. Closes #518.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Better handling of citation commands.
|
||
+ Better handling of `\noindent`.
|
||
+ Added a 'try' in rawLaTeXBlock, so we can handle `\begin` without `{`.
|
||
Closes #622.
|
||
+ Made `rawLaTeXInline` try to parse block commands as well. This
|
||
is usually what we want, given how `rawLaTeXInline` is used in
|
||
the markdown and textile readers. If a block-level LaTeX command
|
||
is used in the middle of a paragraph (e.g. `\subtitle` inside a title),
|
||
we can treat it as raw inline LaTeX.
|
||
+ Handle \slash command. Closes #605.
|
||
+ Basic `\enquote` support.
|
||
+ Fixed parsing of paragraphs beginning with a group. Closes #606.
|
||
+ Use curly quotes for bare straight quotes.
|
||
+ Support obeylines environment. Closes #604.
|
||
+ Guard against "begin", "end" in inlineCommand and
|
||
blockCommand.
|
||
+ Better error messages for environments. Now it should tell you that
|
||
it was looking for \end{env}, instead of giving "unknown parse error."
|
||
|
||
* HTML reader:
|
||
|
||
+ Added HTML 5 tags to list of block-level tags.
|
||
+ HTML reader: Fixed bug in `htmlBalanced`, which
|
||
caused hangs in parsing certain markdown input using
|
||
strict mode.
|
||
+ Parse `<q>` as `Quoted DoubleQuote`.
|
||
+ Handle nested `<q>` tags properly.
|
||
+ Modified `htmlTag` for fewer false positives.
|
||
A tag must start with `<` followed by `!`,`?`, `/`, or a letter.
|
||
This makes it more useful in the wikimedia and markdown parsers.
|
||
|
||
* DocBook reader: Support title in "figure" element. Closes #650.
|
||
|
||
* MediaWiki writer:
|
||
|
||
+ Remove newline after `<br/>` in translation of `LineBreak`
|
||
There's no particular need for a newline (other than making the
|
||
generated MediaWiki source look nice to a human), and in fact
|
||
sometimes it is incorrect: in particular, inside an enumeration, list
|
||
items cannot have embedded newline characters. (Brent Yorgey)
|
||
+ Use `<code>` not `<tt>` for Code.
|
||
|
||
* Man writer: Escape `-` as `\-`.
|
||
Unescaped `-`'s become hyphens, while `\-`'s are left as ascii minus
|
||
signs. That is preferable for use with command-line options. See
|
||
<http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html>. Thanks
|
||
to Andrea Bolognani for bringing the issue to our attention.
|
||
|
||
* RST writer:
|
||
|
||
+ Improved line block output. Use nonbreaking spaces for
|
||
initial indent (otherwise lost in HTML and LaTeX).
|
||
Allow multiple paragraphs in a single line block.
|
||
Allow soft breaks w continuations in line blocks.
|
||
+ Properly handle images with no alt text. Closes #678.
|
||
+ Fixed bug with links with duplicate text. We now (a) use anonymous
|
||
links for links with inline URLs, and (b) use an inline link instead
|
||
of a reference link if the reference link would require a label that
|
||
has already been used for a different link. Closes #511.
|
||
+ Fixed hyperlinked images. Closes #611. Use `:target:`
|
||
field when you have a simple linked image.
|
||
+ Don't add `:align: center` to figures.
|
||
|
||
* Texinfo writer: Fixed internal cross-references.
|
||
Now we insert anchors after each header, and use `@ref` instead of `@uref`
|
||
for links. Commas are now escaped as `@comma{}` only when needed;
|
||
previously all commas were escaped. (This change is needed, in part,
|
||
because `@ref` commands must be followed by a real comma or period.) Also
|
||
insert a blank line in from of `@verbatim` environments.
|
||
|
||
* DocBook writer:
|
||
|
||
+ Made --id-prefix work in DocBook as well as HTML.
|
||
Closes #607.
|
||
+ Don't include empty captions in figures. Closes #581.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Use `\hspace*` for nonbreaking space after line break,
|
||
since `~` spaces after a line break are just ignored.
|
||
Closes #687.
|
||
+ Don't escape `_` in URLs or hyperref identifiers.
|
||
+ Properly escape strings inside \url{}. Closes #576.
|
||
+ Use `[fragile]` only for slides containing code rendered
|
||
using listings. Closes #649.
|
||
+ Escape `|` as `\vert` in LaTeX math. This avoids a clash with
|
||
highlighting-kate's macros, which redefine `|` as a short verbatim
|
||
delimiter. Thanks to Björn Peemöller for raising this issue.
|
||
+ Use minipage rather than parbox for block containers in tables.
|
||
This allows verbatim code to be included in grid tables.
|
||
Closes #663.
|
||
+ Prevent paragraphs containing only linebreaks or spaces.
|
||
|
||
* HTML writer:
|
||
|
||
+ Included `highlighting-css` for code spans, too.
|
||
Previously it was only included if used in a code block. Closes #653.
|
||
+ Improved line breaks with `<dd>` tags. We now put a newline between
|
||
`</dd>` and `<dd>` when there are multiple definitions.
|
||
+ Changed mathjax cdn url so it doesn't use https. (This caused
|
||
problems when used with `--self-contained`.) See #609.
|
||
|
||
* EPUB writer:
|
||
|
||
+ `--number-sections` now works properly.
|
||
+ Don't strip meta and link elements in epub metadata.
|
||
Patch from aberrancy. Closes #589.
|
||
+ Fixed a couple validation bugs.
|
||
+ Use ch001, ch002, etc. for chapter filenames. This improves sorting
|
||
of chapters in some readers, which apparently sort ch2 after ch10.
|
||
Closes #610.
|
||
|
||
* ODT writer: properly set title property (Arlo O'Keeffe).
|
||
|
||
* Docx writer:
|
||
|
||
+ Fixed bug with nested lists. Previously a list like
|
||
|
||
1. one
|
||
- a
|
||
- b
|
||
2. two
|
||
|
||
would come out with a bullet instead of "2."
|
||
Thanks to Russell Allen for reporting the bug.
|
||
+ Use `w:cr` in `w:r` instead of `w:br` for linebreaks.
|
||
This seems to fix a problem viewing pandoc-generated
|
||
docx files in LibreOffice.
|
||
+ Use integer ids for bookmarks. Closes #626.
|
||
+ Added nsid to abstractNum elements. This helps when merging
|
||
word documents with numbered or bulleted lists. Closes #627.
|
||
+ Use separate footnotes.xml for notes.
|
||
This seems to help LibreOffice convert the file, even though
|
||
it was valid docx before. Closes #637.
|
||
+ Use rIdNN identifiers for r:embed in images.
|
||
+ Avoid reading image files again when we've already processed them.
|
||
+ Fixed typo in `referenc.docx` that prevented image captions from
|
||
working. Thanks to Huashan Chen.
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ Fixed bug in `withRaw`, which didn't correctly handle the case
|
||
where nothing is parsed.
|
||
+ Made `emailAddress` parser more correct. Now it is based on RFC 822,
|
||
though it still doesn't implement quoted strings in email addresses.
|
||
+ Revised URI parser. It now allows many more schemes, allows
|
||
uppercase URIs, and better handles trailing punctuation and
|
||
trailing slashes in bare URIs. Added many tests.
|
||
+ Simplified and improved singleQuoteStart. This makes `'s'`, `'l'`,
|
||
etc. parse properly. Formerly we had some English-centric heuristics,
|
||
but they are no longer needed. Closes #698.
|
||
|
||
* `Text.Pandoc.Pretty`: Added wide punctuation range to `charWidth`.
|
||
This fixes bug with Chinese commas in markdown and reST tables, and
|
||
a bug that caused combining characters to be dropped.
|
||
|
||
* `Text.Pandoc.MIME`: Added MIME types for .wof and .eot. Closes #640.
|
||
|
||
* `Text.Pandoc.Biblio`:
|
||
|
||
+ Run `mvPunc` and `deNote` on metadata too.
|
||
This fixed a bug with notes on titles using footnote styles.
|
||
+ Fixed bug in fetching CSL files from CSL data directory.
|
||
|
||
* `pandoc.hs`: Give correct value to `writerSourceDirectory` when a URL
|
||
is provided. It should be the URL up to the path.
|
||
|
||
* Fixed/simplified diff output for tests.
|
||
Biblio: Make sure mvPunc and deNote run on metadata too.
|
||
This fixed a bug with notes on titles using footnote styles.
|
||
|
||
[under the hood improvements]
|
||
|
||
* We no longer depend on `utf8-string`. Instead we use functions
|
||
defined in `Text.Pandoc.UTF8` that use `Data.Text`'s conversions.
|
||
|
||
* Use `safeRead` instead of using `reads` directly (various modules).
|
||
|
||
* "Implicit figures" (images alone in a paragraph) are now handled
|
||
differently. The markdown reader gives their titles the prefix `fig:`; the
|
||
writers look for this before treating the image as a figure. Though this
|
||
is a bit of a hack, it has two advantages: (i) implicit figures can be
|
||
limited to the markdown reader, and (ii) they can be deactivated by turning
|
||
off the `implicit_figures` extension.
|
||
|
||
* `catch` from `Control.Exception` is now used instead of the
|
||
old Preface `catch`.
|
||
|
||
* `Text.Pandoc.Shared`: Improved algorithm for `normalizeSpaces`
|
||
and `oneOfStrings` (which is now non-backtracking).
|
||
|
||
* `Text.Pandoc.Biblio`: Remove workaround for `toCapital`.
|
||
Now citeproc-hs is fixed upstream, so this is no longer needed.
|
||
Closes #531.
|
||
|
||
* Textile reader: Improved speed of `hyphenedWords`.
|
||
This speeds up the textile reader by about a factor of 4.
|
||
|
||
* Use `Text.Pandoc.Builder` in RST reader, for more flexibility,
|
||
better performance, and automatic normalization.
|
||
|
||
* Major rewrite of markdown reader:
|
||
|
||
+ Use `Text.Pandoc.Builder` instead of lists. This also
|
||
means that everything is normalized automatically.
|
||
+ Move to a one-pass parsing strategy, returning values in the reader
|
||
monad, which are then run (at the end of parsing) against the final
|
||
parser state.
|
||
|
||
* In HTML writer, we now use `toHtml` instead of pre-escaping.
|
||
We work around the problem that blaze-html unnecessarily escapes `'`
|
||
by pre-escaping just the `'` characters, instead of the whole string.
|
||
If blaze-html later stops escaping `'` characters, we can simplify
|
||
`strToHtml` to `toHtml`. Closes #629.
|
||
|
||
* Moved code for embedding images in RTFs from `pandoc.hs` to the
|
||
RTF writer (which now exports `writeRTFWithEmbeddedImages`).
|
||
|
||
* Moved citation processing from `pandoc.hs` into the readers.
|
||
This makes things more convenient for library users.
|
||
|
||
* The man pages are now built by an executable `make-pandoc-man-pages`,
|
||
which has its own stanza in the cabal file so that dependencies can be
|
||
handled by Cabal. Special treatment in `Setup.hs` ensures that this
|
||
executable never gets installed; it is only used to create the man pages.
|
||
|
||
* The cabal file has been modified so that the pandoc library is used
|
||
in building the pandoc executable. (This required moving `pandoc.hs`
|
||
from `src` to `.`.) This cuts compile time in half.
|
||
|
||
* `-O2` is no longer used in building pandoc. The performance improvement
|
||
it yields is so slight that it is not worth it. (Measured with
|
||
benchmarks on ghc 7.4.)
|
||
|
||
* The `executable` and `library` flags have been removed.
|
||
|
||
* `-threaded` has been removed from ghc-options.
|
||
|
||
* Version bounds of dependencies have been raised, and the
|
||
`blaze_html_0_5` flag now defaults to True. Pandoc now compiles on
|
||
GHC 7.6.
|
||
|
||
* We now require base >= 4.2.
|
||
|
||
* Integrated the benchmark program into cabal. One can now do:
|
||
|
||
cabal configure --enable-benchmarks && cabal build
|
||
cabal bench --benchmark-option='markdown' --benchmark-option='-s 20'
|
||
|
||
The benchmark now uses README + testsuite, so benchmark results
|
||
from older versions aren't comparable.
|
||
|
||
* Integrated test suite with cabal.
|
||
To run tests, configure with `--enable-tests`, then `cabal test`.
|
||
You can specify particular tests using `--test-options='-t markdown'`.
|
||
No output is shown unless tests fail. The Haskell test modules
|
||
have been moved from `src/` to `tests/`.
|
||
|
||
* Moved all data files and templates to the `data/` subdirectory.
|
||
|
||
* Added an `embed_data_files` cabal flag. This causes all
|
||
data files to be embedded in the binary, so that the binary
|
||
is self-sufficient and can be relocated anywhere, copied on
|
||
a USB key, etc. The Windows installer now uses this.
|
||
(Since we no longer have the option to build the executable
|
||
without the library, this is the only way to get a relocatable
|
||
binary on Windows.)
|
||
|
||
* Removed pcre3.dll from windows package.
|
||
It isn't needed unless highlighting-kate is compilled with the
|
||
`pcre-light` flag. By default, regex-prce-builtin is used.
|
||
|
||
|
||
pandoc (1.9.4.2)
|
||
|
||
* Don't encode/decode file paths if base >= 4.4.
|
||
Prior to base 4.4, filepaths and command line arguments were treated
|
||
as unencoded lists of bytes, not unicode strings, so we had to work
|
||
around that by encoding and decoding them. This commit adds CPP
|
||
checks for the base version that intelligibly enable encoding/decoding
|
||
when needed. Fixes a bug with multilingual filenames when pandoc was
|
||
compiled with ghc 7.4 (#540).
|
||
|
||
* Don't generate an empty H1 after hrule slide breaks.
|
||
We now use a slide-level header with contents `[Str "\0"]` to mark
|
||
an hrule break. This avoids creation of an empty H1 in these
|
||
contexts. Closes #484.
|
||
|
||
* Docbook reader: Added support for "bold" emphasis. Thanks to Mauro Bieg.
|
||
|
||
* In make_osx_package.sh, ensure citeproc-hs is built with the
|
||
embed_data_files flag.
|
||
|
||
* MediaWiki writer: Avoid extra blank lines after sublists (Gavin Beatty).
|
||
|
||
* ConTeXt writer: Don't escape `&`, `^`, `<`, `>`, `_`,
|
||
simplified escapes for `}` and `{` to `\{` and `\}` (Aditya Mahajan).
|
||
|
||
* Fixed handling of absolute URLs in CSS imports with `--self-contained`.
|
||
Closes #535.
|
||
|
||
* Added webm to mime types. Closes #543.
|
||
|
||
* Added some missing exports and tests to the cabal file
|
||
(Alexander V Vershilov).
|
||
|
||
* Compile with `-rtsopts` and `-threaded` by default.
|
||
|
||
pandoc (1.9.4.1)
|
||
|
||
* Markdown reader: Added `cf.` and `cp.` to list of likely abbreviations.
|
||
|
||
* LaTeX template: Added `linkcolor`, `urlcolor` and `links-as-notes`
|
||
variables. Make TOC links black.
|
||
|
||
* LaTeX template improvements.
|
||
|
||
+ Don't print date unless one is given explicitly in the document.
|
||
+ Simplified templates.
|
||
+ Use fontenc [T1] by default, and lmodern.
|
||
+ Use microtype if available.
|
||
|
||
* Biblio:
|
||
|
||
+ Add comma to beginning of bare suffix, e.g. `@item1 [50]`.
|
||
Motivation: `@item1 [50]` should be as close as possible to
|
||
`[@item1, 50]`.
|
||
+ Added workaround for a bug in citeproc-hs 0.3.4 that causes footnotes
|
||
beginning with a citation to be empty. Closes #531.
|
||
|
||
* Fixed documentation on mixed lists. Closes #533.
|
||
|
||
pandoc (1.9.4)
|
||
|
||
* Simplified `Text.Pandoc.Biblio` and fixed bugs with citations inside
|
||
footnotes and captions. We now handle note citations by inserting
|
||
footnotes during initial citation processing, and doing a separate
|
||
pass later to remove notes inside notes.
|
||
|
||
* Added 'zenburn' highlight style from highlighting-kate.
|
||
|
||
* Added Slideous writer. Slideous is an HTML + javascript slide show
|
||
format, similar to Slidy, but works with IE 7. (Jonas Smedegaard)
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Ensure we don't have extra blank lines at ends of cells.
|
||
This can cause LaTeX errors, as they are interpreted as new paragraphs.
|
||
+ More consistent interblock spacing.
|
||
+ Require highlighting-kate >= 0.5.1, for proper highlighted inline
|
||
code in LaTeX. Closes #527.
|
||
+ Ensure that a Verbatim at the end of a footnote is followed by
|
||
a newline. (Fixes a regression in the previous version.)
|
||
+ In default template, use black for internal links and TOC.
|
||
Added commented-out code to use footnotes for links, as would
|
||
be suitable in print output.
|
||
|
||
* Beamer writer: When `--incremental` is used, lists inside
|
||
a block quote should appear all at once. (This makes Beamer
|
||
output consistent with the HTML slide show formats.)
|
||
|
||
* ConTeXt writer:
|
||
|
||
+ Escape `%` as `\letterpercent{}` not `\letterpercent `,
|
||
to avoid gobbling spaces after the `%` sign.
|
||
+ Ensure space after `\stopformula`.
|
||
|
||
* Markdown writer:
|
||
|
||
+ Use `:` form instead of `~` in definition lists, for better
|
||
compatibility with other markdown implementations.
|
||
+ Don't wrap the term, because it breaks definition lists.
|
||
+ Use a nonzero space to prevent false recognition
|
||
of list marker in ordered lists. Closes #516.
|
||
|
||
* Org writer: Add space before language name. Closes #523.
|
||
|
||
* Docx writer: Simplified bullet characters so they work properly
|
||
with Word 2007. Closes #520.
|
||
|
||
* LaTeX reader: Support `\centerline`.
|
||
|
||
* RST reader: handle figures. Closes #522.
|
||
|
||
* Textile reader: fix for `<notextile>` and `==`. Closes #517.
|
||
(Paul Rivier)
|
||
|
||
pandoc (1.9.3)
|
||
|
||
* Fixed bug in `fromEntities`. The previous version would turn
|
||
`hi & low you know;` into `hi &`.
|
||
|
||
* HTML reader:
|
||
|
||
+ Don't skip nonbreaking spaces.
|
||
Previously a paragraph containing just ` ` would be rendered
|
||
as an empty paragraph. Thanks to Paul Vorbach for pointing out the bug.
|
||
+ Support `<col>` and `<caption>` in tables. Closes #486.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Don't recognize references inside delimited code blocks.
|
||
+ Allow list items to begin with lists.
|
||
|
||
* Added basic docbook reader (John MacFarlane and Mauro Bieg).
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Handle `\bgroup`, `\egroup`, `\begingroup`, `\endgroup`.
|
||
+ Control sequences can't be followed by a letter.
|
||
This fixes a bug where `\begingroup` was parsed as `\begin`
|
||
followed by `group`.
|
||
+ Parse 'dimension' arguments to unknown commands. e.g. `\parindent0pt`
|
||
+ Make `\label` and `\ref` sensitive to `--parse-raw`.
|
||
If `--parse-raw` is selected, these will be parsed as raw latex
|
||
inlines, rather than bracketed text.
|
||
+ Don't crash on unknown block commands (like `\vspace{10pt}`)
|
||
inside `\author`; just skip them. Closes #505.
|
||
|
||
* Textile reader:
|
||
|
||
+ Implemented literal escapes with `==` and `<notextile>`. Closes #473.
|
||
+ Added support for LaTeX blocks and inlines (Paul Rivier).
|
||
+ Better conformance to RedCloth inline parsing (Paul Rivier).
|
||
+ Parse '+text+' as emphasized (should be underlined, but this
|
||
is better than leaving literal plus characters in the output.
|
||
|
||
* Docx writer: Fixed multi-paragraph list items. Previously they each
|
||
got a list marker. Closes #457.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Added `--no-tex-ligatures` option to avoid replacing
|
||
quotation marks and dashes with TeX ligatures.
|
||
+ Use `fixltx2e` package to provide '\textsubscript'.
|
||
+ Improve spacing around LaTeX block environments:
|
||
quote, verbatim, itemize, description, enumerate.
|
||
Closes #502.
|
||
+ Use blue instead of pink for URL links in latex/pdf output.
|
||
|
||
* ConTeXt writer: Fixed escaping of `%`.
|
||
In text, `%` needs to be escaped as `\letterpercent`, not `\%`
|
||
Inside URLs, `%` needs to be escaped as `\%`
|
||
Thanks to jmarca and adityam for the fix. Closes #492.
|
||
|
||
* Texinfo writer: Escape special characters in node titles.
|
||
This fixes a problem pointed out by Joost Kremers. Pandoc used
|
||
to escape an '@' in a chapter title, but not in the corresponding
|
||
node title, leading to invalid texinfo.
|
||
|
||
* Fixed document encoding in texinfo template.
|
||
Resolves Debian Bug #667816.
|
||
|
||
* Markdown writer:
|
||
|
||
+ Don't force delimited code blocks to be flush left.
|
||
Fixes bug with delimited code blocks inside lists etc.
|
||
+ Escape `<` and `$`.
|
||
|
||
* LaTeX writer: Use `\hyperref[ident]{text}` for internal links.
|
||
Previously we used `\href{\#ident}{text}`, which didn't work on
|
||
all systems. Thanks to Dirk Laurie.
|
||
|
||
* RST writer: Don't wrap link references. Closes #487.
|
||
|
||
* Updated to use latest versions of blaze-html, mtl.
|
||
|
||
|
||
pandoc (1.9.2)
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Made `lstlisting` work as a proper verbatim environment.
|
||
+ Fixed bug parsing LaTeX tables with one column.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Use `{}` around `ctable` caption, so that formatting can be used.
|
||
+ Don't require eurosym package unless document has a €.
|
||
|
||
* LaTeX template: Added variables for `geometry`, `romanfont`,
|
||
`sansfont`, `mathfont`, `mainfont` so users can more easily
|
||
customize fonts.
|
||
|
||
* PDF writer:
|
||
|
||
+ Run latex engine at least two times, to ensure
|
||
that PDFs will have hyperlinked bookmarks.
|
||
+ Added PDF metadata (title,author) in LaTeX standalone + PDF output.
|
||
|
||
* Texinfo writer: retain directories in image paths. (Peter Wang)
|
||
|
||
* RST writer: Better handling of inline formatting, in accord
|
||
with docutils' "inline markup recognition rules" (though we don't
|
||
implement the unicode rules fully). Now `hi*there*hi` gets
|
||
rendered properly as `hi\ *there*\ hi`, and unnecessary
|
||
`\ ` are avoided around `:math:`, `:sub:`, `:sup:`.
|
||
|
||
* RST reader:
|
||
|
||
+ Parse `\ ` as null, not escaped space.
|
||
+ Allow `` :math:`...` `` even when not followed by blank
|
||
or `\`. This does not implement the complex rule docutils follows,
|
||
but it should be good enough for most purposes.
|
||
+ Add support for the rST default-role directive. (Greg Maslov)
|
||
|
||
* Text.Pandoc.Parsing: Added `stateRstDefaultRole` field to `ParserState`.
|
||
(Greg Maslov)
|
||
|
||
* Markdown reader: Properly handle citations nested in other inline
|
||
elements.
|
||
|
||
* Markdown writer: don't replace empty alt in image with "image".
|
||
|
||
* DZSlides: Updated template.html and styles in default template.
|
||
Removed bizarre CSS for `q` in dzslides template.
|
||
|
||
* Avoid repeated `id` attribute in section and header in HTML slides.
|
||
|
||
* README improvements: new instructions on internal links,
|
||
removed misleading note on reST math.
|
||
|
||
* Build system:
|
||
|
||
+ Fixed Windows installer so that dzslides works.
|
||
+ Removed stripansi.sh.
|
||
+ Added .travis.yml for Travis continuous integration support..
|
||
+ Fixed upper bound for zlib (Sergei Trofimovich).
|
||
+ Fixed upper bound for test-framework.
|
||
+ Updated haddocks for haddock-2.10 (Sergei Trofimovich).
|
||
|
||
pandoc (1.9.1.2)
|
||
|
||
* Added `beamer+lhs` as output format.
|
||
|
||
* Don't escape `<` in `<style>` tags with `--self-contained`.
|
||
This fixes a bug which prevented highlighting from working
|
||
when using `--self-contained`.
|
||
|
||
* PDF: run latex engine three times if `--toc` specified.
|
||
This fixes page numbers in the table of contents.
|
||
|
||
* Docx writer: Added TableNormal style to tables.
|
||
|
||
* LaTeX math environment fixes. `aligned` is now used instead of
|
||
the nonexistent `aligned*`. `multline` instead of the nonexistent
|
||
`multiline`.
|
||
|
||
* LaTeX writer: Use `\textasciitilde` for literal `~`.
|
||
|
||
* HTML writer: Don't escape contents of EQ tags with --gladtex.
|
||
This fixes a regression from 1.8.
|
||
|
||
* Use `<q>` tags for Quoted items for HTML5 output.
|
||
The quote style can be changed by modifying the template
|
||
or including a css file. A default quote style is included.
|
||
|
||
* LaTeX reader: Fixed accents (\~{a}, `\c{c}`).
|
||
Correctly handle \^{}. Support "minted" as a LaTeX verbatim block.
|
||
|
||
* Updated LaTeX template for better language support.
|
||
Use `polyglossia` instead of `babel` with xetex.
|
||
Set `lang` as documentclass option.
|
||
`\setmainlanguage` will use the last of a comma-separated
|
||
list of languages. Thanks to François Gannaz.
|
||
|
||
* Fixed default LaTeX template so `\euro` and `€` work. The
|
||
`eurosym` package is needed if you are using pdflatex.
|
||
|
||
* Fixed escaping of period in man writer (thanks to Michael Thompson).
|
||
|
||
* Fixed list label positions in beamer.
|
||
|
||
* Set `mainlang` variable in context writer.
|
||
This parallels behavior of latex writer. `mainlang` is the last
|
||
of a comma-separated list of languages in lang.
|
||
|
||
* EPUB language metadat: convert e.g. `en_US` from locale to `en-US`.
|
||
|
||
* Changed `-V` so that you can specify a key without a value.
|
||
Such keys get the value `true`.
|
||
|
||
* Fixed permissions on installed man pages - thanks Magnus Therning.
|
||
|
||
* Windows installer: require XP or higher. The installer is
|
||
now compiled on a Windows 7 machine, which fixes a problem
|
||
using citation functions on Windows 7.
|
||
|
||
* OSX package: Check for 64-bit Intel CPU before installing.
|
||
|
||
pandoc (1.9.1.1)
|
||
|
||
* Better handling of raw latex environments in markdown. Now
|
||
|
||
\begin{equation}
|
||
a_1
|
||
\end{equation}
|
||
|
||
turns into a raw latex block as expected.
|
||
|
||
* Improvements to LaTeX reader:
|
||
|
||
+ Skip options after block commands.
|
||
+ Correctly handle `{\\}` in braced.
|
||
+ Added a needed 'try'.
|
||
+ Citations: add `, ` to suffix if it doesn't start with space or
|
||
punctuation. Otherwise we get no space between the year and the
|
||
suffix in author-date styles.
|
||
|
||
* Added two needed data files for S5. This fixes a problem with
|
||
`pandoc -t s5 --self-contained`. Also removed `slides.min.js`,
|
||
which was no longer being used.
|
||
|
||
* Fixed some minor problems in `reference.docx`:
|
||
name on "Date" style, `xCs` instead of `xIs`.
|
||
|
||
* Fixed a problem creating docx files using a reference docx
|
||
modified using Word. The problem seems to be that Word
|
||
modifies `_rels/.rels`, changing the Type of the Relationship to
|
||
`docProps/core.xml`. Pandoc now changes this back to the correct
|
||
value if it has been altered, fixing the problem.
|
||
|
||
* Fixed html5 template so it works properly with highlighting.
|
||
|
||
pandoc (1.9.1)
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Fixed regression in 1.9; properly handle escaped $ in latex math.
|
||
+ Put LaTeX verse environments in blockquotes.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Limit nesting of strong/emph. This avoids exponential lookahead
|
||
in parasitic cases, like `a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**`.
|
||
+ Improved attributes syntax (inn code blocks/spans):
|
||
(1) Attributes can contain line breaks. (2) Values in key-value
|
||
attributes can be surrounded by either double or single quotes, or
|
||
left unquoted if they contain no spaces.
|
||
|
||
* Don't wrap headers in markdown or RST writers.
|
||
|
||
* Added `stateMaxNestingLevel` to `ParserState`.
|
||
We set this to 6, so you can still have `Emph` inside `Emph`,
|
||
just not indefinitely.
|
||
|
||
* More efficient implementation of `nowrap` in `Text.Pandoc.Pretty`.
|
||
|
||
* `Text.Pandoc.PDF`: Only run latex twice if `\tableofcontents`
|
||
is present.
|
||
|
||
* Require highlighting-kate >= 0.5.0.2, texmath >= 0.6.0.2.
|
||
|
||
pandoc (1.9.0.5)
|
||
|
||
* Changed cabal file so that build-depends for the test program
|
||
are not required unless the tests flag is used.
|
||
|
||
* LaTeX writer: insert `{}` between adjacent hyphens so they don't
|
||
form ligatures (dashes) in code spans.
|
||
|
||
pandoc (1.9.0.4)
|
||
|
||
* Raised version bound on test-framework to avoid problems
|
||
compiling tests on GHC 7.4.1.
|
||
|
||
* LaTeX reader: Use raw LaTeX as fallback inline text for Cites,
|
||
so citations don't just disappear unless you process with
|
||
citeproc. Ignore `\bibliographystyle`, `\nocite`.
|
||
|
||
* Simplified tex2pdf; it will always run latex twice to
|
||
resolve table of contents and hyperrefs.
|
||
|
||
pandoc (1.9.0.3)
|
||
|
||
* Require Cabal >= 1.10.
|
||
* Tweaked cabal file to meet Cabal 1.10 requirements.
|
||
|
||
pandoc (1.9.0.2)
|
||
|
||
* Allow build with json 0.4 or 0.5. Otherwise we can't build with
|
||
ghc 6.12.
|
||
|
||
pandoc (1.9)
|
||
|
||
[new features]
|
||
|
||
* Added a Microsoft Word `docx` writer. The writer includes support
|
||
for highlighted code and for math (which is converted from TeX to OMML,
|
||
Office's native math markup language, using texmath's new OMML module).
|
||
A new option `--reference-docx` allows the user to customize the
|
||
styles.
|
||
|
||
* Added an `asciidoc` writer (<http://www.methods.co.nz/asciidoc/>).
|
||
|
||
* Better support for slide shows:
|
||
|
||
+ Added a `dzslides` writer. DZSlides is a lightweight HTML5/javascript
|
||
slide show format due to Paul Rouget (<http://paulrouget.com/dzslides/>).
|
||
|
||
+ Added a LaTeX `beamer` writer. Beamer is a LaTeX package for creating
|
||
slide presentations.
|
||
|
||
+ New, flexible rules for dividing documents into sections and slides
|
||
(see the "Structuring the slide show" in the User's Guide). These
|
||
are backward-compatible with the old rules, but they allow slide
|
||
shows to be organized into sections and subsections containing
|
||
multiple slides.
|
||
|
||
+ A new `--slide-level` option allows users to override defaults
|
||
and select a slide level below the first header level with content.
|
||
|
||
* A new `--self-contained` option produces HTML output that does not
|
||
depend on an internet connection or the presence of any external
|
||
files. Linked images, CSS, and javascript is downloaded (or fetched
|
||
locally) and encoded in `data:` URIs. This is useful for making portable
|
||
`HTML slide shows. The --offline` option has been deprecated and is now
|
||
`treated as a synonym or --self-contained`.
|
||
|
||
* Support for PDF output:
|
||
|
||
+ Removed the old `markdown2pdf`.
|
||
+ `pandoc` can now create PDFs (assuming you have latex and a set of
|
||
appropriate packages installed): just specify an output file with the
|
||
`.pdf` extension.
|
||
+ A new option `--latex-engine` allows you to specify `pdflatex`,
|
||
`xelatex`, or `lualatex` as the processor.
|
||
|
||
* Highlighting changes:
|
||
|
||
+ Syntax highlighting is now a standard feature; the `highlighting`
|
||
flag is no longer needed when compiling.
|
||
+ A new `--no-highlight` option allows highlighting to be disabled.
|
||
+ Highlighting now works in `docx`, `latex`, and `epub`, as well as
|
||
`html`, `html5`, `dzslides`, `s5`, and `slidy`.
|
||
+ A new `--highlight-style` option selects between various highlighting
|
||
color themes.
|
||
|
||
* Internal links to sections now work in ConTeXt and LaTeX as well as HTML.
|
||
|
||
* LaTeX `\include` and `\usepackage` commands are now processed,
|
||
provided the files are in the working directory.
|
||
|
||
* EPUB improvements:
|
||
|
||
+ Internal and external links now work in EPUB.
|
||
+ Raw HTML is allowed.
|
||
+ New `--epub-embed-font` option.
|
||
+ Customizable templates for EPUB pages offer more control over
|
||
formatting: `epub-page.html`, `epub-coverimage.html`,
|
||
`epub-titlepage.html`.
|
||
|
||
* `--mathml` now works with DocBook.
|
||
|
||
* Added support for math in RST reader and writer. Inline math uses the
|
||
`` :math:`...` `` construct. Display math uses
|
||
|
||
.. math:: ...
|
||
|
||
or if the math is multiline,
|
||
|
||
.. math::
|
||
|
||
...
|
||
|
||
These constructions are now supported now by `rst2latex.py`.
|
||
|
||
* GitHub syntax for fenced code blocks is supported in pandoc's
|
||
markdown. You can now write
|
||
|
||
```ruby
|
||
x = 2
|
||
```
|
||
|
||
instead of
|
||
|
||
~~~ {.ruby}
|
||
x = 2
|
||
~~~~
|
||
|
||
* Easier scripting: a new `toJsonFilter` function makes it easier to
|
||
write Haskell scripts to manipulate the Pandoc AST.
|
||
|
||
[behavior changes]
|
||
|
||
* Fixed parsing of consecutive lists in markdown.
|
||
Pandoc previously behaved like Markdown.pl for consecutive
|
||
lists of different styles. Thus, the following would be parsed
|
||
as a single ordered list, rather than an ordered list followed
|
||
by an unordered list:
|
||
|
||
1. one
|
||
2. two
|
||
|
||
- one
|
||
- two
|
||
|
||
This change makes pandoc behave more sensibly, parsing this as
|
||
two lists. Any change in list type (ordered/unordered) or in
|
||
list number style will trigger a new list. Thus, the following
|
||
will also be parsed as two lists:
|
||
|
||
1. one
|
||
2. two
|
||
|
||
a. one
|
||
b. two
|
||
|
||
Since we regard this as a bug in Markdown.pl, and not something
|
||
anyone would ever rely on, we do not preserve the old behavior
|
||
even when `--strict` is selected.
|
||
|
||
* Dashes work differently with `--smart`: `---` is always em-dash,
|
||
and `--` is always en-dash. Pandoc no longer tries to guess when
|
||
`-` should be en-dash. *Note:* This may change how existing documents
|
||
look when processed with pandoc. A new option, `--old-dashes`,
|
||
is provided for legacy documents.
|
||
|
||
* The markdown writer now uses setext headers for levels 1-2.
|
||
The old behavior (ATX headers for all levels) can be restored
|
||
using the new `--atx-headers` option.
|
||
|
||
* Links are now allowed in markdown image captions. They are also
|
||
allowed in links, but will appear there as regular text. So,
|
||
|
||
[link with [link](/url)](/url)
|
||
|
||
will turn into
|
||
|
||
<p><a href="/url">link with link</a></p>
|
||
|
||
* Improved handling of citations using `citeproc-hs-0.3.4`.
|
||
Added `--citation-abbreviations` option.
|
||
|
||
* Citation keys can no longer end with a punctuation character.
|
||
This means that `@item1.` will be parsed as a citation with key
|
||
'item1', followed by a period, instead of a citation with key
|
||
'item1.', as was the case previously.
|
||
|
||
* In HTML output, citations are now put in a span with class `citation`.
|
||
|
||
* The markdown reader now recognizes DocBook block and inline tags.
|
||
It was always possible to include raw DocBook tags in a markdown
|
||
document, but now pandoc will be able to distinguish block from
|
||
inline tags and behave accordingly. Thus, for example,
|
||
|
||
<sidebar>
|
||
hello
|
||
</sidebar>
|
||
|
||
will not be wrapped in `<para>` tags.
|
||
|
||
* The LaTeX parser has been completely rewritten; it is now much more
|
||
accurate, robust, and extensible. However, there are two important
|
||
changes in how it treats unknown LaTeX. (1) Previously, unknown
|
||
environments became BlockQuote elements; now, they are treated
|
||
as "transparent", so `\begin{unknown}xyz\end{unknown}` is the
|
||
same as `xyz`. (2) Previously, arguments of unknown commands
|
||
were passed through with their braces; now the braces are stripped
|
||
off.
|
||
|
||
* `--smart` is no longer selected automatically with `man` output.
|
||
|
||
* The deprecated `--xetex` option has been removed.
|
||
|
||
* The `--html5`/`-5` option has been deprecated. Use `-t html5`
|
||
instead. `html5` and `html5+lhs` are now separate output formats.
|
||
|
||
* Single quotes are no longer escaped in HTML output. They do not
|
||
need to be escaped outside of attributes.
|
||
|
||
* Pandoc will no longer transform leading newlines in code
|
||
blocks to `<br/>` tags.
|
||
|
||
* The ODT writer now sizes images appropriately, using the image
|
||
size and DPI information embedded in the image.
|
||
|
||
* `--standalone` is once again implicitly for a non-text output format
|
||
(ODT, EPUB). You can again do `pandoc test.txt -o test.odt`
|
||
and get a standalone ODT file.
|
||
|
||
* The Docbook writer now uses `<sect1>`, `<sect2>`, etc. instead of
|
||
`<section>`.
|
||
|
||
* The HTML writer now uses `<del>` for strikeout.
|
||
|
||
* In HTML output with `--section-divs`, the classes `section` and
|
||
`level[1,2,..6]` are put on the `div` tags so they can be styled.
|
||
In HTML 5 output with `--section-divs`, the classes
|
||
`level[1,2,...6]` are put on `section` tags.
|
||
|
||
* EPUB writer changes:
|
||
|
||
+ The `lang` variable now sets the language
|
||
in the metadata (if it is not set, we default to the locale).
|
||
+ EPUB: UTF-8 is used rather than decimal entities.
|
||
|
||
* Added `titleslide` class to title slide in S5 template.
|
||
|
||
* In HTML, EPUB, and docx metadata, the date is normalized into
|
||
YYYY-MM-DD format if possible. (This is required for validation.)
|
||
|
||
* Attributes in highlighted code blocks are now preserved in HTML.
|
||
The container element will have the classes, id, and key-value attributes
|
||
you specified in the delimited code block. Previously these were stripped
|
||
off.
|
||
|
||
* The reference backlink in the HTML writer no longer has a special
|
||
`footnoteBacklink` class.
|
||
|
||
* The HTML template has been split into `html` and `html5` templates.
|
||
|
||
* Author and date are treated more consistently in HTML templates.
|
||
Authors are now `<h2>`, date `<h3>`.
|
||
|
||
* URLs are hyphenated in the ConTeXt writer (B. Scott Michel).
|
||
|
||
* In `Text.Pandoc.Builder`, `+++` has been replaced by `<>`.
|
||
|
||
[bug fixes]
|
||
|
||
* Better support for combining characters and East Asian wide characters
|
||
in markdown and reST.
|
||
|
||
* Better handling of single quotes with `--smart`.
|
||
Previously `D'oh l'*aide*` would be parsed with left and right single
|
||
quotes instead of apostrophes. This kind of error is now fixed.
|
||
|
||
* Highlighting: Use `reads` instead of `read` for better error handling.
|
||
Fixes crash on `startNum="abc"`.
|
||
|
||
* Added blank comment after directives in rst template.
|
||
|
||
* Unescape entities in citation `refId`. The `refId`s coming
|
||
from citeproc contain XML numeric entities, and these don't match with the
|
||
citation keys parsed by pandoc. Solution is to unescape them.
|
||
|
||
* HTML reader: Fixed bug parsing tables with both thead and tbody.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Better handling of escapes in link URLs and titles.
|
||
+ Fixed backslash escapes in reference links.
|
||
+ Fixed bug in table/hrule parsing, by checking that the top
|
||
line of a table is not followed by a blank line. This bug caused
|
||
slowdowns on some files with hrules and tables, as pandoc tried to
|
||
interpret the hrules as the tops of multiline tables.
|
||
+ Fixed bug in code block attribute parser. Previously the ID attribute
|
||
got lost if it didn't come first. Now attributes can come in any order.
|
||
|
||
* RST reader: allow footnotes followed by newline without space characters.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Ignore empty groups {}, { }.
|
||
+ LaTeX reader: Handle \@.
|
||
+ LaTeX reader: Don't crash on commands like `\itemsep`.
|
||
+ LaTeX reader: Better handling of letter environments.
|
||
|
||
* RST writer: Fixed bug involving empty table cells. isSimple was being
|
||
calculated in a way that assumed there were no non-empty cells.
|
||
|
||
* ConTeXt writer:
|
||
|
||
+ Made `--toc` work even without `--number-sections`.
|
||
+ Escape # in link URLs.
|
||
+ Use buffering for footnotes containing code blocks.
|
||
+ Changed 'descr' to 'description', fixed alignment.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Escape euro character.
|
||
+ Don't escape ~ inside href{...}.
|
||
+ Escape # in href URLs.
|
||
+ Improved detection of book classes. We now check the
|
||
`documentclass` variable, and if that is not set, we look through
|
||
the template itself. Also, we have added the KOMA classes scrreprt
|
||
and scrbook. You can now make a book using
|
||
`pandoc -V documentclass:book mybook.txt -o mybook.pdf`
|
||
+ LHS files now set the "listings" variable, so that the definition
|
||
of the `code` environment will be included in the template.
|
||
+ Links are colored blue by default (this can be changed by
|
||
modifying `hyperref` settings in the template).
|
||
+ Added `lang` variable to LaTeX template.
|
||
|
||
* HTML writer:
|
||
|
||
+ Fixed bug in HTML template with html5 and mathml.
|
||
+ Don't use self-closing img, br, hr tags for HTML5.
|
||
+ Use `<section>` for footnotes if HTML5.
|
||
+ Update HTML templates to use Content-Style-Type meta tag.
|
||
+ Use separate variables for meta-date, meta-author.
|
||
This makes footnotes work in author and date fields.
|
||
+ Use 'vertical-align:middle' in WebTeX math for better alignment.
|
||
|
||
* S5/slidy writer: Make footnotes appear on separate slide at end.
|
||
|
||
* MIME: Added 'layout-cache' to getMimeType. This ensures that the
|
||
META-INF/manifest.xml for ODT files will have everything it needs, so
|
||
that ODT files modified by LibreOffice can be used as `--reference-odt`.
|
||
|
||
* `Text.Pandoc.Templates`: Return empty string for json template.
|
||
|
||
* `Text.Pandoc.Biblio`:
|
||
|
||
+ Expand citations recursively inside nested inlines.
|
||
+ Treat `\160` as space when parsing locator and suffix.
|
||
This fixes a bug with "p. 33" when `--smart` is used. Previously
|
||
the whole "p. 33" would be included in the suffix, with no locator.
|
||
+ Put whole author-in-text citation in a Cite. Previously just the
|
||
date and other info went in the Cite.
|
||
+ Don't add comma+space to prefix if it ends in punctuation.
|
||
|
||
* Updated chicago-author-date.csl. The old version did not work
|
||
properly for edited volumes with no author.
|
||
|
||
* EPUB writer:
|
||
|
||
+ Add date to EPUB titlepage and metadata.
|
||
+ Added TOC identifier in EPUB page template.
|
||
+ Don't generate superfluous file `cover-image.jpg`.
|
||
|
||
[under the hood improvements]
|
||
|
||
* Modified `make_osx_package.sh` to use cabal-dev.
|
||
Items are no longer installed as root.
|
||
Man pages are zipped and given proper permissions.
|
||
|
||
* Modified windows installer generater to use cabal-dev.
|
||
|
||
* Setup: Making man pages now works with cabal-dev (at least on OSX). In
|
||
Setup.hs we now invoke 'runghc' in a way that points it to the correct
|
||
package databases, instead of always falling back to the default user
|
||
package db.
|
||
|
||
* Updated to work with GHC 7.4.1.
|
||
|
||
* Removed dependency on old-time.
|
||
|
||
* Removed dependency on dlist.
|
||
|
||
* New slidy directory for "self-contained."
|
||
|
||
* TeXMath writer: Use unicode thin spaces for thin spaces.
|
||
|
||
* Markdown citations: don't strip off initial space in locator.
|
||
|
||
[API changes]
|
||
|
||
* Removed `Apostrophe`, `EmDash`, `EnDash`, and `Ellipses`
|
||
from the native `Inline` type in pandoc-types. Now we use `Str`
|
||
elements with unicode.
|
||
|
||
* Improvements to `Text.Pandoc.Builder`:
|
||
|
||
+ `Inlines` and `Blocks` are now newtypes (not synonyms for
|
||
sequences).
|
||
+ Instances are defined for `IsString`, `Show`, `Read`, `Monoid`,
|
||
and a new `Listable` class, which allows these to be manipulated
|
||
to some extent like lists. Monoid append includes automatic
|
||
normalization.
|
||
+ `+++` has been replaced by `<>` (mappend).
|
||
|
||
* Use blaze-html instead of xhtml for HTML generation.
|
||
This changes the type of `writeHtml`.
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ Added `warn` and `err`.
|
||
+ Removed `unescapeURI`, modified `escapeURI`.
|
||
(See under [behavior changes], above.)
|
||
|
||
* Changes in URI escaping: Previously the readers escaped URIs by
|
||
converting unicode characters to octets and then percent encoding.
|
||
Now unicode characters are left as they are, and `escapeURI` only
|
||
percent-encodes space characters. This gives more readable
|
||
URIs, and works well with modern user agents. URIs are no longer unescaped
|
||
at all on conversion to `markdown`, `asciidoc`, `rst`, `org`.
|
||
|
||
* New module `Text.Pandoc.SelfContained`.
|
||
|
||
* New module `Text.Pandoc.Docx`.
|
||
|
||
* New module `Text.Pandoc.PDF`.
|
||
|
||
* Added `writerBeamer` to `WriterOptions`.
|
||
|
||
* Added `normalizeDate` to `Text.Pandoc.Shared`.
|
||
|
||
* Added `splitStringWithIndices` in `Text.Pandoc.Shared`.
|
||
This is like `splitWithIndices`, but it is sensitive to distinctions
|
||
between wide, combining, and regular characters.
|
||
|
||
* `Text.Pandoc.Pretty`:
|
||
|
||
+ Added `chomp` combinator.
|
||
+ Added `beforeNonBreak` combinator. This allows you to include
|
||
something conditionally on it being before a nonblank.
|
||
Used for RST inline math.
|
||
+ Added `charWidth` function. All characters marked W or F in the unicode
|
||
spec EastAsianWidth.txt get width 2.
|
||
+ Added `realLength`, based on `charWidth`. `realLength` is now
|
||
used in calculating offsets.
|
||
|
||
* New module `Text.Pandoc.Slides`, for common functions for breaking
|
||
a document into slides.
|
||
|
||
* Removed `Text.Pandoc.S5`, which is no longer needed.
|
||
|
||
* Removed `Text.Pandoc.CharacterReferences`. Moved
|
||
`characterReference` to `Text.Pandoc.Parsing`.
|
||
`decodeCharacterReferences` is replaced by `fromEntities`
|
||
in `Text.Pandoc.XML`.
|
||
|
||
* Added `Text.Pandoc.ImageSize`. This is intened for use
|
||
in `docx` and `odt` writers, so the size and dpi of images
|
||
can be calculated.
|
||
|
||
* Removed `writerAscii` in `WriterOptions`.
|
||
|
||
* Added `writerHighlight` to `WriterOptions`.
|
||
|
||
* Added `DZSlides` to `HTMLSlideVariant`.
|
||
|
||
* `writeEPUB` has a new argument for font files to embed.
|
||
|
||
* Added `stateLastStrPos` to `ParserState`. This lets us keep track
|
||
of whether we're parsing the position immediately after a regular
|
||
(non-space, non-symbol) string, which is useful for distinguishing
|
||
apostrophes from single quote starts.
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ `escaped` now returns a `Char`.
|
||
+ Removed `charsInBalanced'`, added a character parser as
|
||
a parameter of `charsInBalanced`. This is needed for
|
||
proper handling of escapes, etc.
|
||
+ Added `withRaw`.
|
||
|
||
* Added `toEntities` to `Text.Pandoc.XML`.
|
||
|
||
* `Text.Pandoc.Readers.LaTeX`:
|
||
|
||
+ Export `handleIncludes`.
|
||
+ Export `rawLaTeXBlock` instead of `rawLaTeXEnvironment'`.
|
||
|
||
* Added `ToJsonFilter` class and `toJsonFilter` function to
|
||
`Text.Pandoc`, deprecating the old `jsonFilter` function.
|
||
|
||
* `Text.Pandoc.Highlighting`:
|
||
|
||
+ Removed `highlightHtml`, `defaultHighlightingCss`.
|
||
+ Export `formatLaTeXInline`, `formatLaTeXBlock`, and `highlight`, plus
|
||
key functions from highlighting-kate.
|
||
+ Changed types of highlighting function. `highlight` returns a
|
||
`Maybe`, not an `Either`.
|
||
|
||
pandoc (1.8.2.1)
|
||
|
||
* Relaxed cabal consntraints for test-framework (S. Trofimovich).
|
||
|
||
* Relaxed cabal constraints for pandoc-types.
|
||
|
||
* Adjusted Arbitrary instance to help avoid timeouts in tests.
|
||
|
||
* Added `Tests.Writers.Markdown` to cabal file.
|
||
|
||
pandoc (1.8.2)
|
||
|
||
* Added script to produce OS X package.
|
||
|
||
* Made `templates` directory a git submodule. This should make it
|
||
easier for people to revise their custom templates when the default
|
||
templates change.
|
||
|
||
* Changed template naming scheme: `FORMAT.template` -> `default.FORMAT`.
|
||
**Note:** If you have existing templates in `~/.pandoc/templates`, you
|
||
must rename them to conform to the new scheme!
|
||
|
||
* Fixed smart quotes bug, now handling `'...hi'` properly.
|
||
|
||
* RST reader:
|
||
|
||
+ Partial support for labeled footnotes.
|
||
+ Improved accuracy of `simpleReferenceName` parser.
|
||
|
||
* HTML reader:
|
||
|
||
+ Substitute correct unicode characters for
|
||
characters in the 128..159 range, which are often found even in
|
||
HTML that purports to be UTF-8.
|
||
|
||
* LaTeX reader: Handle `\subtitle` command (a subtitle is added
|
||
to the title, after a colon and linebreak). Closes #280.
|
||
|
||
* Leaner `reference.odt`.
|
||
|
||
* Added unexported module `Text.Pandoc.MIME` for use in
|
||
the ODT writer.
|
||
|
||
* ODT writer: Construct `manifest.xml` based on archive contents.
|
||
This fixes a bug in ODTs containing images. Recent versions of
|
||
LibreOffice would reject these as corrupt, because `manifest.xml`
|
||
did not contain a reference to the image files.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Make verbatim environments flush to avoid spurious
|
||
blank lines. Closes #277.
|
||
+ Use `\texttt` and escapes insntead of `\verb!...!`, which
|
||
is too fragile (doesn't work in command arguments).
|
||
+ Use `\enquote{}` for quotes if the template includes
|
||
the `csquotes` package. This provides better support for
|
||
local quoting styles. (Thanks to Andreas Wagner for the idea.)
|
||
|
||
* ConTeXt writer: Make `\starttyping`/`\stoptyping` flush with
|
||
margin, preventing spurious blank lines.
|
||
|
||
* Slidy writer:
|
||
|
||
+ Use non-minimized version of `slidy.css` with `--offline`
|
||
option, so users can more easily edit it.
|
||
+ Also fixed a bug in the CSS that prevented proper centering
|
||
of title (now reported and fixed upstream).
|
||
|
||
* S5 writer:
|
||
|
||
+ Replaced `s5/default/slides.js.{comment,packed}` with
|
||
new compressed `s5/default/slides.min.js`.
|
||
+ Use `data:` protocol to embed S5 CSS in `<link>` tags,
|
||
when `--offline` is specified. Using inline CSS didn't
|
||
work with Chrome or Safari. This fixes offline
|
||
S5 on those browsers.
|
||
|
||
* HTML writer: Removed English title on footnote backlinks.
|
||
This is incongrous in non-English documents.
|
||
|
||
* Docbook writer:
|
||
|
||
+ Use CALS tables. (Some older docbook software does not work
|
||
well with XHTML tables.) Closes #77.
|
||
+ Use `programlisting` tags (instead of `screen`) for code blocks.
|
||
|
||
* `markdown2pdf`:
|
||
|
||
+ Calls latex with `-halt-on-error -interaction nonstopmode` instead
|
||
of `-interaction=batchmode`, which essentially just ignored errors,
|
||
leading to bad results. Better to know when something is wrong.
|
||
+ Fixed issues with non-UTF-8 output of `pdflatex`.
|
||
+ Better error reporting.
|
||
|
||
* `--mathjax` now takes an optional URL argument. If it is not
|
||
provided, pandoc links directly to the (secure) mathjax CDN,
|
||
as now recommended (thanks to dsanson).
|
||
|
||
* Deprecated `--xetex` option in `pandoc`. It is no longer needed,
|
||
since the LaTeX writer now produces a file that can be processed by
|
||
`latex`, `pdflatex`, `lualatex`, or `xelatex`.
|
||
|
||
* Introduced `--luatex` option to `markdown2pdf`. This causes `lualatex`
|
||
to be used to create the PDF.
|
||
|
||
* If a template specified with `--template` is not found, look for it
|
||
in `datadir`. Also, if no extension is provided, supply one based
|
||
on the writer. So now you can put your `special.latex` template in
|
||
`~/.pandoc/templates`, and use it from any directory via
|
||
`pandoc -t latex --template special`.
|
||
|
||
* Default template improvements:
|
||
|
||
+ HTML: Display author and date after title.
|
||
+ HTML: Made table of contents more customizable. The container
|
||
for the TOC is now in the template, so users can insert a header
|
||
or other styling. (Thanks to Bruce D'Arcus for the suggestion.)
|
||
+ HTML, Slidy, S5: Enclose scripts in CDATA tags.
|
||
+ Slidy, S5: Added `s5-url` and `slidy-url` variables, instead of
|
||
hard-coding. If you want to put your slidy files in the slidy
|
||
subdirectory, for example, you can do
|
||
`pandoc -t slidy -V slidy-url=slidy -s`.
|
||
+ LaTeX: Use `\and` to separate authors in LaTeX documents (reader
|
||
& writer). Closes #279.
|
||
+ LaTeX: Use different `hyperref` options for `xetex`, fixing
|
||
problems with unicode bookmarks (thanks to CircleCode).
|
||
+ LaTeX: Removed `ucs` package, use `utf8` rather than `utf8x`
|
||
with `inputenc`. This covers fewer characters but is more
|
||
robust with other packages, and `ucs` is unmaintained. Users
|
||
who need better unicode support should use xelatex or lualatex.
|
||
|
||
pandoc (1.8.1.2)
|
||
|
||
* Added `--epub-cover-image` option.
|
||
|
||
* Documented `--biblatex` and `--natbib` options.
|
||
|
||
* Allow `--section-divs` with slidy output. Resolves Issue #296.
|
||
|
||
* Disallow notes within notes in reST and markdown.
|
||
These previously caused infinite looping and stack overflows.
|
||
For example:
|
||
|
||
[^1]
|
||
|
||
[^1]: See [^1]
|
||
|
||
Note references are allowed in reST notes, so this isn't a full
|
||
implementation of reST. That can come later. For now we need to
|
||
prevent the stack overflows. Partially resolves Issue #297.
|
||
|
||
* EPUB writer: Allow non-plain math methods.
|
||
|
||
* Forbid ()s in citation item keys. Resolves Issue #304: problems with
|
||
`(@item1; @item2)` because the final paren was being parsed as part of
|
||
the item key.
|
||
|
||
* Changed URI parser so it doesn't include trailing punctuation.
|
||
So, in RST, `http://google.com.` should be parsed as a link followed by a
|
||
period. The parser is smart enough to recognize balanced parentheses, as
|
||
often occur in wikipedia links: `http://foo.bar/baz_(bam)`.
|
||
|
||
* Markdown+lhs reader: Require space after inverse bird tracks, so that
|
||
HTML tags can be used freely at the left margin of a markdown+lhs document.
|
||
Thanks to Conal Elliot for the suggestion.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Improved emph/strong parsing; fixes bug found by Perry Wagle.
|
||
+ Fixed bug in footnote order (reported by CircleCode).
|
||
|
||
* RST reader:
|
||
+ Fixed bug in in field lists with multi-line items at the
|
||
end of the list.
|
||
+ Added parentheses to RST `specialChars`, so
|
||
`(http://google.com)` will be parsed as a link in parens.
|
||
Resolves Issue #291.
|
||
+ Allow `|` followed by newline in RST line block.
|
||
|
||
* LaTeX reader:
|
||
+ Support `\dots`.
|
||
+ Gobble option & space after linebreak `\\[10pt]`.
|
||
|
||
* Textile reader:
|
||
+ Make it possible to have colons after links. (qerub)
|
||
+ Make it possible to have colons after links. (Christoffer Sawicki)
|
||
|
||
* HTML reader:
|
||
+ Skip spaces after `<b>`, `<emph>`, etc.
|
||
+ Handle tbody, thead in simple tables. Closes #274.
|
||
+ Implicit `Para`s instead of `Plains` in some contexts.
|
||
|
||
* OpenDocument writer: Use special `First paragraph` style for
|
||
first paragraph after most non-paragraph blocks. This allows users to
|
||
specify e.g. that only paragraphs after the first paragraph of a block are
|
||
to be indented. Thanks to Andrea Rossato for the patch. Closes #20.
|
||
|
||
* LaTeX writer: use `deVerb` on table and picture captions.
|
||
Otherwise LaTeX complains about `\verb` inside command argument.
|
||
Thanks to bbanier for reporting the bug.
|
||
|
||
* Markdown writer: Insert HTML comment btw list and indented code block.
|
||
This prevents the code block from being interpreted as part of the list.
|
||
|
||
* EPUB writer: Add a meta element specify the cover.
|
||
Some EPUB e-readers, such as the Nook, require a meta element inside the
|
||
OPF metadata block to ensure the cover image is properly displayed.
|
||
(Kelsey Hightower)
|
||
|
||
* HTML writer: Use embed tag for images with non-image extensions.
|
||
(e.g. PDFs). Closes #264.
|
||
|
||
* LaTeX writer: Improved tables.
|
||
|
||
+ More space between lines, top-align cells.
|
||
+ Use ctable package, which allows footnotes and
|
||
provides additional options.
|
||
+ Made cell alignments work in multiline tables.
|
||
+ Closes #271, #272.
|
||
|
||
* Un-URI-escape image filenames in LaTeX, ConTeXt, RTF, Texinfo.
|
||
Also do this when copying image files into EPUBs and ODTs.
|
||
Closes #263.
|
||
|
||
* Changed to github issue tracker.
|
||
|
||
* Added failing emph/strong markdown test case due to Perry Wagle.
|
||
|
||
* Slidy improvements:
|
||
+ Updated to use Slidy2.
|
||
+ Fixed bug, unclosed div tag.
|
||
+ Added `duration` variable in template.
|
||
Setting this activates the timer.
|
||
+ Use 'titlepage' instead of 'cover' for title div.
|
||
|
||
pandoc (1.8.1.1)
|
||
|
||
* `markdown2pdf`: Removed some debugging lines accidentally included
|
||
in the 1.8.1 release. With those lines, the temp directory is created
|
||
in the working directory, and it is not deleted. This fix restores
|
||
the original behavior.
|
||
|
||
pandoc (1.8.1)
|
||
|
||
* Added `--ascii` option. Currently supported only in HTML writer,
|
||
which it causes to use numerical entities instead of UTF-8.
|
||
|
||
* EPUB writer: `--toc` now works to provide a table of contents
|
||
at the beginning of each chapter.
|
||
|
||
* LaTeX writer: Change figure defaults to `htbp`.
|
||
This prevents "too many unprocessed floats." Resolves
|
||
Issue #285.
|
||
|
||
* `Text.Pandoc.UTF8`: Encode filenames even when using recent
|
||
base.
|
||
|
||
* `markdown2pdf`: Fixed filename encoding issues. With help from Paulo
|
||
Tanimoto. Resolves Issue #286.
|
||
|
||
* HTML writer: Put line breaks in section divs.
|
||
|
||
* `Text.Pandoc.Shared`: Make `writerSectionDivs` default to False.
|
||
|
||
pandoc (1.8.0.3)
|
||
|
||
* Fixed Source-repository stanza in cabal file.
|
||
|
||
pandoc (1.8.0.2)
|
||
|
||
* HTML writer:
|
||
|
||
+ Stringify alt text instead of converting to HTML.
|
||
+ Break lines after block elements, not inside tags.
|
||
HTML output now closely resembles that of tidy. Resolves Issue #134.
|
||
|
||
* Markdown reader: Fixed bug in footnote block parser (pointed out
|
||
by Jesse Rosenthal). The problem arose when the blank line
|
||
at the end of a footnote block contained indenting spaces.
|
||
|
||
* Shared: Improved 'normalize' function so it normalizes Spaces too.
|
||
In normal form, Space elements only occur to separate two non-Space
|
||
elements. So, we never have [Space], or [, ..., Space].
|
||
|
||
* Tests:
|
||
|
||
+ Improved Arbitrary instance.
|
||
+ Added timeout for test instances.
|
||
|
||
* README:
|
||
|
||
+ Added section on four-space rule for lists. Resolves Issue #283.
|
||
+ Clarified optional arguments on math options.
|
||
|
||
* markdown2pdf: Fixed bug with output file extensions.
|
||
Previously `markdown2pdf test.txt -o test.en.pdf` would produce
|
||
`test.pdf`, not `test.en.pdf`. Thanks to Paolo Tanimoto for the fix.
|
||
|
||
pandoc (1.8.0.1)
|
||
|
||
* Revised Interact.hs so that it works with the CPP macros
|
||
in the UTF8 module.
|
||
|
||
* Revised Setup.hs so that we don't call MakeManPage.hs unless
|
||
the man pages are out of date.
|
||
|
||
pandoc (1.8)
|
||
|
||
[new features]
|
||
|
||
* Support for citations using Andrea Rossato's `citeproc-hs` 0.3.
|
||
You can now write, for example,
|
||
|
||
Water is wet [see @doe99, pp. 33-35; also @smith04, ch. 1].
|
||
|
||
and, when you process your document using `pandoc`, specifying
|
||
a citation style using `--csl` and a bibliography using `--bibliography`,
|
||
the citation will be replaced by an appropriately formatted
|
||
citation, and a list of works cited will be added to the end
|
||
of the document.
|
||
|
||
This means that you can switch effortlessly between different citation
|
||
and bibliography styles, including footnote, numerical, and author-date
|
||
formats. The bibliography can be in any of the following formats: MODS,
|
||
BibTeX, BibLaTeX, RIS, EndNote, EndNote XML, ISI, MEDLINE, Copac, or JSON.
|
||
See the README for further details.
|
||
|
||
Citations are supported in the markdown reader, using a special
|
||
syntax, and in the LaTeX reader, using natbib or biblatex syntax.
|
||
(Thanks to Nathan Gass for the natbib and biblatex support.)
|
||
|
||
* New `textile` reader and writer. Thanks to Paul Rivier for contributing
|
||
the `textile` reader, an almost complete implementation of the textile
|
||
syntax used by the ruby [RedCloth library](http://redcloth.org/textile).
|
||
Resolves Issue #51.
|
||
|
||
* New `org` writer, for Emacs Org-mode, contributed by Puneeth Chaganti.
|
||
|
||
* New `json` reader and writer, for reading and writing a JSON
|
||
representation of the native Pandoc AST. These are much faster
|
||
than the `native` reader and writer, and should be used for
|
||
serializing Pandoc to text. To convert between the JSON representation
|
||
and native Pandoc, use `encodeJSON` and `decodeJSON` from
|
||
`Text.JSON.Generic`.
|
||
|
||
* A new `jsonFilter` function in `Text.Pandoc` makes it easy
|
||
to write scripts that transform a JSON-encoded pandoc document.
|
||
For example:
|
||
|
||
-- removelinks.hs - removes links from document
|
||
import Text.Pandoc
|
||
main = interact $ jsonFilter $ bottomUp removeLink
|
||
where removeLink (Link xs _) = Emph xs
|
||
removeLink x = x
|
||
|
||
To use this to remove links while translating markdown to LaTeX:
|
||
|
||
pandoc -t json | runghc removelinks.hs | pandoc -f json -t latex
|
||
|
||
* Attributes are now allowed in inline `Code` elements, for example:
|
||
|
||
In this code, `ulist ! [theclass "special"] << elts`{.haskell} is...
|
||
|
||
The attribute syntax is the same as for delimited code blocks.
|
||
`Code` inline has an extra argument place for attributes, just like
|
||
`CodeBlock`. Inline code will be highlighted in HTML output, if pandoc
|
||
is compiled with highlighting support. Resolves Issue #119.
|
||
|
||
* New `RawBlock` and `RawInline` elements (replacing `RawHtml`,
|
||
`HtmlInline`, and `TeX`) provide lots of flexibility in writing
|
||
scripts to transform Pandoc documents. Scripts can now change
|
||
how each element is rendered in each output format.
|
||
|
||
* You can now define LaTeX macros in markdown documents, and pandoc
|
||
will apply them to TeX math. For example,
|
||
|
||
\newcommand{\plus}[2]{#1 + #2}
|
||
$\plus{3}{4}$
|
||
|
||
yields `3+4`. Since the macros are applied in the reader, they
|
||
will work in every output format, not just LaTeX.
|
||
|
||
* LaTeX macros can also be used in LaTeX documents (both in math
|
||
and in non-math contexts).
|
||
|
||
* A new `--mathjax` option has been added for displaying
|
||
math in HTML using MathJax. Resolves issue #259.
|
||
|
||
* Footnotes are now supported in the RST reader. (Note, however,
|
||
that unlike docutils, pandoc ignores the numeral or symbol used in
|
||
the note; footnotes are put in an auto-numbered ordered list.)
|
||
Resolves Issue #258.
|
||
|
||
* A new `--normalize` option causes pandoc to normalize the AST
|
||
before writing the document. This means that, for example,
|
||
`*hi**there*` will be rendered as `<em>hithere</em>`
|
||
instead of `<em>hi</em><em>there</em>`. This is not the default,
|
||
because there is a significant performance penalty.
|
||
|
||
* A new `--chapters` command-line option causes headers
|
||
in DocBook, LaTeX, and ConTeXt to start with "chapter" (level one).
|
||
Resolves Issue #265.
|
||
|
||
* In DocBook output, `<chapter>` is now used for top-level
|
||
headers if the template contains `<book>`. Resolves Issue #265.
|
||
|
||
* A new `--listings` option in `pandoc` and `markdown2pdf` causes
|
||
the LaTeX writer to use the listings package for code blocks.
|
||
(Thanks to Josef Svennigsson for the pandoc patch, and Etienne
|
||
Millon for the markdown2pdf patch.)
|
||
|
||
* `markdown2pdf` now supports `--data-dir`.
|
||
|
||
* URLs in autolinks now have class "url" so they can be styled.
|
||
|
||
* Improved prettyprinting in most formats. Lines will be wrapped
|
||
more evenly and duplicate blank lines avoided.
|
||
|
||
* New `--columns` command-line option sets the column width for
|
||
line wrapping and relative width calculations for tables.
|
||
|
||
* Made `--smart` work in HTML, RST, and Textile readers, as well
|
||
as markdown.
|
||
|
||
* Added `--html5` option for HTML5 output.
|
||
|
||
* Added support for listings package in LaTeX reader
|
||
(Puneeth Chaganti).
|
||
|
||
* Added support for simple tables in the LaTeX reader.
|
||
|
||
* Added support for simple tables in the HTML reader.
|
||
|
||
* Significant performance improvements in many readers and writers.
|
||
|
||
[API and program changes]
|
||
|
||
* Moved `Text.Pandoc.Definition` from the `pandoc` package to a new
|
||
auxiliary package, `pandoc-types`. This will make it possible for other
|
||
programs to supply output in Pandoc format, without depending on the whole
|
||
pandoc package.
|
||
|
||
* Added `Attr` field to `Code`.
|
||
|
||
* Removed `RawHtml`, `HtmlInline`, and `TeX` elements; added generic
|
||
`RawBlock` and `RawInline`.
|
||
|
||
* Moved generic functions to `Text.Pandoc.Generic`. Deprecated
|
||
`processWith`, replacing it with two functions, `bottomUp` and `topDown`.
|
||
Removed previously deprecated functions `processPandoc` and `queryPandoc`.
|
||
|
||
* Added `Text.Pandoc.Builder`, for building `Pandoc` structures.
|
||
|
||
* `Text.Pandoc` now exports association lists `readers` and `writers`.
|
||
|
||
* Added `Text.Pandoc.Readers.Native`, which exports `readNative`.
|
||
`readNative` can now read full pandoc documents, block lists, blocks,
|
||
inline lists, or inlines. It will interpret `Str "hi"`
|
||
as if it were `Pandoc (Meta [] [] []) [Plain [Str "hi"]]`.
|
||
This should make testing easier.
|
||
|
||
* Removed deprecated `-C/--custom-header` option.
|
||
Use `--template` instead.
|
||
|
||
* `--biblio-file` has been replaced by `--bibliography`.
|
||
`--biblio-format` has been removed; pandoc now guesses the format
|
||
from the file extension (see README).
|
||
|
||
* pandoc will treat an argument as a URI only if it has an
|
||
`http(s)` scheme. Previously pandoc would treat some
|
||
Windows pathnames beginning with `C:/` as URIs.
|
||
|
||
* The `--sanitize-html` option and the `stateSanitize` field in
|
||
`ParserState` have been removed. Sanitization is better done in the
|
||
resulting HTML using `xss-sanitize`, which is based on pandoc's
|
||
sanitization, but improved.
|
||
|
||
* pandoc now adds a newline to the end of its output in fragment
|
||
mode (= not `--standalone`).
|
||
|
||
* Added support for `lang` in `html` tag in the HTML template,
|
||
so you can do `pandoc -s -V lang=es`, for example.
|
||
|
||
* `highlightHtml` in `Text.Pandoc.Highlighting` now takes
|
||
a boolean argument that selects between "inline" and
|
||
"block" HTML.
|
||
|
||
* `Text.Pandoc.Writers.RTF` now exports `rtfEmbedImage`.
|
||
Images are embedded in RTF output when possible (png, jpeg).
|
||
Resolves Issue #275.
|
||
|
||
* Added `Text.Pandoc.Pretty`. This is better suited for pandoc than the
|
||
`pretty` package. Changed all writers that used
|
||
`Text.PrettyPrint.HughesPJ` to use `Text.Pandoc.Pretty` instead.
|
||
|
||
* Rewrote `writeNative` using the new prettyprinting module. It is
|
||
now much faster. The output has been made more consistent and compressed.
|
||
`writeNative` is also now sensitive to writerStandalone`, and will simply
|
||
`print a block list if writerStandalone` is False.
|
||
|
||
* Removed `Text.Pandoc.Blocks`. `Text.Pandoc.Pretty` allows you to define
|
||
blocks and concatenate them, so a separate module is no longer needed.
|
||
|
||
* `Text.Pandoc.Shared`:
|
||
|
||
+ Added `writerColumns`, `writerChapters`, and `writerHtml5` to
|
||
`WriterOptions`.
|
||
+ Added `normalize`.
|
||
+ Removed unneeded prettyprinting functions:
|
||
`wrapped`, `wrapIfNeeded`, `wrappedTeX`, `wrapTeXIfNeeded`, `hang'`,
|
||
`BlockWrapper`, `wrappedBlocksToDoc`.
|
||
+ Made `splitBy` take a test instead of an element.
|
||
+ Added `findDataFile`, refactored `readDataFile`.
|
||
+ Added `stringify`. Rewrote `inlineListToIdentifier` using `stringify`.
|
||
+ Fixed `inlineListToIdentifier` to treat '\160' as ' '.
|
||
|
||
* `Text.Pandoc.Readers.HTML`:
|
||
|
||
+ Removed `rawHtmlBlock`, `anyHtmlBlockTag`, `anyHtmlInlineTag`,
|
||
`anyHtmlTag`, `anyHtmlEndTag`, `htmlEndTag`, `extractTagType`,
|
||
`htmlBlockElement`, `htmlComment`
|
||
+ Added `htmlTag`, `htmlInBalanced`, `isInlineTag`, `isBlockTag`,
|
||
`isTextTag`
|
||
|
||
* Moved `smartPunctuation` from `Text.Pandoc.Readers.Markdown`
|
||
to `Text.Pandoc.Readers.Parsing`, and parameterized it with
|
||
an inline parser.
|
||
|
||
* Added `nonspaceChar` to `Text.Pandoc.Parsing`.
|
||
|
||
* Ellipses are no longer allowed to contain spaces.
|
||
Previously we allowed '. . .', ' . . . ', etc. This caused
|
||
too many complications, and removed author's flexibility in
|
||
combining ellipses with spaces and periods.
|
||
|
||
* Allow linebreaks in URLs (treat as spaces). Also, a string of
|
||
consecutive spaces or tabs is now parsed as a single space. If you have
|
||
multiple spaces in your URL, use `%20%20`.
|
||
|
||
* `Text.Pandoc.Parsing`:
|
||
|
||
+ Removed `refsMatch`.
|
||
+ Hid `Key` constructor.
|
||
+ Removed custom `Ord` and `Eq` instances for `Key`.
|
||
+ Added `toKey` and `fromKey` to convert between `Key` and `[Inline]`.
|
||
+ Generalized type on `readWith`.
|
||
|
||
* Small change in calculation of relative widths of table columns.
|
||
If the size of the header > the specified column width, use
|
||
the header size as 100% for purposes of calculating
|
||
relative widths of columns.
|
||
|
||
* Markdown writer now uses some pandoc-specific features when `--strict`
|
||
is not specified: `\` newline is used for a hard linebreak instead of
|
||
two spaces then a newline. And delimited code blocks are used when
|
||
there are attributes.
|
||
|
||
* HTML writer: improved gladTeX output by setting ENV appropriately
|
||
for display or inline math (Jonathan Daugherty).
|
||
|
||
* LaTeX writer: Use `\paragraph`, `\subparagraph` for level 4,5 headers.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ `\label{foo}` and `\ref{foo}` now become `{foo}` instead of `(foo)`.
|
||
+ `\index{}` commands are skipped.
|
||
|
||
* Added `fontsize` variable to default LaTeX template.
|
||
This makes it easy to set the font size using `markdown2pdf`:
|
||
`markdown2pdf -V fontsize=12pt input.txt`.
|
||
|
||
* Fixed problem with strikeout in LaTeX headers when using
|
||
hyperref, by adding a command to the default LaTeX template
|
||
that disables `\sout` inside pdf strings. Thanks to Joost Kremers
|
||
for the fix.
|
||
|
||
* The `COLUMNS` environment variable no longer has any effect.
|
||
|
||
[under-the-hood improvements]
|
||
|
||
* Pandoc now compiles with GHC 7. (This alone leads to a
|
||
significant performance improvement, 15-20%.)
|
||
|
||
* Completely rewrote HTML reader using tagsoup as a lexer. The
|
||
new reader is faster and more accurate. Unlike the
|
||
old reader, it does not get bogged down on some input
|
||
(Issues #277, 255). And it handles namespaces in tags
|
||
(Issue #274).
|
||
|
||
* Replaced `escapeStringAsXML` with a faster version.
|
||
|
||
* Rewrote `spaceChar` and some other parsers in Text.Pandoc.Parsing
|
||
for a significant performance boost.
|
||
|
||
* Improved performance of all readers by rewriting parsers.
|
||
|
||
* Simplified Text.Pandoc.CharacterReferences by using
|
||
entity lookup functions from TagSoup.
|
||
|
||
* `Text.Pandoc.UTF8` now uses the unicode-aware IO functions
|
||
from `System.IO` if base >= 4.2. This gives support for
|
||
windows line endings on windows.
|
||
|
||
* Remove duplications in documentation by generating the
|
||
pandoc man page from README, using `MakeManPage.hs`.
|
||
|
||
* README now includes a full description of markdown syntax,
|
||
including non-pandoc-specific parts. A new `pandoc_markdown`
|
||
man page is extracted from this, so you can look up markdown
|
||
syntax by doing `man pandoc_markdown`.
|
||
|
||
* Completely revised test framework (with help from Nathan Gass).
|
||
The new test framework is built when the `tests` Cabal flag is set. It
|
||
includes the old integration tests, but also some new unit and quickcheck
|
||
tests. Test output has been much improved, and you can now specify a glob
|
||
pattern after `cabal test` to indicate which tests should be run;
|
||
for example `cabal test citations` will run all the citation tests.
|
||
|
||
* Added a shell script, `stripansi.sh`, for filtering ANSI control
|
||
sequences from test output: `cabal test | ./stripansi.sh > test.log`.
|
||
|
||
* Added `Interact.hs` to make it easier to use ghci while developing.
|
||
`Interact.hs` loads `ghci` from the `src` directory, specifying
|
||
all the options needed to load pandoc modules (including
|
||
specific package dependencies, which it gets by parsing
|
||
dist/setup-config).
|
||
|
||
* Added `Benchmark.hs`, testing all readers + writers using criterion.
|
||
|
||
* Added `stats.sh`, to make it easier to collect and archive
|
||
benchmark and lines-of-code stats.
|
||
|
||
* Added upper bounds to all cabal dependencies.
|
||
|
||
* Include man pages in extra-source-files. This allows users to
|
||
install pandoc from the tarball without needing to build the man
|
||
pages.
|
||
|
||
[bug fixes]
|
||
|
||
* Filenames are encoded as UTF8. Resolves Issue #252.
|
||
|
||
* Handle curly quotes better in `--smart` mode. Previously, curly quotes
|
||
were just parsed literally, leading to problems in some output formats.
|
||
Now they are parsed as `Quoted` inlines, if `--smart` is specified.
|
||
Resolves Issue #270.
|
||
|
||
* Text.Pandoc.Parsing: Fixed bug in grid table parser.
|
||
Spaces at end of line were not being stripped properly,
|
||
resulting in unintended LineBreaks.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Allow HTML comments as inline elements in markdown.
|
||
So, `aaa <!-- comment --> bbb` can be a single paragraph.
|
||
+ Fixed superscripts with links: `^[link](/foo)^` gets
|
||
recognized as a superscripted link, not an inline note followed by
|
||
garbage.
|
||
+ Fixed regression, making markdown reference keys case-insensitive again.
|
||
Resolves Issue #272.
|
||
+ Properly handle abbreviations (like `Mr.`) at the end of a line.
|
||
+ Better handling of intraword underscores, avoiding exponential
|
||
slowdowns in some cases. Resolves Issue #182.
|
||
+ Fixed bug in alignments in tables with blank rows in the header.
|
||
|
||
* RST reader:
|
||
|
||
+ Field lists now allow spaces in field names, and
|
||
block content in field values. (Thanks to Lachlan Musicman
|
||
for pointing out the bug.)
|
||
+ Definition list items are now always `Para` instead of
|
||
`Plain`, matching behavior of `rst2xml.py`.
|
||
+ In image blocks, the description is parsed properly and
|
||
used for the alt attribute, not also the title.
|
||
+ Skip blank lines at beginning of file. Resolves
|
||
Debian #611328.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Improved parsing of preamble.
|
||
Previously you'd get unexpected behavior on a document that
|
||
contained `\begin{document}` in, say, a verbatim block.
|
||
+ Allow spaces between `\begin` or `\end` and `{`.
|
||
+ Support `\L` and `\l`.
|
||
+ Skip comments inside paragraphs.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Escape strings in `\href{..}`.
|
||
+ In nonsimple tables, put cells in `\parbox`.
|
||
|
||
* OpenDocument writer: don't print raw TeX.
|
||
|
||
* Markdown writer:
|
||
|
||
+ Fixed bug in `Image`. URI was getting unescaped twice!
|
||
+ Avoid printing extra blank lines at the end if there are
|
||
no notes or references.
|
||
|
||
* LaTeX and ConTeXt: Escape `[` and `]` as `{[}` and `{]}`.
|
||
This avoids unwanted interpretation as an optional argument.
|
||
|
||
* ConTeXt writer: Fixed problem with inline code. Previously
|
||
`}` would be rendered `\type{}}`. Now we check the string for '}' and '{'.
|
||
If it contains neither, use `\type{}`; otherwise use `\mono{}`
|
||
with an escaped version of the string.
|
||
|
||
* `:` now allowed in HTML tags. Resolves Issue #274.
|
||
|
||
pandoc (1.6)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* New EPUB and HTML Slidy writers. (Issue #122)
|
||
|
||
- EPUB is a standard ebook format, used in Apple's iBooks for
|
||
the iPad and iPhone, Barnes and Noble's nook reader, the Sony
|
||
reader, and many other devices.
|
||
- Slidy, like S5, is a system for producing HTML+javascript slide
|
||
shows.
|
||
|
||
* All input is assumed to be UTF-8, no matter what the locale and ghc
|
||
version, and all output is UTF-8. This reverts to pre-1.5 behavior.
|
||
Also, a BOM, if present, is stripped from the input.
|
||
|
||
* Markdown now supports grid tables, whose cells can contain
|
||
arbitrary block elements. (Issue #43)
|
||
|
||
* Sequentially numbered example lists in markdown with `@` marker.
|
||
|
||
* Markdown table captions can begin with a bare colon and no longer need
|
||
to include the English word "table." Also, a caption can now occur
|
||
either before or after the table. (Issue #227)
|
||
|
||
* New command-line options:
|
||
|
||
- `--epub-stylesheet` allows you to specify a CSS file that will
|
||
be used to style your ebook.
|
||
- `--epub-metadata` allows you to specify metadata for the ebook.
|
||
- `--offline` causes the generated HTML slideshow to include all
|
||
needed scripts and stylesheets.
|
||
- `--webtex` causes TeX math to be converted to images using the
|
||
Google Charts API (unless a different URL is specified).
|
||
- `--section-divs` causes div tags to be added around each section
|
||
in an HTML document. (Issue #230, 239)
|
||
|
||
* Default behavior of S5 writer in standalone mode has changed:
|
||
previously, it would include all needed scripts and stylesheets
|
||
in the generated HTML; now, only links are included unless
|
||
the `--offline` option is used.
|
||
|
||
* Default behavior of HTML writer has changed. Between 1.2 and 1.5,
|
||
pandoc would enclose sections in div tags with identifiers on the
|
||
div tags, so that the sections can be manipulated in javascript.
|
||
This caused undesirable interactions with raw HTML div tags. So,
|
||
starting with 1.6, the default is to put the identifiers directly
|
||
on the header tags, and not to include the divs. The `--section-divs`
|
||
option selects the 1.2-1.5 behavior.
|
||
|
||
* API changes:
|
||
|
||
- `HTMLMathMethod`: Added `WebTeX`, removed `MimeTeX`.
|
||
- `WriterOptions`: Added `writerUserDataDir`, `writerSourceDirectory`,
|
||
`writerEPUBMetadata` fields. Removed `writerIncludeBefore`,
|
||
`writerIncludeAfter`.
|
||
- Added `headerShift` to `Text.Pandoc.Shared`.
|
||
- Moved parsing code and `ParserState` from `Text.Pandoc.Shared`
|
||
to a new module, `Text.Pandoc.Parsing`.
|
||
- Added `stateHasChapters` to `ParserState`.
|
||
- Added `HTMLSlideVariant`.
|
||
- Made `KeyTable` a map instead of an association list.
|
||
- Added accessors for `Meta` fields (`docTitle`, `docAuthors`,
|
||
`docDate`).
|
||
- `Pandoc`, `Meta`, `Inline`, and `Block` have been given `Ord`
|
||
instances.
|
||
- Reference keys now have a type of their own (`Key`), with its
|
||
own `Ord` instance for case-insensitive comparison.
|
||
- Added `Text.Pandoc.Writers.EPUB`.
|
||
- Added `Text.Pandoc.UUID`.
|
||
- Removed `Text.Pandoc.ODT`, added `Text.Pandoc.Writers.ODT`.
|
||
Removed `saveOpenDocumentAsODT`, added `writeODT`.
|
||
- Added `Text.Pandoc.Writers.Native` and `writeNative`.
|
||
Removed `prettyPandoc`.
|
||
- Added `Text.Pandoc.UTF8` for portable UTF8 string IO.
|
||
- Removed `Text.Pandoc.Writers.S5` and the `writeS5` function.
|
||
Moved `s5Includes` to a new module, `Text.Pandoc.S5`.
|
||
To write S5, you now use `writeHtml` with `writerSlideVariant`
|
||
set to `S5Slides` or `SlidySlides`.
|
||
|
||
* Template changes. If you use custom templates, please update them,
|
||
particularly if you use syntax highlighting with pandoc. The old HTML
|
||
templates hardcoded highlighting CSS that will no longer work with
|
||
the most recent version of highlighting-kate.
|
||
|
||
- HTML template: avoid empty meta tag if no date.
|
||
- HTML template: Use default highlighting CSS from highlighting-kate
|
||
instead of hard-coding the CSS into the template.
|
||
- HTML template: insert-before text goes before the title, and
|
||
immediately after the <body> tag, as documented. (Issue #241)
|
||
- Added slidy and s5 templates.
|
||
- Added amssymb to preamble of latex template. (github Issue 1)
|
||
|
||
* Removed excess newlines at the end of output. Note: because output
|
||
will not contain an extra newline, you may need to make adjustments
|
||
if you are inserting pandoc's output into a template.
|
||
|
||
* In S5 and slidy, horizontal rules now cause a new slide, so you
|
||
are no longer limited to one slide per section.
|
||
|
||
* Improved handling of code in man writer. Inline code is now monospace,
|
||
not bold, and code blocks now use .nf (no fill) and .IP (indented para).
|
||
|
||
* HTML reader parses `<tt>` as Code. (Issue #247)
|
||
|
||
* html+lhs output now contains bird tracks, even when compiled without
|
||
highlighting support. (Issue #242)
|
||
|
||
* Colons are now no longer allowed in autogenerated XML/HTML identifiers,
|
||
since they have a special meaning in XML.
|
||
|
||
* Code improvements in ODT writer. Remote images are now replaced with
|
||
their alt text rather than a broken link.
|
||
|
||
* LaTeX reader improvements:
|
||
|
||
- Made latex `\section`, `\chapter` parsers more forgiving of
|
||
whitespace.
|
||
- Parse `\chapter{}` in latex.
|
||
- Changed `rawLaTeXInline` to accept `\section`, `\begin`, etc.
|
||
- Use new `rawLaTeXInline'` in LaTeX reader, and export `rawLaTeXInline`
|
||
for use in markdown reader.
|
||
- Fixes bug wherein `\section{foo}` was not recognized as raw TeX
|
||
in markdown document.
|
||
|
||
* LaTeX writer: images are automatically shrunk if they would extend
|
||
beyond the page margin.
|
||
|
||
* Plain, markdown, RST writers now use unicode for smart punctuation.
|
||
|
||
* Man writer converts math to unicode when possible, as in other writers.
|
||
|
||
* `markdown2pdf` can now recognize citeproc options.
|
||
|
||
* Command-line arguments are converted to UTF-8. (Issue #234)
|
||
|
||
* `Text.Pandoc.TeXMath` has been rewritten to use texmath's parser.
|
||
This allows it to handle a wider range of formulas. Also, if a formula
|
||
cannot be converted, it is left in raw TeX; formulas are no longer
|
||
partially converted.
|
||
|
||
* Unicode curly quotes are left alone when parsing smart quotes. (Issue
|
||
#143)
|
||
|
||
* Cabal file changes:
|
||
|
||
- Removed parsec < 3 restriction.
|
||
- Added 'threaded' flag for architectures where GHC lacks a threaded
|
||
runtime.
|
||
- Use 'threaded' only for markdown2pdf; it is not needed for pandoc.
|
||
- Require highlighting-kate 0.2.7.
|
||
|
||
* Use explicit imports from `Data.Generics`. Otherwise we have a
|
||
conflict with the 'empty' symbol, introduced in syb >= 0.2. (Issue #237)
|
||
|
||
* New data files: slidy/slidy.min.js, slidy/slidy.min.css, epub.css.
|
||
|
||
pandoc (1.5.1.1)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Fixed uniqueIdent in Shared so that header identifiers work as
|
||
advertized in the README and are are valid XHTML names.
|
||
|
||
pandoc (1.5.1)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Fixed treatment of unicode characters in URIs.
|
||
+ Shared now exports escapeURI and unescapeURI. These handle
|
||
UTF8 encoding and decoding as well as URI escaping/unescaping.
|
||
+ Shared: uri and emailAddress now return a pair of the original
|
||
parsed text and the escaped URI (in the latter case, with
|
||
the mailto: prefix).
|
||
+ HTML reader: unsanitaryURI has been modified to allow unicode
|
||
high characters in a URI.
|
||
+ Readers: All link and image URIs are now escaped using
|
||
escapeURI.
|
||
+ Markdown and RST writers: unescapeURI is used so that URIs
|
||
in these formats are human-readable.
|
||
|
||
* Setup.hs: Don't assume that the build directory is "dist".
|
||
Instead, get it from localBuildInfo.
|
||
|
||
* OpenDocument writer: Use a Map for stTextStyleAttr.
|
||
This avoids duplicates (and invalid xml). Resolves Issue #222.
|
||
|
||
pandoc (1.5.0.1)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* HTML writer: Fixed error in math writer (with MathML option)
|
||
that caused an infinite loop for unparsable MathML.
|
||
|
||
pandoc (1.5)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Added --mathml option. When this is selected, pandoc will convert
|
||
TeX math into MathML.
|
||
+ Added data/MathMLinHTML.js, which is included when no URL is
|
||
provided for --mathml. This allows MathML to be displayed (in
|
||
better browsers) as text/html.
|
||
+ Removed Text.Pandoc.LaTeXMathML. The module was no longer
|
||
necessary; it was replaced by two lines in pandoc.hs.
|
||
+ Replaced LaTeXMathML.js.commend and LaTeXMathML.js.packed with a
|
||
single combined file, LaTeXMathML.js.
|
||
|
||
* Added --data-dir option.
|
||
This specifies a user data directory. If not specified, will default
|
||
to ~/.pandoc on unix or Application Data\pandoc on Windows.
|
||
Files placed in the user data directory will override system default
|
||
data files.
|
||
|
||
* Added Maybe datadir parameter to readDataFile, saveOpenDocumentAsODT,
|
||
latexMathMLScript, s5HeaderIncludes, and getDefaultTemplate. If
|
||
Nothing, no user directory is searched for an override.
|
||
|
||
* Added 'plain' output format. This is similar to markdown, but
|
||
removes links, pictures, inline formatting, and most anything that
|
||
looks even vaguely markupish. The function writePlain is exported by
|
||
Text.Pandoc.Writers.Markdown, with which it shares most of its code.
|
||
|
||
* Allow multi-line titles and authors in meta block.
|
||
Titles may span multiple lines, provided continuation lines
|
||
begin with a space character. Separate authors may be put on
|
||
multiple lines, provided each line after the first begins with
|
||
a space character. Each author must fit on one line. Multiple
|
||
authors on a single line may still be separated by a semicolon.
|
||
Based on a patch by Justin Bogner.
|
||
|
||
* When given an absolute URI as parameter, pandoc will try to fetch
|
||
the content via HTTP. So you can do:
|
||
'pandoc -r html -w markdown http://www.fsf.org'
|
||
Adds dependency on HTTP.
|
||
|
||
* Made HTML reader much more forgiving.
|
||
+ Incorporated idea (from HXT) that an element can be closed
|
||
by an open tag for another element.
|
||
+ Javascript is partially parsed to make sure that a <script>
|
||
section is not closed by a </script> in a comment or string.
|
||
+ More lenient non-quoted attribute values.
|
||
Now we accept anything but a space character, quote, or <>.
|
||
This helps in parsing e.g. www.google.com!
|
||
+ Bare & signs are now parsed as a string. This is a common
|
||
HTML mistake.
|
||
+ Skip a bare < in malformed HTML.
|
||
|
||
* Removed html2markdown and hsmarkdown.
|
||
+ html2markdown is no longer needed, since you can now pass URI
|
||
arguments to pandoc and directly convert web pages. (Note,
|
||
however, that pandoc assumes the pages are UTF8. html2markdown
|
||
made an attempt to guess the encoding and convert them.)
|
||
+ hsmarkdown is pointless -- a large executable that could be
|
||
replaced by 'pandoc --strict'.
|
||
|
||
* In most writers, an image in a paragraph by itself is now rendered
|
||
as a figure, with the alt text as the caption. (Texinfo, HTML, RST,
|
||
MediaWiki, Docbook, LaTeX, ConTeXt, HTML.) Other images are
|
||
rendered inline.
|
||
|
||
* Depend on extensible-exceptions. This allows pandoc to be compiled
|
||
on GHC 6.8.
|
||
|
||
* Added --base-header-level option. For example, --base-header-level=2
|
||
will change level 1 headers to level 2, level 2 to level 3, etc.
|
||
Closes Debian #563416.
|
||
|
||
* Incomplete support for RST tables (simple and grid).
|
||
Thanks to Eric Kow. Colspans and rowspans not yet supported.
|
||
|
||
* Added accessors (docTitle, docAuthors, docDate) to Meta type.
|
||
|
||
* MediaWiki writer: format links with relative URLs as wikilinks.
|
||
The new rule: If the link target is an absolute URL, an external
|
||
link is created. Otherwise, a wikilink is created.
|
||
|
||
* Text.Pandoc.Shared: Export uniqueIdent, and don't allow tilde in
|
||
identifier. Note: This may break links to sections that involve
|
||
tildes.
|
||
|
||
* Markdown(+lhs) reader: handle "inverse bird tracks."
|
||
Inverse bird tracks (<) are used for haskell example code that is not
|
||
part of the literate Haskell program. Resolves Issue #211.
|
||
|
||
* LaTeX reader:
|
||
+ Recognize '\ ' (interword space).
|
||
+ Recognize nonbreaking space '~'.
|
||
+ Ignore \section, \pdfannot, \pdfstringdef. Ignore alt title in
|
||
section headers. Don't treat \section as inline LaTeX.
|
||
Resolves Issue #202.
|
||
+ LaTeX reader: allow any special character to be escaped.
|
||
Resolves Issue #221.
|
||
+ LaTeX reader: treat \paragraph and \subparagraph as level 4, 5
|
||
headers. Resolves Issue #207.
|
||
|
||
* Use template variables for include-before/after.
|
||
+ These options now imply -s; previously they worked also in fragment
|
||
mode.
|
||
+ Users can now adjust position of include-before and include-after
|
||
text in the templates.
|
||
+ Default position of include-before moved back (as it was before 1.4)
|
||
before table of contents.
|
||
+ Resolves Issue #217.
|
||
|
||
* Don't print an empty table header: (all writers).
|
||
Resolves Issue #210.
|
||
|
||
* HTML, Docbook writer: Use tbody, thead, and cols in tables.
|
||
|
||
* HTML writer: Don't include TOC div if table of contents is empty.
|
||
|
||
* Markdown writer: Fixed citations.
|
||
Previously the markdown writer printed raw citation codes, e.g.
|
||
[geach1970], rather than the expanded citations provided by
|
||
citeproc, e.g. (Geach 1970). Now it prints the expanded citations.
|
||
This means that the document produced can be processed as a markdown
|
||
document without citeproc. Thanks to dsanson for reporting, and
|
||
Andrea Rossato for the patch.
|
||
|
||
* Improved and simplified title block in context template.
|
||
Previously it caused an error if there was no title.
|
||
This method should also be easier for users to customize.
|
||
|
||
* Markdown reader:
|
||
+ Treat p., pp., sec., ch., as abbreviations in smart mode.
|
||
+ Disallow blank lines in inline code span.
|
||
+ Allow footnotes to be indented < 4 spaces.
|
||
This fixes a regression. A test case has been added.
|
||
+ Escape spaces in URLs as %20. Previously they were incorrectly
|
||
escaped as +, which is appropriate only for the query part of
|
||
a URL. Resolves Issue #220.
|
||
+ Require two spaces after capital letter + period for list item.
|
||
Otherwise "E. coli" starts a list. This might change the semantics
|
||
of some existing documents, since previously the two-space
|
||
requirement was only enforced when the second word started
|
||
with a capital letter. But it is consistent with the existing
|
||
documentation and follows the principle of least surprise.
|
||
Resolves Issue #212.
|
||
|
||
* LaTeX template: redefine labelwidth when using enumerate package.
|
||
Otherwise the list labels (numbers) often extend past the left
|
||
margin, which looks bad.
|
||
|
||
* Mediawiki writer: Don't print a "== Notes ==" header before
|
||
references. This is too English-centric. Writers can provide their
|
||
own header at the end of the document.
|
||
|
||
* Promoted mediawiki headers. '= head =' is now level 1, '== head =='
|
||
level 2, etc. This seems to be correct; it's only by convention
|
||
that wikipedia articles have level 2 headers at most.
|
||
Patch due to Eric Kow.
|
||
|
||
* RunTests.hs: Set LANG to a UTF-8 locale. Use 'pandoc --data-dir=' so
|
||
data files don't need to have been installed. This removes the need to
|
||
set HOME.
|
||
|
||
* HTML reader:
|
||
+ Handle spaces before <html>. Resolves Issue #216.
|
||
+ Be forgiving in parsing a bare list within a list.
|
||
The following is not valid xhtml, but the intent is clear:
|
||
<ol>
|
||
<li>one</li>
|
||
<ol><li>sub</li></ol>
|
||
<li>two</li>
|
||
</ol>
|
||
We'll treat the <ol> as if it's in a <li>. Resolves Issue #215.
|
||
|
||
* Updated INSTALL instructions. cabal method is now promoted.
|
||
|
||
* Updated markdown2pdf man page. It no longer says all pandoc options
|
||
are accepted.
|
||
|
||
* README/man pages: Removed advice to pipe through tidy before HTML
|
||
reader. This is obsolete, now that we have a forgiving HTML parser.
|
||
|
||
* LaTeX writer: set numbersections template variable, so
|
||
the section numbering options work again.
|
||
|
||
* Removed obsolete Makefile.
|
||
|
||
* Website: renamed index.txt.in -> index.txt.
|
||
|
||
* New batch file to make-windows-installer.
|
||
+ Removed old Makefile.windows
|
||
+ Added make-windows-installer.bat
|
||
+ Modified default installer name in pandoc-setup.iss
|
||
|
||
* Removed freebsd and macports directories.
|
||
They are no longer up to date.
|
||
|
||
* Setup.hs:
|
||
+ Made man page building sensitive to build verbosity.
|
||
+ Improved detection of highlighting support in test hook.
|
||
+ Install wrapper scripts into cabal bin directory.
|
||
+ Also simplified installManpages.
|
||
+ Setup.hs: install manpages to mandir. Code borrowed from darcs.
|
||
|
||
* Changed default of writerXeTeX to False.
|
||
|
||
* HTML writer: don't include empty UL if --toc but no sections.
|
||
Resolves Issue #199.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ If book, report, or memoir documentclass, use \chapter{}
|
||
for first-level headers. Otherwise use \section{}.
|
||
+ Removed stLink, link template variable. Reason: we now always
|
||
include hyperref in the template.
|
||
|
||
* LaTeX template:
|
||
|
||
+ Only show \author if there are some.
|
||
+ Always include hyperref package. It is used not just for links but
|
||
for toc, section heading bookmarks, footnotes, etc. Also added
|
||
unicode=true on hyperref options.
|
||
|
||
* markdown2pdf: always do at least two runs. hyperref bookmarks
|
||
require this.
|
||
|
||
* cabal file: Removed unneeded dependency on template-haskell.
|
||
|
||
* Windows installer - fixed bug in data file locations.
|
||
Resolves Issue #197.
|
||
|
||
* Deprecated --custom-header in documentation.
|
||
Removed old "Custom Headers" section in README.
|
||
|
||
pandoc (1.4)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Pandoc will now compile with either GHC 6.10 or 6.12.
|
||
+ Don't use System.IO.UTF8 when compiling with 6.12
|
||
+ Use -fno-warn-unused-do-bind option when compiling with 6.12
|
||
|
||
* Replaced old headers with templates. Now users have much more
|
||
control over the way documents appear in --standalone mode,
|
||
and writer code is simplified. Resolves Issues #59, 147.
|
||
Every effort has been made to retain backwards compatibilty.
|
||
So, the --custom-header option should still work as before.
|
||
|
||
+ Added Text.Pandoc.Templates. This provides functions for
|
||
retrieving default templates and for rendering templates.
|
||
+ System templates (in the pandoc data directory) can be
|
||
overridden by user templates in $HOME/.pandoc/templates.
|
||
+ Removed Text.Pandoc.DefaultHeaders.
|
||
+ Removed data/headers directory.
|
||
+ Added templates directory.
|
||
+ Added writerTemplate and writerVariables fields to WriterOptions.
|
||
+ Removed writerTitlePrefix, writerHeader fields from WriterOptions.
|
||
+ Changed --print-default-header to --print-default-template.
|
||
+ Added --template option.
|
||
+ Added -V/--variable option to set custom template variables.
|
||
|
||
* Pandoc no longer requires Template Haskell. Resolves Issue #186.
|
||
|
||
+ Removed need for TH in ODT module. Instead get reference.odt from
|
||
data file at run time.
|
||
+ Removed TH dependency from S5 module. S5 module now exports
|
||
s5HeaderIncludes, which pandoc.hs includes if writer is s5 and
|
||
standalone.
|
||
+ Refactored LaTeXMathML not to use TH.
|
||
|
||
* Meta is now Meta [Inline] [[Inline]] [Inline] rather than
|
||
Meta [Inline] [String] String. Authors and date in Meta are now lists
|
||
of Inline elements rather than raw strings. This means that they can
|
||
be formatted and can include footnotes. NOTE: This may be a breaking
|
||
change for those using pandoc as a library.
|
||
|
||
* Added readDataFile to Text.Pandoc.Shared. This retrieves
|
||
a data file from the user pandoc data directory (~/.pandoc
|
||
on unix), or, if not found there, from the system data
|
||
directory ($CABALDIR/shared/pandoc-VERSION/). All data
|
||
files, including templates, LaTeXMathML.js, s5 styles,
|
||
and reference.odt, can be overridden by the user.
|
||
|
||
* s5 files moved from data/ui/default to s5/default.
|
||
|
||
* Use unicode instead of entities in HTML and XML output. Resolves
|
||
Issue #163.
|
||
|
||
* Prettier HTML footnote references: put anchor inside sup,
|
||
instead of other way. Resolves Issue #191. Thanks to
|
||
infinity0x.
|
||
|
||
* Added --xetex option to pandoc and markdown2pdf.
|
||
If --xetex is specified, pandoc produces latex suitable for
|
||
processing by xelatex, and markdown2pdf uses xelatex to create
|
||
the PDF. Resolves Issue #185.
|
||
|
||
* RTF writer: multiple authors now occupy multiple paragraphs rather
|
||
than using a line break.
|
||
|
||
* Man writer: now the "--after-body" will come after the "AUTHORS"
|
||
section, whereas before it would come before it. This is a
|
||
slight break from backwards compatibility.
|
||
|
||
* Added --reference-odt option, so users may customize the styles
|
||
used in pandoc-generated ODT files. Users may also place a
|
||
default reference.odt in the ~\.pandoc directory.
|
||
|
||
* ODT writer:
|
||
+ Indented and line-broke styles.xml so it can be modified more easily.
|
||
+ Omitted some unnecessary style declarations.
|
||
+ Don't wrap text in OpenDocument writer. The tags are too long, making
|
||
wrapping ugly and pointless.
|
||
|
||
* LaTeX reader: use \\ to separate multiple authors.
|
||
|
||
* Markdown reader: use ; as separator between authors.
|
||
This allows you to use ',' within author names: e.g. "John Jones, Jr."
|
||
|
||
* S5 writer: use linebreak to separate authors in title page.
|
||
|
||
* RST reader: Allow :: before lhs code block. The RST spec requires the
|
||
:: before verbatim blocks. This :: should not be treated as literal
|
||
colons. Resolves Issue #189.
|
||
|
||
* Documented pandoc 1.3's new definition list syntax in README.
|
||
(An oversight in the last release.)
|
||
|
||
* markdown2pdf.hs:
|
||
+ interpret ! in a log as an error line.
|
||
+ --toc now works properly.
|
||
|
||
* Changes in RunTests.hs:
|
||
+ Use the Diff library rather than a local copy of Diff.hs.
|
||
(This vastly increases performance.) This change means that 'cabal
|
||
test' presupposes that the Diff library is installed.
|
||
+ Removed tests/Diff.hs from cabal file.
|
||
+ Changed RunTests to use local environment. We need at least HOME, so
|
||
pandoc can find its data directory.
|
||
|
||
* Updated windows installer to install data files in the app directory.
|
||
|
||
* Windows installer now installs portable wrappers hsmarkdown and
|
||
markdown2pdf.
|
||
|
||
pandoc (1.3)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Added --id-prefix option (Issue #41). This adds a prefix to all
|
||
automatically generated HTML identifiers, which helps prevent
|
||
duplicate identifiers when you're generating a fragment (say a blog
|
||
post).
|
||
|
||
* Added --indented-code-classes option. This specifies classes
|
||
to use for indented code blocks. (Patch due to buttock; Issue #87.)
|
||
|
||
* --number-sections now affects HTML output as well as ConTeXt and LaTeX
|
||
(Issue #150).
|
||
|
||
* Improved syntax for markdown definition lists (Issue #24).
|
||
Definition lists are now more compatible with PHP Markdown Extra.
|
||
+ You can have multiple definitions for a term (but still not
|
||
multiple terms).
|
||
+ Multi-block definitions no longer need a column before each block
|
||
(indeed, this will now cause multiple definitions).
|
||
+ The marker no longer needs to be flush with the left margin,
|
||
but can be indented at or two spaces. Also, ~ as well as :
|
||
can be used as the marker (this suggestion due to David
|
||
Wheeler.)
|
||
+ There can now be a blank line between the term and the
|
||
definitions.
|
||
|
||
* Better looking simple tables. Resolves Issue #180.
|
||
+ Markdown reader: simple tables are now given column widths of 0.
|
||
+ Column width of 0 is interpreted as meaning: use default column width.
|
||
+ Writers now include explicit column width information only
|
||
for multiline tables. (Exception: RTF writer, which requires
|
||
column widths. In this case, columns are given equal widths,
|
||
adding up to the text width.)
|
||
+ Simple tables should now look better in most output formats.
|
||
|
||
* Allow markdown tables without headers (Issue #50).
|
||
The new syntax is described in README. Also allow optional line of
|
||
dashes at bottom of simple tables.
|
||
|
||
* Compensate for width of final table column (Issue #144).
|
||
|
||
* Treat a backslash followed by a newline as a hard line break
|
||
in markdown. Resolves Issue #154. This is a nice alternative
|
||
to markdown's "invisible" way of indicating hardline breaks
|
||
using lines that end with two spaces.
|
||
|
||
* Improved performance of markdown reader by ~10% by eliminating the
|
||
need for a separate parsing pass for notes. Raw notes are now stored
|
||
on the first pass (which parses references), then parsed when the
|
||
note is inserted into the AST. The stateNotes field in ParserState
|
||
is now a list of [(String, String)] pairs instead of [(String,
|
||
[Block])].
|
||
|
||
* In markdown reader, treat 4 or more * or _ in a row as literal
|
||
text. (Trying to parse long strings of * or _ as strong or emph
|
||
leads to exponential performance problems.)
|
||
|
||
* Markdown reader: Use + rather than %20 for spaces in URLs.
|
||
|
||
* Fixed htmlComment parser, adding a needed 'try'.
|
||
|
||
* Don't print raw HTML in man output.
|
||
|
||
* Allow . _ and ~ in header identifiers.
|
||
|
||
* Specially mark code blocks that were "literate" in the input.
|
||
They can then be treated differently in the writers. This allows
|
||
authors to distinguish bits of the literate program they are writing
|
||
from source code examples, even if the examples are marked as
|
||
Haskell for highlighting. (Issue #174.)
|
||
|
||
* Modified html+lhs output to use "haskell" highlighter instead
|
||
of "literateHaskell". The highlighting module now adds bird tracks
|
||
after highlighting (for HTML output), if the code block has the
|
||
"literate" class. This gives better results, because kate's
|
||
haskell highlighter is much better than the literateHaskell
|
||
highlighter.
|
||
|
||
* Fixed handling of footnotes in titles (HTML) and headers (LaTeX).
|
||
(Issue #137.)
|
||
|
||
* Support for "..code-block" directive in RST reader. Not core
|
||
RST, but used in Sphinx for code blocks annotated with syntax
|
||
information. Thanks to Luke Plant for the patch.
|
||
|
||
* Added "head" to list of block-level HTML tags. Resolves
|
||
Issue #108.
|
||
|
||
* Added stripTags to Text.Pandoc.XML. This is used in the HTML writer.
|
||
|
||
* Set utf-8 encoding in texinfo headers.
|
||
|
||
* Docbook writer: add ids to sections. Use link for internal links.
|
||
(Issue #60.)
|
||
|
||
* Blank lines after lists in MediaWiki writer.
|
||
|
||
* Properly handle commented-out list items in markdown.
|
||
Resolves Issue #142. Example:
|
||
|
||
- a
|
||
<!--
|
||
- b
|
||
-->
|
||
- c
|
||
|
||
* Changed heuristic in compactify. compactify has to decide whether a
|
||
Para that ends a list is a Para intentionally, or just because of
|
||
the blank lines at the end of every list. In the latter case the
|
||
Para is turned to a Plain. The old heuristic was: change final Para
|
||
to Plain iff the other items all end in Plain. This produces bad
|
||
results when, for example, an item contains just a Plain and an HTML
|
||
comment, as it does in the list above. The new heuristic: change
|
||
final Para to Plain iff the other items don't contain a Para.
|
||
|
||
* Added % as an rst underline character. Resolves Issue #173.
|
||
|
||
* Fix inline math parser so that \$ is allowed in math.
|
||
Resolves Issue #169.
|
||
|
||
* Translate \int (integral) into unicode when using unicode math
|
||
method. Resolves Issue #177.
|
||
|
||
* markdown2pdf.hs improvements:
|
||
+ Use System.IO.UTF8.
|
||
+ Print error messages on last attempt.
|
||
+ Do not create a backup when overwriting a PDF (Issue #166).
|
||
+ Accept --longopt=val options.
|
||
+ Added man/man1/markdown2pdf.1 to extra-tmp-files in cabal, so that
|
||
it is properly cleaned.
|
||
|
||
* Added haddock comments warning that readers assume \n line endings.
|
||
|
||
* Updated COPYRIGHT file.
|
||
|
||
* Makefile: Changed EXECSBASE so it doesn't pull in hsmarkdown &
|
||
markdown2pdf. Otherwise strip tries to strip shell scripts when you
|
||
install using 'make'.
|
||
|
||
* Changed Makefile so it doesn't build Haskell wrappers.
|
||
|
||
* Fixed Makefile so it doesn't try to build man pages in build-doc.
|
||
|
||
* Install pcre3.dll in Windows install script; this allows us to
|
||
package a version of pandoc with highlighting support.
|
||
|
||
pandoc (1.2.1)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Fixed regression with --preserveTabs. Brought back optPreserveTabs.
|
||
The trick of setting tabStop to 0 to mean "preserve tabs" had a bad
|
||
side effect: strings of 0 spaces were interpreted as indentation.
|
||
So, with --preserve-tabs, unindented paragraphs were treated as
|
||
code. Resolves Issue #138.
|
||
|
||
* HTML writer: wrap sections in divs. Resolves Issue #70.
|
||
|
||
+ hierarchicalize has been rationalized; it builds a hierarchical
|
||
representation of the document from the headers, and simultaneously
|
||
gives each section a unique identifier based on the heading title.
|
||
+ Identifiers are now attached to the divs rather than
|
||
to the headers themselves.
|
||
+ Table of content backlinks go to the beginning of the table, rather
|
||
than to the section reference that was clicked.
|
||
+ Code for constructing identifiers has been moved to Text.Pandoc.Shared
|
||
from the HTML writer, since it is now consumed only by
|
||
hierarchicalize.
|
||
+ In --strict mode, pandoc just prints bare headings, as before
|
||
(unless --toc has been specified).
|
||
+ In s5 output, it does not wrap sections in divs, as that seems to
|
||
confuse the s5 javascript.
|
||
|
||
* Man writer: break lines at end of each sentence. groff expects this
|
||
and treats '.' and '?' differently when followed by line ending as
|
||
opposed to ordinary space. Also, don't escape periods. Instead, use
|
||
zero-width character \& to avoid unwanted interpretation of periods
|
||
at start of line. Resolves Issue #148.
|
||
|
||
* Markdown writer: Added '#' and '>' to list of characters to be
|
||
escaped in markdown output. Removed '<', as it is not an officially
|
||
escapable character. This partially resolves Issue #96.
|
||
|
||
* Make --smart the default for man output format. Otherwise we have
|
||
trouble dividing lists of endlines into sentences.
|
||
|
||
* DocBook writer: Use language attribute to indicate source language
|
||
in code blocks.
|
||
|
||
* RST reader:
|
||
|
||
+ Allow # to continue list, even if the list was started with an
|
||
explicit marker. For example:
|
||
|
||
A. my list
|
||
#. continued
|
||
|
||
Resolves Issue #140.
|
||
+ Allow continuation lines in line blocks. Also added test cases for
|
||
line blocks for RST reader. Resolves Issue #149.
|
||
+ Allow explicit links with spaces in URL: `link <to this>`_
|
||
|
||
* Improved LaTeX reader's coverage of math modes. Remove displaymath*
|
||
(which is not in LaTeX) and recognize all the amsmath environments
|
||
that are alternatives to eqnarray, namely equation, equation*,
|
||
gather, gather*, gathered, multline, multline*, align, align*,
|
||
alignat, alignat*, aligned, alignedat, split. Resolves Issue #103.
|
||
Thanks to shreevatsa.public for the patch.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Allow -, _, :, . in markdown attribute names. These are legal in
|
||
XML attribute names.
|
||
+ Use non-breaking spaces in abbreviations.
|
||
+ Markdown reader: improved efficiency of abbreviation parsing.
|
||
Instead of a separate abbrev parser, we just check for
|
||
abbreviations each time we parse a string. This gives a huge
|
||
performance boost with -S. Resolves Issue #141.
|
||
|
||
* Improved efficiency of shared parsers: hexNum, htmlComment,
|
||
whitespace, indentSpaces.
|
||
|
||
* Export HTMLMathMethod in Text.Pandoc.
|
||
|
||
* Export languagesByExtension in Text.Pandoc.Highlighting.
|
||
|
||
* Added new Haskell version of markdown2pdf, due to
|
||
Paulo Tanimoto. This should be more portable than the old
|
||
shell script.
|
||
|
||
* Made 'pandoc -v' more explicit about compiler options.
|
||
Resolves Issue #139.
|
||
|
||
* pandoc.hs: Made --strict compatible with --standalone, --toc.
|
||
|
||
* Use Paths_pandoc to get version number, instead of hard-coding it
|
||
into Text/Pandoc.hs.
|
||
|
||
pandoc (1.2)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Added support for literate Haskell. lhs support is triggered by
|
||
'+lhs' suffixes in formats. For example, 'latex+lhs' is literate
|
||
Haskell LaTeX. '.lhs' files are treated by default as literate
|
||
markdown.
|
||
|
||
+ Added stateLiterateHaskell to parser state.
|
||
+ Added parser for lhsCodeBlock to Markdown, RST, LaTeX readers.
|
||
+ Added parser for |inline lhs| to LaTeX reader.
|
||
+ Added writerLiterateHaskell to WriterOptions.
|
||
+ Added lhs support to Markdown, RST, LaTeX, HTML writers.
|
||
+ Added definition of code environment to LaTeX header.
|
||
+ Added tests (run only if highlighting support compiled in).
|
||
+ Documented lhs features in man page and README.
|
||
|
||
* In Text.Pandoc.Definition, added processWith, processWithM,
|
||
and queryWith, and deprecated processPandoc and queryPandoc
|
||
for these more general functions.
|
||
|
||
* Fixed bug in mediawiki writer: improper closing tags in tables.
|
||
Thanks to Benct Philip Jonsson for reporting the bug.
|
||
|
||
* Added --email-obfuscation option.
|
||
|
||
+ Added writer option for email obfuscation.
|
||
+ Implemented email obfuscation options in HTML writer.
|
||
+ Added option to option parser.
|
||
+ Documented in README and pandoc man page.
|
||
+ Resolves Issue #97.
|
||
|
||
* LaTeX writer: fixed bug with empty table cells.
|
||
Resolves Issue #107. Thanks to rodja.trappe for the patch.
|
||
|
||
* Fixed bug with header spacing in Markdown and RST writers.
|
||
A null header (Meta [] [] []) should not cause a blank line
|
||
at the beginning of output. But a blank line is needed between
|
||
a non-null header and the main text.
|
||
|
||
* Markdown reader: Relax spacing rules for $$ in display math. Now
|
||
space and newlines are allowed after the opening $$ and before the
|
||
closing $$. However, the display math cannot contain an entirely
|
||
blank line. Resolves Issue #105.
|
||
|
||
* Markdown reader: Gobble space after Plain blocks containing only
|
||
raw html inline. Otherwise following header blocks are not parsed
|
||
correctly, since the parser sees blank space before them. Resolves
|
||
Issue #124.
|
||
|
||
* Markdown reader: Allow " as well as '' to end a latex double-quote.
|
||
|
||
* Conditionally depend on syb and base >= 4 if ghc >= 6.10.
|
||
Resolves Issue #109.
|
||
|
||
* Fixed problems in RST and markdown output due to bug in pretty-1.0.1.0
|
||
|
||
+ Added hang' function to Text.Pandoc.Shared; this will be used instead
|
||
of hang, which doesn't work properly in pretty-1.0.1.0. When pretty
|
||
is upgraded, we can go back to hang.
|
||
See http://article.gmane.org/gmane.comp.lang.haskell.general/16687
|
||
+ Use hang' (and some different techniques) in RST and markdown writers.
|
||
Some output is now a bit different.
|
||
|
||
* Brought citeproc support up to date for citeproc-hs-0.2.
|
||
(Patch by Andrea Rossato.)
|
||
|
||
* Moved all haskell source to src subdirectory. Renamed Main.hs to
|
||
pandoc.hs.
|
||
|
||
* Rewrote hsmarkdown in Haskell for portability (src/hsmarkdown.hs).
|
||
For now, keeping the old shell script too.
|
||
|
||
* Added TemplateHaskell to Extensions for executable, removed
|
||
-threaded for library. Thanks to duncan.coutts for the bug report.
|
||
Resolves Issue #121.
|
||
|
||
* Moved some Extra-Source-Files to Data-Files.
|
||
|
||
* Moved tabFilter to Shared.
|
||
|
||
* In pandoc.hs, removed optPreserveTabs; instead, tabstop of 0 means
|
||
preserve tabs.
|
||
|
||
* Minor code cleanup based on hlint suggestions.
|
||
|
||
pandoc (1.1)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Main.hs:
|
||
|
||
+ Changed date on copyright message in Main.hs.
|
||
+ Have the '-v' option print syntax highlighting languages
|
||
separated by commas, and wrapped in lines, instead of in five
|
||
columns as before.
|
||
|
||
* Added --jsmath option. Resolves Issue #68.
|
||
|
||
+ Added --jsmath option to Main.hs
|
||
+ Added JsMath to HTMLMathMethod in Text.Pandoc.Shared.
|
||
+ Handle math appropriately in HTML writer when JsMath selected.
|
||
+ Documented the option in README and man page.
|
||
|
||
* Text.Pandoc.Shared: Changed compactify to use a better heuristic
|
||
for tight and loose lists. Final Para is changed to Plain if all
|
||
other list items *end* with a Plain block. Addresses Issue #99.
|
||
|
||
* HTML reader:
|
||
|
||
+ Added colons to protocols in unsanitaryURI. Closes Issue #88.
|
||
+ HTML reader: Don't interpret contents of <pre> blocks as markdown.
|
||
Added rawVerbatimBlock parser. Resolves Issue #94.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Allow URLs with spaces in them in links and references, but escape
|
||
them as "%20".
|
||
+ Allow blank space at the end of horizontal rules.
|
||
|
||
* RST reader: Modified 'unknownDirective' parser to handle comment
|
||
blocks correctly, and added tests for comment blocks. Resolves Issue
|
||
#86. Closes Debian Bug #500662.
|
||
|
||
* HTML writer:
|
||
|
||
+ Include classes on tr elements in HTML output:
|
||
"header", "odd", "even". This allows tables to be styled with
|
||
lines in alternating colors. Resolves Issue #91.
|
||
+ Enclose all LaTeXMathML bits in <span class="LaTeX">.
|
||
This prevents parts of the document that are not math from being
|
||
interpreted as math by LaTeXMathML.js.
|
||
|
||
* OpenDocument and ODT writers: Added support for HorizontalRule elements,
|
||
which were formerly ignored. Resolves Issue #95.
|
||
|
||
* Text.Pandoc.Shared: Modified wrappedTeX to eliminate the line break
|
||
between a footnote and immediately following nonspace characters in
|
||
LaTeX and ConTeXt output. (This gets interpreted as a space, which
|
||
is not desired in cases like `text^[note]---`.) Resolves Issue #93.
|
||
|
||
* Windows installer: Don't require admin privileges to run
|
||
installer. Modified pandoc-setup.iss, and changed modpath.iss to
|
||
modify HKCU path if user lacks admin privileges. Also fixed case
|
||
where oldpath is empty (previously this led to the new path
|
||
beginning with a semicolon).
|
||
|
||
* Updated INSTALL instructions for Arch packages and OS X install using
|
||
cabal-install.
|
||
|
||
* Removed the (now unneeded) debian directory.
|
||
Removed empty Codec and System directories.
|
||
|
||
* Moved odt-styles/ to data/. Removed unneeded variable in Makefile.
|
||
|
||
* Modified Setup.hs so that the "test" target returns an error status
|
||
when tests fail, and "build" returns a success status if
|
||
the build succeeds. Resolves Issue #100.
|
||
|
||
* Added BUGS to files in tarball.
|
||
|
||
|
||
pandoc (1.0.0.1)
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Removed spurious reference to pdf output format from pandoc(1) man page.
|
||
|
||
pandoc (1.0)
|
||
|
||
[ Andrea Rossato ]
|
||
|
||
* Added new OpenDocument writer.
|
||
|
||
* Added support for SmallCaps inline element.
|
||
|
||
* Added support for integrating pandoc with citeproc-hs.
|
||
|
||
+ Added Cite element to definition and writers.
|
||
+ Added Text.Pandoc.Biblio module
|
||
+ Note: This support is included only if the 'citeproc'
|
||
Cabal configuration flag is set.
|
||
|
||
* Made Pandoc data structure an instance of Typeable.
|
||
Added new processPandoc and queryPandoc functions, to query
|
||
or transform matching elements in a Pandoc structure.
|
||
|
||
[ Peter Wang ]
|
||
|
||
* Added new Texinfo writer.
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Changes to Texinfo writer:
|
||
|
||
+ No space between paragraph and following @verbatim (provides more
|
||
pleasing appearance in text formats)
|
||
+ Blank line consistently after list environments.
|
||
+ Removed deVerb.
|
||
+ Use @code instead of @verb for inline code (this solves the character
|
||
escaping problem for texi2dvi and texi2pdf).
|
||
+ Added news of Texinfo writer to README.
|
||
+ Added Texinfo to list of formats in man page, and removed extra 'groff'.
|
||
+ Added texi & texinfo extensions to Main.hs, and fixed bug in determining
|
||
default output extension.
|
||
+ Modified disallowedInNode in Texinfo writer to correct list of disallowed characters.
|
||
|
||
* Added tests for OpenDocument writer.
|
||
|
||
* Added ODT writer (using zip-archive library to package output of
|
||
OpenDocument writer). Added odt-styles directory with default ODT styles.
|
||
|
||
* Added new mediawiki writer and tests.
|
||
|
||
* Markdown reader: Added support for delimited code blocks, with optional
|
||
syntax highlighting using highlighting-kate (if the 'highlighting'
|
||
configuration option is selected).
|
||
|
||
+ Currently highlighting is supported only in the HTML writer.
|
||
+ Delimited code blocks can have attributes; using the language name as
|
||
class triggers highlighting.
|
||
+ New Attributes parameter in CodeBlock structure.
|
||
+ --version now indicates whether syntax highlighting support is compiled
|
||
in, and prints a list of supported languages
|
||
|
||
* Removed debian directory. Pandoc is no longer a native debian package.
|
||
|
||
* Changes to build process: pandoc can now be built from the repository
|
||
using Cabal. No unix tools are needed (so, pandoc can be built on Windows
|
||
without Cygwin).
|
||
|
||
+ Include shell scripts themselves in repo, rather than generating from wrappers.
|
||
Removed wrappers directory and wrappers Makefile target.
|
||
+ Text/Pandoc/ASCIIMathML.hs, Text/Pandoc/DefaultHeaders.hs,
|
||
and Text/Pandoc/Writers/S5.hs are no longer built in Makefile
|
||
from templates in the templates/ directory. Instead, they use template
|
||
haskell to read data at compile time from the relevant files in data/.
|
||
Template haskell functions go in a new module, Text.Pandoc.TH.
|
||
+ man pages are now generated in Setup.hs hook, not by Makefile
|
||
+ Makefile 'tarball' target now calls Cabal's 'sdist'
|
||
+ Added "Extra-Source-Files" to pandoc.cabal, so sdist contains everything needed
|
||
+ Added "Build-Type" field to pandoc.cabal to avoid warning.
|
||
+ Added to "Extra-source-files" and "Extra-tmp-files" in pandoc.cabal,
|
||
so 'sdist' and 'clean' will work properly.
|
||
+ Setup.hs now generates man pages in a postbuild hook.
|
||
+ Added dependency-checking to Setup.hs, so it only rebuilds things
|
||
that need rebuilding.
|
||
+ Added 'library' and 'executable' configuration flags.
|
||
Cabal can now be told to build just the library or just the executable.
|
||
+ CABALOPTS may now be specified with 'make' to pass Cabal configuration flags.
|
||
For example: CABALOPTS=-fhighlighting make
|
||
|
||
* Rewrote test suite so it doesn't depend on perl or unix tools.
|
||
|
||
+ Replaced old runtests.pl with a Haskell script RunTests.hs.
|
||
+ Added Diff.hs module to be used by RunTests.hs instead of unix 'diff'.
|
||
+ Added test hook to Setup.hs, so tests may be run from cabal.
|
||
+ Changed Makefile's 'test' target to run tests via cabal.
|
||
+ Removed old generate.sh.
|
||
+ Since we no longer have 'sed' to filter out raw HTML sections
|
||
from the docbook writer test, or raw LaTeX sections from the
|
||
context writer test, we now just include these sections.
|
||
They can be taken out if it is necessary to process the files.
|
||
+ Updated latex and context writer tests to remove extra spaces
|
||
after '\\item'
|
||
+ Added a markdown table reader test.
|
||
+ Added markdown-reader-more.txt to test suite, for additional test cases
|
||
for raw ConTeXt environments and more.
|
||
|
||
* Compatibility fixes for CPP, Cabal, and haddock:
|
||
|
||
+ Use CPP in "Extensions" field in pandoc.cabal.
|
||
+ Removed use of backslash string continuations in source files.
|
||
|
||
* Removed pandoc.cabal.ghc66. We now require Cabal >= 1.2, GHC >= 6.8,
|
||
base >= 3.
|
||
|
||
* Require parsec < 3.
|
||
The compatibility module in parsec 3.0.0 gives far worse performance than
|
||
parsec 2.1. Eventually pandoc will be upgraded to use the new bytestring
|
||
version of parsec, and then we'll go to parsec 3.0.0.
|
||
|
||
* Removed Text.Regex dependencies by rewriting using plain Haskell
|
||
(Text.Pandoc.Writers.RTF, Text.Pandoc.Writers.HTML, Main.hs)
|
||
|
||
* Moved Text.Pandoc.Writers.DefaultHeaders -> Text.Pandoc.DefaultHeaders.
|
||
|
||
* Makefile:
|
||
|
||
+ Added 'configure' as dependency of 'uninstall-all'.
|
||
(It uses the Cabal build program.)
|
||
+ Makefile: only use --with-hc-pkg if GHC_PKG is defined.
|
||
Note that Cabal will automatically choose the ghc-pkg appropriate
|
||
for the compiler selected, so normally specifying GHC by itself
|
||
is sufficient.
|
||
|
||
* Removed Text.Pandoc.UTF8 module; instead, depend on utf8-string and use
|
||
its IO and conversion functions.
|
||
|
||
* Added -Wall to ghc-options in pandoc.cabal. Cleaned up modules so that
|
||
everything is -Wall clean.
|
||
|
||
+ Added pragma to HTML writer to avoid deprecation warning for use of "start" attribute.
|
||
+ Added pragma to Text/Pandoc/Shared.hs to get rid of "orphan instance" warnings.
|
||
(These are caused by the Lift instance for ByteString.)
|
||
|
||
* Changed the comment used to replace unsafe HTML if sanitize-html option
|
||
selected.
|
||
|
||
* Made -c/--css option repeatable on the command line (like -H, -A, -B).
|
||
|
||
* Moved XML-formatting functions to new unexported module Text.Pandoc.XML.
|
||
|
||
* Escape '\160' as " ", not " " in XML.
|
||
"nbsp" isn't a predefined XML entity.
|
||
|
||
* Fixed bug in RST reader, which would choke on: "p. one\ntwo\n".
|
||
Added some try's in ordered list parsers.
|
||
|
||
* Man writer: don't escape " as \".
|
||
|
||
* Allow newline before URL in markdown link references. Resolves Issue #81.
|
||
Added tests for this issue in new "markdown-reader-more" tests.
|
||
Changed RunTests.hs to run these tests.
|
||
|
||
* Support for display math. Resolves Issue #47.
|
||
|
||
+ Added a DisplayMath/InlineMath selector to Math inlines.
|
||
+ Markdown parser yields DisplayMath for $$...$$.
|
||
+ LaTeX parser yields DisplayMath when appropriate. Removed
|
||
mathBlock parsers, since the same effect is achieved by the math
|
||
inline parsers, now that they handle display math.
|
||
+ Writers handle DisplayMath as appropriate for the format.
|
||
+ Modified tests accordingly; added new tests for display math.
|
||
|
||
* Use LaTeXMathML instead of ASCIIMathML. LaTeXMathML is closer
|
||
to LaTeX in its display of math, and supports many non-math LaTeX environments.
|
||
|
||
+ Changed -m option to use LaTeXMathML rather than ASCIIMathML.
|
||
+ Modified HTML writer to print raw TeX when LaTeXMathML is
|
||
being used instead of suppressing it.
|
||
+ Removed ASCIIMathML files from data/ and added LaTeXMathML.
|
||
+ Replaced ASCIIMathML with LaTeXMathML in source files.
|
||
+ Modified README and pandoc man page source.
|
||
+ Added --latexmathml option (kept --asciimathml as a synonym
|
||
for backwards compatibility)
|
||
|
||
* Markdown reader: Parse setext headers before atx headers.
|
||
Test case:
|
||
# hi
|
||
====
|
||
parsed by Markdown.pl as an H1 header with contents "# hi".
|
||
|
||
* Markdown reader: Treat "mixed" lists the same way as Markdown.pl does.
|
||
The marker on the first list item determines the type of the whole
|
||
list. Thus, a list like
|
||
1. one
|
||
- two
|
||
* three
|
||
gets parsed as a single ordered list. (Previous versions of pandoc
|
||
treated this as an ordered list with an unordered sublist.)
|
||
|
||
* Markdown smart typography:
|
||
|
||
+ Em dashes no longer eat surrounding whitespace. Resolves Issue #69.
|
||
+ Use nonbreaking spaces after known abbreviations in markdown parser.
|
||
Thus, for example, "Mr. Brown" comes out as "Mr.~Brown" in LaTeX, and does
|
||
not produce a sentence-separating space. Resolves Issue #75.
|
||
|
||
* Markdown writer: Print unicode \160 literally, rather than as .
|
||
|
||
* Treat '\ ' in (extended) markdown as nonbreaking space.
|
||
Print nonbreaking space appropriately in each writer (e.g. ~ in LaTeX).
|
||
|
||
* The '--sanitize-html' option now examines URIs in markdown links
|
||
and images, and in HTML href and src attributes. If the URI scheme
|
||
is not on a whitelist of safe schemes, it is rejected. The main point
|
||
is to prevent cross-site scripting attacks using 'javascript:' URIs.
|
||
See http://www.mail-archive.com/markdown-discuss@six.pairlist.net/msg01186.html
|
||
and http://ha.ckers.org/xss.html. Resolves Issue #62.
|
||
|
||
* HTML writer:
|
||
|
||
+ Override Text.XHtml's stringToHtml function,
|
||
so that characters below 0xff are not converted to numerical entity
|
||
references. Also convert '\160' to " ". This should aid readability
|
||
and editability of the HTML source. It does presuppose that the HTML
|
||
will be served as UTF-8.
|
||
+ In code blocks, change leading newlines to <br /> tags.
|
||
(Some browsers ignore them.) Resolves Issue #71.
|
||
See http://six.pairlist.net/pipermail/markdown-discuss/2008-May/001297.html
|
||
+ Use style attributes rather than css classes for strikethrough
|
||
and ordered list styles. This works better when fragments, rather than
|
||
standalone documents, are generated.
|
||
|
||
* HTML reader: Count anything that isn't a known block (HTML) tag as an
|
||
inline tag (rather than the other way around). Added "html", "head", and
|
||
"body" to list of block tags. Resolves Issue #66, allowing
|
||
<lj> to count as an inline tag.
|
||
|
||
* RTF writer: Fixed bug. Extra spaces were being printed after emphasized,
|
||
boldface, and other inline elements. Resolves Issue #64.
|
||
|
||
* LaTeX reader: improvements in raw LaTeX parsing.
|
||
|
||
+ "loose punctuation" (like {}) parsed as Space
|
||
+ Para elements must contain more than Str "" and Space elements
|
||
+ Added parser for "\ignore" command used in literate haskell.
|
||
+ Reworked unknownCommand and rawLaTeXInline: when not in "parse raw"
|
||
mode, these parsers simply strip off the command part and allow
|
||
the arguments to be parsed normally. So, for example,
|
||
\blorg{\emph{hi}} will be parsed as Emph "hi" rather than
|
||
Str "{\\emph{hi}}".
|
||
+ Parse lhs "code" environments as verbatim.
|
||
Refactored parsers for verbatim environments.
|
||
+ Removed specialEnvironment parser.
|
||
+ parse '{}', if present, after \textless, \textgreater,
|
||
\textbar, \textbackslash, \ldots.
|
||
+ Parse unescaped special characters verbatim rather than
|
||
changing them to spaces. This way arguments of unknown
|
||
commands will appear in braces.
|
||
|
||
* Parse raw ConTeXt environments as TeX in markdown reader.
|
||
Resolves Issue #73.
|
||
|
||
* Moved BlockWrapper and wrappedBlocksToDoc from ConTeXt writer to Shared.
|
||
|
||
* Made some structural changes to parsing of raw LaTeX environments.
|
||
Previously there was a special block parser for LaTeX environments.
|
||
It returned a Para element containing the raw TeX inline. This has
|
||
been removed, and the raw LaTeX environment parser is now used in the
|
||
rawLaTeXInline parser. The effect is exactly the same, except that we
|
||
can now handle consecutive LaTeX and ConTeXt environments not separated
|
||
by spaces. This new flexibility is required by the example in
|
||
Issue #73:
|
||
|
||
\placeformula \startformula
|
||
L_{1} = L_{2}
|
||
\stopformula
|
||
|
||
API change: The LaTeX reader now exports rawLaTeXEnvironment' (which
|
||
returns a string) rather than rawLaTeXEnvironment (which returns a block
|
||
element). This is more likely to be useful in other applications.
|
||
|
||
* Use \textsubscr instead of \textsubscript for LaTeX subscript macro.
|
||
\textsubscript conflicts with a definition in the memoir class.
|
||
Resolves Issue #65.
|
||
|
||
* Removed unneeded space after "\\item" in LaTeX and ConTeXt output.
|
||
|
||
* Added amsmath package to default LaTeX header. Resolves Issue #48.
|
||
|
||
* Added \setupitemize[autointro] to ConTeXt header, to prevent orphaned
|
||
list introduction lines.
|
||
|
||
* Changed Float to Double in definition of Table element.
|
||
(Double is more efficient in GHC.)
|
||
|
||
* Fixed bug in Markdown parser: regular $s triggering math mode.
|
||
For example: "shoes ($20) and socks ($5)."
|
||
The fix consists in two new restrictions:
|
||
|
||
+ the $ that ends a math span may not be directly followed by a digit.
|
||
+ no blank lines may be included within a math span.
|
||
|
||
Thanks to Joseph Reagle for noticing the bug.
|
||
|
||
* Use Data.List's 'intercalate' instead of custom 'joinWithSep'.
|
||
Removed 'joinWithSep' from Text.Pandoc.Shared.
|
||
|
||
* Updated README and man pages. Acknowledge contributors in README.
|
||
Added paragraph to README about producing S5 with separate CSS/javascript.
|
||
|
||
* Updated INSTALL to reflect new build system (including configuration
|
||
options) and document new dependencies. Added note to INSTALL that
|
||
Cabal >= 1.2 is required for build. Resolves Issue #74.
|
||
|
||
* Fixed some haddock documentation errors.
|
||
|
||
* Small fix to markdown2pdf man page: only input needs to be piped through iconv.
|
||
|
||
pandoc (0.46) unstable; urgency=low
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Made -H, -A, and -B options cumulative: if they are specified
|
||
multiple times, multiple files will be included.
|
||
|
||
* Added optional HTML sanitization using a whitelist.
|
||
When this option is specified (--sanitize-html on the command line),
|
||
unsafe HTML tags will be replaced by HTML comments, and unsafe HTML
|
||
attributes will be removed. This option should be especially useful
|
||
for those who want to use pandoc libraries in web applications, where
|
||
users will provide the input.
|
||
|
||
+ Main.hs: Added --sanitize-html option.
|
||
|
||
+ Text.Pandoc.Shared: Added stateSanitizeHTML to ParserState.
|
||
|
||
+ Text.Pandoc.Readers.HTML:
|
||
- Added whitelists of sanitaryTags and sanitaryAttributes.
|
||
- Added parsers to check these lists (and state) to see if a given
|
||
tag or attribute should be counted unsafe.
|
||
- Modified anyHtmlTag and anyHtmlEndTag to replace unsafe tags
|
||
with comments.
|
||
- Modified htmlAttribute to remove unsafe attributes.
|
||
- Modified htmlScript and htmlStyle to remove these elements if
|
||
unsafe.
|
||
|
||
+ Modified README and man pages to document new option.
|
||
|
||
* Improved handling of email addresses in markdown and reStructuredText.
|
||
Consolidated uri and email address parsers. (Resolves Issue #37.)
|
||
|
||
+ New emailAddress and uri parsers in Text.Pandoc.Shared.
|
||
- uri parser uses parseURI from Network.URI.
|
||
- emailAddress parser properly handles email addresses with periods
|
||
in them.
|
||
|
||
+ Removed uri and emailAddress parsers from Text.Pandoc.Readers.RST
|
||
and Text.Pandoc.Readers.Markdown.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Fixed emph parser so that "*hi **there***" is parsed as a Strong
|
||
nested in an Emph. (A '*' is only recognized as the end of the
|
||
emphasis if it's not the beginning of a strong emphasis.)
|
||
|
||
+ Moved blockQuote parser before list parsers for performance.
|
||
|
||
+ Modified 'source' parser to allow backslash-escapes in URLs.
|
||
So, for example, [my](/url\(1\)) yields a link to /url(1).
|
||
Resolves Issue #34.
|
||
|
||
+ Disallowed links within links. (Resolves Issue #35.)
|
||
- Replaced inlinesInBalanced with inlinesInBalancedBrackets, which
|
||
instead of hard-coding the inline parser takes an inline parser
|
||
as a parameter.
|
||
- Modified reference and inlineNote to use inlinesInBalancedBrackets.
|
||
- Removed unneeded inlineString function.
|
||
- Added inlineNonLink parser, which is now used in the definition of
|
||
reference.
|
||
- Added inlineParsers list and redefined inline and inlineNonLink parsers
|
||
in terms of it.
|
||
- Added failIfLink parser.
|
||
|
||
+ Better handling of parentheses in URLs and quotation marks in titles.
|
||
- 'source' parser first tries to parse URL with balanced parentheses;
|
||
if that doesn't work, it tries to parse everything beginning with
|
||
'(' and ending with ')'.
|
||
- source parser now uses an auxiliary function source'.
|
||
- linkTitle parser simplified and improved, under assumption that it
|
||
will be called in context of source'.
|
||
|
||
+ Make 'block' conditional on strictness state, instead of using
|
||
failIfStrict in block parsers. Use a different ordering of parsers
|
||
in strict mode (raw HTML block before paragraph) for performance.
|
||
In non-strict mode use rawHtmlBlocks instead of htmlBlock.
|
||
Simplified htmlBlock, since we know it's only called in strict
|
||
mode.
|
||
|
||
+ Improved handling of raw HTML. (Resolves Issue #36.)
|
||
- Tags that can be either block or inline (e.g. <ins>) should
|
||
be treated as block when appropriate and as inline when
|
||
appropriate. Thus, for example,
|
||
<ins>hi</ins>
|
||
should be treated as a paragraph with inline <ins> tags, while
|
||
<ins>
|
||
hi
|
||
</ins>
|
||
should be treated as a paragraph within <ins> tags.
|
||
- Moved htmlBlock after para in list of block parsers. This ensures
|
||
that tags that can be either block or inline get parsed as inline
|
||
when appropriate.
|
||
- Modified rawHtmlInline' so that block elements aren't treated as
|
||
inline.
|
||
- Modified para parser so that paragraphs containing only HTML tags and
|
||
blank space are not allowed. Treat these as raw HTML blocks instead.
|
||
|
||
+ Fixed bug wherein HTML preceding a code block could cause it to
|
||
be parsed as a paragraph. The problem is that the HTML parser
|
||
used to eat all blank space after an HTML block, including the
|
||
indentation of the code block. (Resolves Issue #39.)
|
||
- In Text.Pandoc.Readers.HTML, removed parsing of following space
|
||
from rawHtmlBlock.
|
||
- In Text.Pandoc.Readers.Markdown, modified rawHtmlBlocks so that
|
||
indentation is eaten *only* on the first line after the HTML
|
||
block. This means that in
|
||
<div>
|
||
foo
|
||
<div>
|
||
the foo won't be treated as a code block, but in
|
||
<div>
|
||
|
||
foo
|
||
|
||
</div>
|
||
it will. This seems the right approach for least surprise.
|
||
|
||
* RST reader:
|
||
|
||
+ Fixed bug in parsing explicit links (resolves Issue #44).
|
||
The problem was that we were looking for inlines until a '<' character
|
||
signaled the start of the URL; so, if you hit a reference-style link,
|
||
it would keep looking til the end of the document. Fix: change
|
||
inline => (notFollowedBy (char '`') >> inline). Note that this won't
|
||
allow code inlines in links, but these aren't allowed in resT anyway.
|
||
|
||
+ Cleaned up parsing of reference names in key blocks and links.
|
||
Allow nonquoted reference links to contain isolated '.', '-', '_', so
|
||
so that strings like 'a_b_' count as links.
|
||
|
||
+ Removed unnecessary check for following link in str.
|
||
This is unnecessary now that link is above str in the definition of
|
||
'inline'.
|
||
|
||
* HTML reader:
|
||
|
||
+ Modified rawHtmlBlock so it parses </html> and </body> tags.
|
||
This allows these tags to be handled correctly in Markdown.
|
||
HTML reader now uses rawHtmlBlock', which excludes </html> and </body>,
|
||
since these are handled in parseHtml. (Resolves Issue #38.)
|
||
|
||
+ Fixed bug (emph parser was looking for `<IT>` tag, not `<I>`).
|
||
|
||
+ Don't interpret contents of style tags as markdown.
|
||
(Resolves Issue #40.)
|
||
- Added htmlStyle, analagous to htmlScript.
|
||
- Use htmlStyle in htmlBlockElement and rawHtmlInline.
|
||
- Moved "script" from the list of tags that can be either block or
|
||
inline to the list of block tags.
|
||
|
||
+ Modified rawHtmlBlock to use anyHtmlBlockTag instead of anyHtmlTag
|
||
and anyHtmlEndTag. This fixes a bug in markdown parsing, where
|
||
inline tags would be included in raw HTML blocks.
|
||
|
||
+ Modified anyHtmlBlockTag to test for (not inline) rather than
|
||
directly for block. This allows us to handle e.g. docbook in
|
||
the markdown reader.
|
||
|
||
* LaTeX reader: Properly recognize --parse-raw in rawLaTeXInline.
|
||
Updated LaTeX reader test to use --parse-raw.
|
||
|
||
* HTML writer:
|
||
|
||
+ Modified rules for automatic HTML header identifiers to
|
||
ensure that identifiers begin with an alphabetic character.
|
||
The new rules are described in README. (Resolves Issue #33.)
|
||
|
||
+ Changed handling of titles in HTML writer so you don't get
|
||
"titleprefix - " followed by nothing.
|
||
|
||
* ConTeXt writer: Use wrappers around Doc elements to ensure proper
|
||
spacing. Each block element is wrapped with either Pad or Reg.
|
||
Pad'ed elements are guaranteed to have a blank line in between.
|
||
|
||
* RST writer:
|
||
|
||
+ Refactored RST writer to use a record instead of a tuple for state,
|
||
and to include options in state so it doesn't need to be passed as
|
||
a parameter.
|
||
|
||
+ Use an interpreted text role to render math in restructuredText.
|
||
See http://www.american.edu/econ/itex2mml/mathhack.rst for the
|
||
strategy.
|
||
|
||
[ Recai Oktaş ]
|
||
|
||
* Debian packaging changes:
|
||
|
||
+ Remove the empty 'include' directory in -dev package, which lintian
|
||
complains about.
|
||
+ Bump Standarts-Version to 3.7.3.
|
||
+ Use new 'Homepage:' field to specify the upstream URL on suggestion of
|
||
lintian.
|
||
|
||
-- Recai Oktaş <roktas@debian.org> Tue, 08 Jan 2008 05:13:31 +0200
|
||
|
||
pandoc (0.45) unstable; urgency=low
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Simplified parsing of reference keys and notes in markdown and RST
|
||
readers: The Reference data structure from Text.Pandoc.Shared is no
|
||
longer needed, since referenceKey and noteBlock parses return strings
|
||
(as many blank lines as were occupied by the key or note) and update
|
||
state themselves. getPosition and setPosition are now used to ensure
|
||
that error messages will give the correct line number. This yields
|
||
cleaner (and slightly faster) code, with more accurate parsing error
|
||
messages.
|
||
|
||
* Added new Math inline element:
|
||
|
||
+ Markdown and LaTeX readers now convert TeX math into Math elements,
|
||
not TeX.
|
||
+ This allows math to be treated differently from raw TeX in output.
|
||
TeX elements are no longer printed in output formats other than
|
||
Markdown, LaTeX, and ConTeXt. But Math elements are always printed.
|
||
|
||
* New default handling of math in writers:
|
||
|
||
+ New module Text.Pandoc.Readers.TeXMath exports readTeXMath, which
|
||
parses raw TeX math and outputs a string of Pandoc inlines that
|
||
tries to render it as far as possible using unicode characters,
|
||
lapsing into literal TeX when needed.
|
||
+ readTeXMath is now used for default HTML output in HTML, S5, RTF,
|
||
and Docbook, if no other method for displaying math in HTML is
|
||
specified. Enclosing $'s are no longer printed by default.
|
||
+ By default, math is put inside `<span class="math">`. This way it can be
|
||
distinguished from the surrounding text, e.g. put in a different
|
||
font.
|
||
|
||
* New --gladtex and --mimetex options for display of math in HTML:
|
||
|
||
+ If --gladtex is specified, math is output between `<eq>` tags, so
|
||
it can be processed by gladTeX.
|
||
+ If --mimetex is specified, math is put in `<img>` tags with a link
|
||
to the mimetex CGI script (or any other script that takes TeX math
|
||
as input and outputs an image). The URL of the script may be
|
||
specified, but defaults to /cgi-bin/mimetex.cgi.
|
||
+ HTMLMathMethod structure in WriterOptions keeps track of how to
|
||
display math in HTML output.
|
||
+ Updated README with a description of the four options for displaying
|
||
math in HTML.
|
||
|
||
* HTML reader:
|
||
|
||
+ Fixed bug: parser for minimized attributes should not swallow
|
||
trailing spaces.
|
||
+ Simplified HTML attribute parsing.
|
||
+ Changed parsing of code blocks in HTML reader: `<code>` tag is no
|
||
longer needed. `<pre>` suffices. All HTML tags in the code block
|
||
(e.g. for syntax highlighting) are skipped, because they are not
|
||
portable to other output formats. A `<code>...</code>` block not
|
||
surrounded by `<pre>` now counts as inline HTML, not a code block.
|
||
+ Remove just one leading and one trailing newline from contents of
|
||
`<pre>...</pre>` in codeBlock parser.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Removed support for box-style block quotes.
|
||
+ Require space before title in links and references.
|
||
This fixes a bug in parsing URLs like http://silly/url(withparen).
|
||
+ Improved and simplified setextHeader parser.
|
||
+ Fixed logic in smart quote parsing, adding some needed 'try'
|
||
statements.
|
||
+ Fixed smart quote parsing so that unicode characters 8216 and 8217
|
||
are recognized as single quotes, and 8220 and 8221 as double quotes.
|
||
|
||
* RST reader:
|
||
|
||
+ Fixed bug in parsing of code blocks. Previously a full tab indent
|
||
was required, but RST allows code to be indented any amount.
|
||
Resolves Issue #27.
|
||
+ Allow field lists to be indented.
|
||
+ Parse the contents of field lists instead of treating as a raw string.
|
||
+ Represent field lists as definition lists instead of blockquotes.
|
||
+ Fixed bug in which metadata would be overridden if the document
|
||
contained multiple field lists.
|
||
+ Parse fields associated with '.. image::' blocks, and use 'alt'
|
||
field, if given, for image alt and title attributes.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Modified specialChar so that '"' characters are parsed.
|
||
+ Fixed a bug in parsing of \[ \] math blocks (thanks to Mark Kalderon).
|
||
|
||
* HTML writer:
|
||
|
||
+ Changes in handling of math (see above).
|
||
+ Don't produce HTML for table of contents if there are
|
||
no headers. (This would be an empty list, which is invalid XHTML.)
|
||
|
||
* Markdown writer:
|
||
|
||
+ Don't print title attribute if title is empty. (This differs from
|
||
the behavior of Markdown.pl, and agrees with PHP Markdown. But John
|
||
Gruber has indicated that he prefers this behavior.) Adjusted test
|
||
suite accordingly.
|
||
+ Fixed incorrect line wrapping in paragraphs including hard line
|
||
breaks. Resolves Issue #25.
|
||
+ Fixed bug in markdown writer: If an ordered list item began with
|
||
a marker greater than 3 characters in width, and the item took more
|
||
than one line, it would appear on the line after the list marker,
|
||
e.g.:
|
||
|
||
(12)
|
||
My list item.
|
||
Multiline.
|
||
|
||
Now it works as follows:
|
||
|
||
(12) My list item.
|
||
Multiline.
|
||
|
||
* RST writer
|
||
|
||
+ Fixed bug in RST writer's handling of ordered lists. Previously,
|
||
list items with multiple lines would not always line up with
|
||
single-line list items. Now, list items are nested the length of
|
||
the list marker + 1. This looks better and ensures that list items
|
||
all line up. (Note that list markers are padded to the length of
|
||
the longest list marker in the series.)
|
||
+ Use 3-space indent for unordered lists.
|
||
+ If label for a link reference contains a colon, surround it by `
|
||
signs so it won't be interpreted as the end of the link label.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Cleaner output for footnotes. Footnotes now always begin on a new
|
||
line, and the final } is on a line by itself only when it needs to
|
||
be (i.e. only when the note ends with a Verbatim environment).
|
||
+ Added writer options to state, so state doesn't need to be passed as
|
||
a parameter.
|
||
+ Text wrapping now provided, using wrapTeXIfNeeded.
|
||
|
||
* ConTeXt writer: many improvements for more idiomatic ConTeXt output
|
||
(thanks to Idris Samawi Hamid for suggestions).
|
||
|
||
+ PrettyPrint module now used for output.
|
||
+ Writer options are now in state, so they don't have to be passed as
|
||
a parameter.
|
||
+ Text wrapping now provided, using wrapTeXIfNeeded.
|
||
+ Better treatment of footnotes: footnotes are always on lines by
|
||
themselves, and the final } is on a line by itself only when
|
||
it needs to be (after \stoptyping).
|
||
+ Use \subject, \subsubject, ... or \section, \subsection, ... for headings,
|
||
depending on whether --number-sections option is selected.
|
||
+ Extra blank line inserted after \stopitemize
|
||
+ Use new, "official" definition of blockquote environment. Also, use
|
||
blank line after \startblockquote to balance blank line at the end.
|
||
+ Both itemized and enumerated lists are now generated using
|
||
\start-stopitemize, with appropriate options. Removed definitions
|
||
of ltxenum and ltxitem, which are no longer needed. Provided
|
||
defaults for itemized lists in the preamble. State keeps track of
|
||
ordered list level, so that when default numbering is specified,
|
||
the appropriate scheme can be used.
|
||
+ Changed \useurl to \useURL.
|
||
+ Changed link color from red to blue.
|
||
+ Use \subsubsubsubsection etc., since these are supported
|
||
(up to at least sub x 5).
|
||
|
||
* Text.Pandoc.Shared:
|
||
|
||
+ Save and restore position in parseFromString, so that accurate
|
||
error messages can be given.
|
||
+ Improved efficiency of romanNumeral parser.
|
||
+ Added wrappedTeX and wrapTeXIfNeeded functions. These ensure
|
||
that footnotes occur on lines by themselves (to make them
|
||
easier to see and move) and do not screw up line wrapping.
|
||
|
||
* Text.Pandoc.UTF8: modified fromUTF8 to strip out the BOM
|
||
if present. Windows Notepad and other applications insert a
|
||
BOM at the beginning of a UTF8 file.
|
||
|
||
* Main.hs (tabFilter): Treat '\r' at end of line as newline (in
|
||
addition to "\r\n" and '\n').
|
||
|
||
* Added a writer option for wrapped text and a command-line option
|
||
'--no-wrap', which disables text wrapping and minimizes whitespace
|
||
in HTML. (Resolves Issue #26.)
|
||
|
||
+ Added support for '--no-wrap' to Main.hs.
|
||
+ Added wrapIfNeeded function to Text.Pandoc.Shared.
|
||
+ Use wrapIfNeeded instead of wrapped in the RST, Man, Docbook, and
|
||
Markdown writers.
|
||
+ Added render and renderFragment helpers to HTML writer.
|
||
|
||
* Modified html2markdown to run tidy only if the HTML cannot be
|
||
parsed. Previously html2markdown piped all input through tidy
|
||
before passing it to pandoc. This caused problems on certain pages
|
||
(e.g. http://daringfireball.com/markdown) which have well-formed
|
||
XHTML that causes tidy to choke. The solution is to pipe through
|
||
tidy only if pandoc cannot parse the input by itself. This means
|
||
that a temp file is now always used, even when input comes from a
|
||
local file or standard input.
|
||
|
||
* Removed 'version' constant from Main.hs; added 'pandocVersion' to
|
||
Text.Pandoc library.
|
||
|
||
* pandoc.cabal:
|
||
|
||
+ Modified to work with GHC 6.8 and Cabal configurations. (For GHC
|
||
6.8, pretty and containers must be added to Build-Depends, and it
|
||
is desirable to use the -O2 compiler option.) Cabal configurations
|
||
allows one to select options depending on the compiler version.
|
||
For GHC 6.6, the splitBase option can be disabled.
|
||
+ pandoc.cabal.ghc66 is provided for users with older versions of
|
||
Cabal, which do not support configurations.
|
||
+ Use Ghc-Prof-Options to ensure that '-auto-all' is used when
|
||
'--enable-(executable|library)-profiling' is specified. Updated
|
||
PROFILING instructions accordingly.
|
||
|
||
* Makefile:
|
||
|
||
+ Makefile now checks GHC version. If GHC is 6.6, pandoc.cabal.ghc66
|
||
is copied to pandoc.cabal, and the old pandoc.cabal is copied
|
||
to pandoc.cabal.orig. Otherwise, pandoc.cabal is copied to
|
||
pandoc.cabal.orig but otherwise unmodified. This way, the Makefile
|
||
will work properly with either GHC 6.6 or 6.8.
|
||
+ Changed BUILDCONF to point to dist/setup-config, not .setup-config.
|
||
This is where current versions of Cabal put it.
|
||
+ Added $(BUILDCMD) target, so setup doesn't get compiled every time.
|
||
+ Removed dependency of templates on ./templates, which is circular
|
||
now that templates is a subdirectory of the top-level.
|
||
|
||
* MacPorts Portfile:
|
||
|
||
+ Modified to install the pandoc library in addition to programs.
|
||
+ Installation must be done manually rather than using Makefile's
|
||
install-all.
|
||
+ Note that the library must be registered in the activate phase,
|
||
after the library files have been copied out of the destroot.
|
||
Cabal generates a 'register.sh' script that will do this.
|
||
|
||
* debian/control: Added libghc6-network-dev, libghc6-xhtml-dev, and
|
||
libghc6-mtl-dev as dependencies for libghc6-pandoc-dev.
|
||
Closes: #445235
|
||
|
||
* debian/rules: Converted to UTF-8.
|
||
|
||
* Changed pandoc home page to http://johnmacfarlane.net/pandoc/.
|
||
|
||
* Updated ASCIIMathML.js to latest version.
|
||
|
||
* Directory structure:
|
||
|
||
+ Moved everything from src into the top-level directory.
|
||
+ Changed references to source directory in Makefile and
|
||
pandoc.cabal.*.
|
||
+ Moved ASCIIMathML.js, headers, and ui into templates directory.
|
||
+ Modified fillTemplates.pl to reflect new paths.
|
||
|
||
[ Recai Oktaş ]
|
||
|
||
* Makefile: Fixed the issue of having two copies of the library
|
||
documentation under some usage scenarios.
|
||
|
||
* Replaced 'ghc' with '$(GHC)' in Makefile, and made GHC
|
||
and GHC_PKG configurable through the environment, to support
|
||
unusual ghc installations. For example:
|
||
GHC=/opt/ghc/bin/ghc GHC_PKG=/opt/ghc/bin/ghc-pkg make
|
||
|
||
-- Recai Oktaş <roktas@debian.org> Sun, 07 Oct 2007 20:51:43 +0300
|
||
|
||
pandoc (0.44) unstable; urgency=low
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Fixed bug in HTML writer: when --toc was used, anchors were put around
|
||
headers, which is invalid XHTML (block content within inline element).
|
||
Now the anchors are put inside the header tags. Resolves Issue #23.
|
||
|
||
* Added xmlns attribute to html element in html writer tests.
|
||
This attribute is added by more recent versions of the
|
||
xhtml library (>= 3000), and is required for valid XHTML.
|
||
|
||
[ Recai Oktaş ]
|
||
|
||
* On configure, compile 'Setup.hs' to 'setup' and use 'setup' as the build
|
||
command instead of 'runhaskell', which, on some platforms (such as s390,
|
||
alpha, m68k), throws the following error:
|
||
|
||
runhaskell Setup.hs configure --prefix=/usr
|
||
ghc-6.6.1: not built for interactive use
|
||
|
||
This causes a serious FTBFS bug. Closes: #440668.
|
||
|
||
-- Recai Oktaş <roktas@debian.org> Mon, 03 Sep 2007 18:24:02 +0300
|
||
|
||
pandoc (0.43) unstable; urgency=low
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* The focus of this release is performance. The markdown parser
|
||
is about five times faster than in 0.42, based on benchmarks
|
||
with the TextMate manual.
|
||
|
||
* Main.hs: Replaced CRFilter and tabFilter with single function
|
||
tabFilter, which operates on the whole string rather than breaking
|
||
it into lines, and handles dos-style line-endings as well as tabs.
|
||
|
||
* Added separate LaTeX reader and native reader tests; removed
|
||
round-trip tests.
|
||
|
||
* Text.Pandoc.Shared:
|
||
|
||
+ Removed tabsToSpaces and tabsInLine (they were used only in Main.hs.)
|
||
+ General code cleanup (to elimante warnings when compiling with -Wall.)
|
||
+ Added 'wrapped' function, which helps wrap text into paragraphs,
|
||
using the prettyprinting library.
|
||
+ Rewrote charsInBalanced and charsInBalanced'.
|
||
- Documented restriction: open and close must be distinct characters.
|
||
- Rearranged options for greater efficiency.
|
||
- Bug fix: Changed inner call to charsInBalanced inside
|
||
charsInBalanced' to charsInBalanced'.
|
||
+ anyLine now requires that the line end with a newline (not eof).
|
||
This is a harmless assumption, since we always add newlines to the
|
||
end of a block before parsing with anyLine, and it yields a 10% speed
|
||
boost.
|
||
+ Removed unnecessary 'try' in anyLine.
|
||
+ Removed unneeded 'try' from romanNumeral parser.
|
||
+ Use notFollowedBy instead of notFollowedBy' in charsInBalanced.
|
||
+ Removed unneeded 'try' in parseFromString.
|
||
+ Removed unneeded 'try' from stringAnyCase. (Now it behaves
|
||
like 'string'.)
|
||
+ Changed definition of 'enclosed' in Text.Pandoc.Shared so that
|
||
'try' is not automatically applied to the 'end' parser. Added
|
||
'try' in calls to 'enclosed' where needed. Slight speed increase.
|
||
|
||
* Writers:
|
||
|
||
+ Replaced individual wrapping routines in RST, Man, and Markdown
|
||
writers with 'wrapped' from Text.Pandoc.Shared.
|
||
+ Rewrote LaTeX writer to use the prettyprinting library,
|
||
so we get word wrapping, etc.
|
||
+ Modified latex writer tests for new latex writer using prettyprinter.
|
||
+ Fixed bug in LaTeX writer: autolinks would not cause
|
||
'\usepackage{url}' to be put in the document header. Also, changes
|
||
to state in enumerated list items would be overwritten.
|
||
+ In Markdown writer, escape paragraphs that begin with ordered list
|
||
markers, so they don't get interpreted as ordered lists.
|
||
|
||
* Text.Pandoc.Reades.LaTeX:
|
||
|
||
+ Fixed bug in LaTeX reader, which wrongly assumed that the roman
|
||
numeral after "enum" in "setcounter" would consist entirely of
|
||
"i"s. 'enumiv' is legitimate.
|
||
+ LaTeX command and environment names can't contain numbers.
|
||
+ Rearranged order of parsers in inline for slight speed improvement.
|
||
+ Added '`' to special characters and 'unescapedChar'.
|
||
|
||
* Text.Pandoc.Readers.RST:
|
||
|
||
+ Removed unneeded try's in RST reader; also minor code cleanup.
|
||
+ Removed tabchar.
|
||
+ Rearranged parsers in inline (doubled speed).
|
||
|
||
* Text.Pandoc.Readers.Markdown:
|
||
|
||
+ Skip notes parsing if running in strict mode. (This yields a nice
|
||
speed improvement in strict mode.)
|
||
+ Simplify autolink parsing code, using Network.URI to test for
|
||
URIs. Added dependency on network library to debian/control and
|
||
pandoc.cabal.
|
||
+ More perspicuous definition of nonindentSpaces.
|
||
+ Removed unneeded 'try' in 'rawLine'.
|
||
+ Combined linebreak and whitespace into a new whitespace parser, to
|
||
avoid unnecessary reparsing of space characters.
|
||
+ Removed unnecessary 'try' in 'codeBlock', 'ellipses', 'noteMarker',
|
||
'multilineRow', 'dashedLine', 'rawHtmlBlocks'.
|
||
+ Use lookAhead in parsers for setext headers and definition lists
|
||
to see if the next line begins appropriately; if not, don't waste
|
||
any more time parsing.
|
||
+ Don't require blank lines after code block. (It's sufficient to
|
||
end code block with a nonindented line.)
|
||
+ Changed definition of 'emph': italics with '_' must not
|
||
be followed by an alphanumeric character. This is to help
|
||
prevent interpretation of e.g. `[LC_TYPE]: my_type` as
|
||
`[LC<em>TYPE]:my</em>type`.
|
||
+ Improved Markdown.pl-compatibility in referenceLink: the two parts
|
||
of a reference-style link may be separated by one space, but not
|
||
more... [a] [link], [not] [a link].
|
||
+ Fixed markdown inline code parsing so it better accords with
|
||
Markdown.pl: the marker for the end of the code section is a clump
|
||
of the same number of `'s with which the section began, followed
|
||
by a non-` character. So, for example,
|
||
` h ``` i ` -> `<code>h ``` i</code>`.
|
||
+ Split 'title' into 'linkTitle' and 'referenceTitle', since the
|
||
rules are slightly different.
|
||
+ Rewrote 'para' for greater efficiency.
|
||
+ Rewrote link parsers for greater efficiency.
|
||
+ Removed redundant 'referenceLink' in definition of inline (it's
|
||
already in 'link').
|
||
+ Refactored escapeChar so it doesn't need 'try'.
|
||
+ Refactored hrule for performance in Markdown reader.
|
||
+ More intelligent rearranging of 'inline' so that most frequently
|
||
used parsers are tried first.
|
||
+ Removed tabchar parser, as whitespace handles tabs anyway.
|
||
|
||
* Text.Pandoc.CharacterReferences:
|
||
|
||
+ Refactored.
|
||
+ Removed unnecessary 'try's for a speed improvement.
|
||
+ Removed unnecessary '&' and ';' from the entity table.
|
||
|
||
* Build process:
|
||
|
||
+ Makefile: Get VERSION from cabal file, not Main.hs.
|
||
+ Modified MacPorts Portfile:
|
||
- Depend on haddock
|
||
- Build and install libraries and library documentation in
|
||
addition to pandoc executable
|
||
- Added template item for md5 sum in Portfile.in.
|
||
- Incorporated changes from MacPorts repository (r28278).
|
||
+ FreeBSD port: Don't try to generate distinfo in Makefile.
|
||
It can be made using 'make makesum' in FreeBSD.
|
||
+ Make both freebsd and macports targets depend on tarball.
|
||
|
||
* Website and documentation:
|
||
|
||
+ Updated INSTALL instructions.
|
||
+ Added pandocwiki demo to website.
|
||
+ Removed local references to Portfile, since pandoc is now in the
|
||
MacPorts repository.
|
||
|
||
-- Recai Oktaş <roktas@debian.org> Sun, 02 Sep 2007 15:50:11 +0300
|
||
|
||
pandoc (0.42) unstable; urgency=low
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Main.hs: Use utf8 conversion on the extra files loaded with
|
||
the -H, -C, -B, and -A options. This fixes problems with unicode
|
||
characters in these files.
|
||
|
||
* Exposed Text.Pandoc.ASCIIMathML, since it is imported in
|
||
Text.Pandoc.Readers.HTML and without it we get a linking error when
|
||
using the library.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Added new rule for enhanced markdown ordered lists: if the list
|
||
marker is a capital letter followed by a period (including a
|
||
single-letter capital roman numeral), then it must be followed by
|
||
at least two spaces. The point of this is to avoid accidentally
|
||
treating people's initials as list markers: a paragraph might begin,
|
||
"B. Russell was an English philosopher," and this shouldn't be
|
||
treated as a list. Documented change in README.
|
||
+ Blocks that start with "p. " and a digit are no longer treated
|
||
as ordered lists (it's a page number).
|
||
+ Added a needed 'try' to listItem.
|
||
+ Removed check for a following setext header in endline.
|
||
A full test is too inefficient (doubles benchmark time), and the
|
||
substitute we had before is not 100% accurate.
|
||
+ Don't use Code elements for autolinks if --strict specified.
|
||
|
||
* LaTeX writer: When a footnote ends with a Verbatim environment, the
|
||
close } of the footnote cannot occur on the same line or an error occurs.
|
||
Fixed this by adding a newline before the closing } of every footnote.
|
||
|
||
* HTML writer:
|
||
+ Removed incorrect "{}" around style information in HTML tables.
|
||
Column widths now work properly in HTML.
|
||
+ If --strict option is specified (and --toc is not), don't include
|
||
identifiers in headers, for better Markdown compatibility.
|
||
|
||
* Build process:
|
||
|
||
+ Separated $(web_dest) and website targets.
|
||
+ In website, index.txt is now constructed from template index.txt.in.
|
||
+ Added freebsd target to Markefile. This creates the freebsd Makefile
|
||
from Makefile.in, and creates distinfo. Removed Makefile and distinfo
|
||
from the repository.
|
||
+ Added macport target to Makefile. Portfile is built from template
|
||
Portfile.in.
|
||
+ Removed OSX package targets. (Too many difficulties involving
|
||
dependencies on dynamic libraries.)
|
||
+ More complete INSTALL instructions for all architectures.
|
||
|
||
* Website:
|
||
+ Added a programming demo, pandocwiki.
|
||
|
||
[ Recai Oktaş ]
|
||
|
||
* Do not forget to close pandoc's ITP. Closes: #391666
|
||
|
||
-- Recai Oktaş <roktas@debian.org> Sun, 26 Aug 2007 22:51:32 +0300
|
||
|
||
pandoc (0.41) unstable; urgency=low
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Fixed bugs in HTML reader:
|
||
+ Skip material at end *only if* `</html>` is present (previously,
|
||
only part of the document would be parsed if an error was
|
||
found; now a proper error message is given).
|
||
+ Added new constant eitherBlockOrInline with elements that may
|
||
count either as block-level or as inline. Modified isInline and
|
||
isBlock to take this into account.
|
||
+ Modified rawHtmlBlock to accept any tag (even an inline tag):
|
||
this is innocuous, because rawHtmlBlock is tried only if a regular
|
||
inline element can't be parsed.
|
||
+ Added a necessary 'try' in definition of 'para'.
|
||
|
||
* Fixed bug in markdown ordered list parsing. The problem was that
|
||
anyOrderedListStart did not check for a space following the
|
||
ordered list marker. So in 'A.B. 2007' the parser would be
|
||
expecting a list item, but would not find one, causing an error.
|
||
Fixed a similar bug in the RST reader. Resolves Issue #22.
|
||
|
||
* Refactored RST and Markdown readers using parseFromString.
|
||
|
||
* LaTeX reader will now skip anything after \end{document}.
|
||
|
||
* Fixed blockquote output in markdown writer: previously, block
|
||
quotes in indented contexts would be indented only in the first
|
||
line.
|
||
|
||
* Added note to INSTALL about variations in versions of the xhtml
|
||
library that can lead to failed tests (thanks to Leif LeBaron).
|
||
|
||
-- Recai Oktaş <roktas@debian.org> Sun, 19 Aug 2007 23:26:07 +0300
|
||
|
||
pandoc (0.4) unstable; urgency=low
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Added two new output formats: groff man pages and ConTeXt. By
|
||
default, output files with extensions ".ctx" and ".context" are
|
||
assumed to be ConTeXt, and output files with single-digit extensions
|
||
are assumed to be man pages.
|
||
|
||
* Enhanced ordered lists (documented in README, under Lists):
|
||
+ The OrderedList block element now stores information about
|
||
list number style, list number delimiter, and starting number.
|
||
+ The readers parse this information when possible.
|
||
+ The writers use this information to style ordered lists.
|
||
+ The enhancement can be disabled using the --strict option.
|
||
|
||
* Added support for tables (with a new Table block element). Two kinds
|
||
of tables are supported: a simple table with one-line rows, and a
|
||
more complex variety with multiline rows. All output formats are
|
||
supported, but only markdown tables are parsed at the moment. The
|
||
syntax is documented in README.
|
||
|
||
* Added support for definition lists (with a new DefinitionList block
|
||
element). All output and input formats are supported. The syntax is
|
||
documented in README.
|
||
|
||
* Added support for superscripts and subscripts (with new Superscript
|
||
and Subscript inline elements). All input and output
|
||
formats. The syntax is documented in README.
|
||
|
||
* Added support for strikeout (with a new Strikeout inline element).
|
||
All input and output formats are supported. Thanks to Bradley Kuhn,
|
||
who contributed a patch. The syntax is documented in README. Resolves
|
||
Issue #18.
|
||
|
||
* Added a --toc|--table-of-contents option. This causes an automatically
|
||
generated table of contents (or an instruction that creates one) to
|
||
be inserted at the beginning of the document. Not supported in S5,
|
||
DocBook, or man page writers.
|
||
|
||
* Modified the -m|--asciimathml option:
|
||
|
||
+ If an optional URL argument is provided, a link is inserted
|
||
instead of the contents of the ASCIIMathML.js script.
|
||
+ Nothing is inserted unless the document actually contains
|
||
LaTeX math.
|
||
|
||
* Removed Blank block element as unnecessary.
|
||
|
||
* Removed Key and Note blocks from the Pandoc data structure. All
|
||
links are now stored as explicit links, and note contents are
|
||
stored with the (inline) notes.
|
||
|
||
+ All link Targets are now explicit (URL, title) pairs; there
|
||
is no longer a 'Ref' target.
|
||
+ Markdown and RST parsers now need to extract data from key and
|
||
note blocks and insert them into the relevant inline elements.
|
||
Other parsers have been simplified, since there is no longer any need
|
||
to construct separate key and note blocks.
|
||
+ Markdown, RST, and HTML writers need to construct lists of
|
||
notes; Markdown and RST writers need to construct lists of link
|
||
references (when the --reference-links option is specified); and
|
||
the RST writer needs to construct a list of image substitution
|
||
references. All writers have been rewritten to use the State monad
|
||
when state is required.
|
||
+ Several functions (generateReference, keyTable,
|
||
replaceReferenceLinks, replaceRefLinksBlockList, and some auxiliaries
|
||
used by them) have been removed from Text.Pandoc.Shared, since
|
||
they are no longer needed. New functions and data structures
|
||
(Reference, isNoteBlock, isKeyBlock, isLineClump) have been
|
||
added. The functions inTags, selfClosingTag, inTagsSimple, and
|
||
inTagsIndented have been moved to the DocBook writer, since that
|
||
is now the only module that uses them. NoteTable is now exported
|
||
in Text.Pandoc.Shared.
|
||
+ Added stateKeys and stateNotes to ParserState; removed stateKeyBlocks,
|
||
stateKeysUsed, stateNoteBlocks, stateNoteIdentifiers, stateInlineLinks.
|
||
+ Added writerNotes and writerReferenceLinks to WriterOptions.
|
||
|
||
* Added Text.Pandoc module that exports basic readers, writers,
|
||
definitions, and utility functions. This should export everything
|
||
needed for most uses of Pandoc libraries. The haddock documentation
|
||
includes a short example program.
|
||
|
||
* Text.Pandoc.ASCIIMathML is no longer an exported module.
|
||
|
||
* Added Text.Pandoc.Blocks module to help in printing markdown
|
||
and RST tables. This module provides functions for working with
|
||
fixed-width blocks of text--e.g., placing them side by side, as
|
||
in a table row.
|
||
|
||
* Refactored to avoid reliance on Haskell's Text.Regex library, which
|
||
(a) is slow, and (b) does not properly handle unicode. This fixed
|
||
some strange bugs, e.g. in parsing S-cedilla, and improved performance.
|
||
|
||
+ Replaced 'gsub' with a general list function 'substitute'
|
||
that does not rely on Text.Regex.
|
||
+ Rewrote extractTagType in HTML reader so that it doesn't use
|
||
regexs.
|
||
+ In Markdown reader, replaced email regex test with a custom email
|
||
autolink parser (autoLinkEmail). Also replaced selfClosingTag regex
|
||
with a custom function isSelfClosingTag.
|
||
+ Modified Docbook writer so that it doesn't rely on Text.Regex for
|
||
detecting 'mailto' links.
|
||
+ Removed escapePreservingRegex and reamped entity-handling
|
||
functions in Text.Pandoc.Shared and Text.Pandoc.CharacterReferences to
|
||
avoid reliance on Text.Regex (see below on character reference
|
||
handling changes).
|
||
|
||
* Renamed Text.Pandoc.Entities as Text.Pandoc.CharacterReferences.
|
||
|
||
* Changed handling of XML entities. Entities are now parsed (and unicode
|
||
characters returned) in the Markdown and HTML readers, rather than being
|
||
handled in the writers. In HTML and Docbook writers, UTF-8 is now used
|
||
instead of entities for characters above 128. This makes the HTML and
|
||
DocBook output much more readable and more easily editable.
|
||
|
||
+ Removed sgmlHexEntity, sgmlDecimalEntity, sgmlNamedEntity, and
|
||
sgmlCharacterEntity regexes from Text.Pandoc.Shared.
|
||
+ Renamed escapeSGMLChar to escapeCharForXML. Added escapeStringForXML.
|
||
Moved both functions to Text.Pandoc.Writers.Docbook.
|
||
+ Added characterReference parser to Text.Pandoc.CharacterReferences.
|
||
This parses a string and return a unicode character.
|
||
+ Rewrote decodeCharacterReferences to use the new parser instead of
|
||
Text.Regex.
|
||
+ Added new charRef parser for Markdown and HTML, which replaces the
|
||
old 'entity' parser. Added '&' as a special character in Markdown reader.
|
||
+ Modified HTML and Markdown readers to call decodeEntities on all raw
|
||
strings (e.g. authors, dates, link titles), to ensure that no
|
||
unprocessed entities are included in the native representation of
|
||
the document. (In the HTML reader, most of this work is done by a
|
||
change in extractAttributeName.)
|
||
+ In XML and Markdown output, escape unicode nonbreaking space as ' ',
|
||
since a unicode non-breaking space is impossible to distinguish visually
|
||
from a regular space. (Resolves Issue #3.)
|
||
+ Removed encodeEntitiesNumerical.
|
||
+ Use Data.Map for entityTable and (new) reverseEntityTable, for a
|
||
slight performance boost over the old association list.
|
||
+ Removed unneeded decodeEntities from 'str' parser in HTML and
|
||
Markdown readers.
|
||
|
||
* Text.Pandoc.UTF8: Renamed encodeUTF8 to toUTF8, decodeUTF8 to
|
||
fromUTF8, for clarity.
|
||
|
||
* Replaced old haskell98 module names replaced by hierarchical module
|
||
names, e.g. List by Data.List. Removed haskell98 from dependencies
|
||
in pandoc.cabal, and added mtl (needed for state monad). Substituted
|
||
xhtml for html.
|
||
|
||
* Refactored and cleaned up character escaping in writers, using
|
||
backslashEscapes and escapeStringUsing functions.
|
||
|
||
* Instead of adding "\n\n" to the end of an input string in Main.hs,
|
||
this is now done in the readers. This makes the libraries behave
|
||
the way you'd expect from the pandoc program. Resolves Issue #10.
|
||
|
||
* URLs and email addresses in autolinks are now typeset as Code.
|
||
|
||
* In Main.hs, changed putStr to putStrLn -- mainly because MacOS X
|
||
doesn't display the whole output unless there's a line ending.
|
||
|
||
* Major code cleanup in all modules, for greater consistency, concision,
|
||
and readability.
|
||
|
||
* HTML reader:
|
||
|
||
+ Fixed several bugs (extractTagType, attribute parsing).
|
||
+ Remove Null blocks in lists of blocks when possible.
|
||
+ Allow HTML comments as raw HTML inline.
|
||
|
||
* Markdown reader:
|
||
|
||
+ Ordered list items may no longer begin with uppercase letters, or
|
||
letters greater than 'n'. (This prevents first initials and page
|
||
reference, e.g. 'p. 400', from being parsed as beginning lists.)
|
||
Also, numbers beginning list items may no longer end with ')',
|
||
which is now allowed only after letters. Note: These changes
|
||
may cause documents to be parsed differently. Users should take
|
||
care in upgrading.
|
||
+ Changed autoLink parsing to conform better to Markdown.pl's
|
||
behavior. `<google.com>` is not treated as a link, but
|
||
`<http://google.com>`, `<ftp://google.com>`, and
|
||
`<mailto:google@google.com>` are.
|
||
+ Cleaned up handling of embedded quotes in link titles. Now these are
|
||
stored as a '"' character, not as '"'.
|
||
+ Use lookAhead parser for the 'first pass' (looking for reference keys),
|
||
instead of parsing normally, then using setInput to reset input. This
|
||
yields a slight performance boost.
|
||
+ Fixed several bugs in smart quote recognition.
|
||
+ Fixed bug in indentSpaces (which didn't properly handle
|
||
cases with mixed spaces and tabs).
|
||
+ Consolidated 'text', 'special', and 'inline' into 'inline'.
|
||
+ Fixed bug which allowed URL and title to be separated by multiple blank
|
||
lines in links and reference keys. They can be on separate lines but
|
||
can't have blank lines between them.
|
||
+ Correctly handle bracketed text inside inline footnotes and links,using
|
||
new function inlinesInBalanced. Resolves Issue #14.
|
||
+ Fixed bug in footnotes: links in footnotes were not being
|
||
processed. Solution: three-stage parse. First, get all the
|
||
reference keys and add information to state. Next, get all the
|
||
notes and add information to state. (Reference keys may be needed
|
||
at this stage.) Finally, parse everything else.
|
||
+ Replaced named constants like 'emphStart' with literals.
|
||
+ Removed an extra occurance of escapedChar in definition of inline.
|
||
|
||
* RST reader:
|
||
|
||
+ Allow the URI in a RST hyperlink target to start on the line
|
||
after the reference key.
|
||
+ Added 'try' in front of 'string', where needed, or used a different
|
||
parser. This fixes a bug where ````` would not be correctly parsed as
|
||
a verbatim `.
|
||
+ Fixed slow performance in parsing inline literals in RST reader. The
|
||
problem was that ``#`` was seen by 'inline' as a potential link or image.
|
||
Fix: inserted 'notFollowedBy (char '`')' in link parsers.
|
||
Resolves Issue #8.
|
||
+ Use lookAhead instead of getInput/setInput in RST reader. Removed
|
||
unneeded getState call, since lookAhead automatically saves and
|
||
restores the parser state.
|
||
+ Allow hyperlink target URIs to be split over multiple lines, and
|
||
to start on the line after the reference. Resolves Issue #7.
|
||
+ Fixed handling of autolinks.
|
||
|
||
* LaTeX reader:
|
||
|
||
+ Replaced 'choice [(try (string ...), ...]' idiom with 'oneOfStrings',
|
||
for clarity.
|
||
+ Added clauses for tilde and caret. Tilde is \ensuremath{\sim}, and
|
||
caret is \^{}, not \^ as before.
|
||
+ Added parsing for \url.
|
||
+ Parse \texttt{} as code, provided there's nothing fancy inside.
|
||
|
||
* HTML writer:
|
||
|
||
+ Modified HTML writer to use the Text.XHtml library. This results
|
||
in cleaner, faster code, and it makes it easier to use Pandoc in
|
||
other projects, like wikis, which use Text.XHtml. Two functions are
|
||
now provided, writeHtml and writeHtmlString: the former outputs an
|
||
Html structure, the latter a rendered string. The S5 writer is also
|
||
changed, in parallel ways (writeS5, writeS5String).
|
||
+ The Html header is now written programmatically, so it has been
|
||
removed from the 'headers' directory. The S5 header is still
|
||
needed, but the doctype and some of the meta declarations have
|
||
been removed, since they are written programatically. This change
|
||
introduces a new dependency on the xhtml package.
|
||
+ Fixed two bugs in email obfuscation involving improper escaping
|
||
of '&' in the `<noscript>` section and in `--strict` mode. Resolves
|
||
Issue #9.
|
||
+ Fixed another bug in email obfuscation: If the text to be obfuscated
|
||
contains an entity, this needs to be decoded before obfuscation.
|
||
Thanks to thsutton for the patch. Resolves Issue #15.
|
||
+ Changed the way the backlink is displayed in HTML footnotes.
|
||
Instead of appearing on a line by itself, it now generally
|
||
appears on the last line of the note. (Exception: when the
|
||
note does not end with a Plain or Para block.) This saves space
|
||
and looks better.
|
||
+ Added automatic unique identifiers to headers:
|
||
- The identifier is derived from the header via a scheme
|
||
documented in README.
|
||
- WriterState now includes a list of header identifiers and a table
|
||
of contents in addition to notes.
|
||
- The function uniqueIdentifiers creates a list of unique identifiers
|
||
from a list of inline lists (e.g. headers).
|
||
- This list is part of WriterState and gets consumed by blockToHtml
|
||
each time a header is encountered.
|
||
+ Include CSS for .strikethrough class in header only if strikethrough
|
||
text appears in the document.
|
||
+ If the 'strict' option is specified, elements that do not appear in
|
||
standard markdown (like definition lists) are passed through as
|
||
raw HTML.
|
||
+ Simplified treatment of autolinks, using pattern matching instead of
|
||
conditionals.
|
||
|
||
* Markdown writer:
|
||
|
||
+ Links in markdown output are now printed as inline links by default,
|
||
rather than reference links. A --reference-links option has been added
|
||
that forces links to be printed as reference links. Resolves Issue #4.
|
||
+ Use autolinks when possible. Instead of `[site.com](site.com)`,
|
||
use `<site.com>`.
|
||
|
||
* LaTeX writer:
|
||
|
||
+ Rewrote to use the State monad. The preamble now includes only those
|
||
packages that are actually required, given the document's content.
|
||
Thus, for example, if strikeout is not used, ulem is not required.
|
||
Modified LaTeXHeader accordingly.
|
||
+ Modified LaTeX writer to insert '\,' between consecutive quotes.
|
||
+ Removed unused function tableRowColumnWidths.
|
||
+ Simplified code for escaping special characters.
|
||
+ Leave extra blank line after \maketitle.
|
||
+ Include empty '\author{}' when no author specified to avoid LaTeX
|
||
errors.
|
||
+ Include fancyvrb code in header only if needed -- that is, only
|
||
if there is actually code in a footnote.
|
||
+ Use \url{} for autolinks.
|
||
+ Include [mathletters] option in ucs package, so that basic unicode
|
||
Greek letters will work correctly.
|
||
|
||
* RST writer: Force blank line before lists, so that sublists will
|
||
be handled correctly.
|
||
|
||
* Docbook writer: Fixed a bug: email links with text, like
|
||
[foo](me@bar.baz), were being incorrectly treated as autolinks.
|
||
|
||
* Removed Text.ParserCombinators.Pandoc and moved all its functions to
|
||
Text.Pandoc.Shared.
|
||
|
||
* Text.Pandoc.Shared:
|
||
|
||
+ Added defaultWriterOptions.
|
||
+ Added writerTableOfContents to WriterOptions.
|
||
+ Added writerIgnoreNotes option to WriterOptions. This is needed
|
||
for processing header blocks for a table of contents, since notes on
|
||
headers should not appear in the TOC.
|
||
+ Added prettyprinting for native Table format.
|
||
+ Removed some unneeded imports.
|
||
+ Moved escape and nullBlock parsers from
|
||
Text.ParserCombinators.Pandoc, since the latter is for
|
||
general-purpose parsers that don't depend on Text.Pandoc.Definition.
|
||
+ Moved isHeaderBlock from Text.Pandoc.Writers.HTML.
|
||
+ Moved Element, headerAtLeast, and hierarchicalize from Docbook
|
||
writer, because HTML writer now uses these in constructing a table
|
||
of contents.
|
||
+ Added clauses for new inline elements (Strikeout, Superscript,
|
||
Subscript) to refsMatch.
|
||
+ Removed backslashEscape; added new functions escapeStringUsing and
|
||
backslashEscapes.
|
||
+ Moved failIfStrict from markdown reader, since it is now used also
|
||
by the HTML reader.
|
||
+ Added a 'try' to the definition of indentSpaces.
|
||
+ In definition of 'reference', added check to make sure it's not a note
|
||
reference.
|
||
+ Added functions: camelCaseToHyphenated, toRomanNumeral,
|
||
anyOrderedListMarker, orderedListmarker, orderedListMarkers,
|
||
charsInBalanced', withHorizDisplacement, romanNumeral
|
||
+ Fixed a bug in the anyLine parser. Previously it would parse an empty
|
||
string "", but it should fail on an empty string, or we get an error
|
||
when it is used inside "many" combinators.
|
||
+ Removed followedBy' parser, replacing it with the lookAhead parser from
|
||
Parsec.
|
||
+ Added some needed 'try's before multicharacter parsers, especially in
|
||
'option' contexts.
|
||
+ Removed the 'try' from the 'end' parser in 'enclosed', so that
|
||
'enclosed' behaves like 'option', 'manyTill', etc.
|
||
+ Added lineClump parser, which parses a raw line block up to and
|
||
including any following blank lines.
|
||
+ Renamed parseFromStr to parseFromString.
|
||
+ Added a 'try' to the 'end' parser in 'enclosed'. This makes errors in
|
||
the use of 'enclosed' less likely. Removed some now-unnecessary 'try's
|
||
in calling code.
|
||
+ Removed unneeded 'try' in blanklines.
|
||
+ Removed endsWith function and rewrote calling functions to use
|
||
isSuffixOf instead.
|
||
+ Added >>~ combinator.
|
||
+ Fixed bug in normalizeSpaces: Space:Str "":Space should compress to
|
||
Space.
|
||
|
||
* Refactored runtests.pl; added separate tests for tables.
|
||
|
||
* Shell scripts:
|
||
|
||
+ Added -asxhtml flag to tidy in html2markdown. This will
|
||
perhaps help the parser, which expects closing tags.
|
||
+ Modified markdown2pdf to run pdflatex a second time if --toc or
|
||
--table-of-contents was specified; otherwise the table of
|
||
contents won't appear.
|
||
+ Modified markdown2pdf to print a helpful message if the 'ulem'
|
||
LaTeX package is required and not found.
|
||
|
||
* Changes to build process:
|
||
|
||
+ Dropped support for compilation with GHC 6.4. GHC 6.6 or higher
|
||
is now required.
|
||
+ Removed cabalize and Pandoc.cabal.in. The repository now contains
|
||
pandoc.cabal itself.
|
||
+ Pandoc.cabal has been changed to pandoc.cabal, because HackageDB
|
||
likes the cabal file to have the same name as the tarball.
|
||
+ Expanded and revised the package description in pandoc.cabal.
|
||
Revised the package synopsis.
|
||
+ The tarball built by 'make tarball' now contains files built from
|
||
templates (including man pages and shell scripts), so pandoc can
|
||
be built directly using Cabal tools, without preprocessing.
|
||
+ Executable binaries are now stripped before installing.
|
||
+ Man pages are now generated from markdown sources, using pandoc's
|
||
man page writer.
|
||
+ Use HTML version of README (instead of RTF) in Mac OS X installer.
|
||
+ Instead of testing for the existence of a pandoc symlink in build-exec,
|
||
use ln -f.
|
||
|
||
* Documentation:
|
||
|
||
+ Updated README and man pages with information on new features.
|
||
+ Updated INSTALL instructions with some useful clarifications and
|
||
links.
|
||
+ Updated web content.
|
||
|
||
* Added FreeBSD port.
|
||
|
||
[ Recai Oktaş ]
|
||
|
||
* debian/control:
|
||
|
||
+ Changed pandoc's Build-Depends to include libghc6-mtl-dev and
|
||
libghc6-xhtml-dev. Removed libghc6-html-dev.
|
||
+ Suggest texlive-latex-recommended | tetex-extra instead of
|
||
tetex-bin. This brings in fancyvrb and unicode support.
|
||
|
||
-- Recai Oktaş <roktas@debian.org> Tue, 16 Jan 2007 00:37:21 +0200
|
||
|
||
pandoc (0.3) unstable; urgency=low
|
||
|
||
[ John MacFarlane ]
|
||
|
||
* Changes in pandoc options:
|
||
|
||
+ Allow options to follow or precede arguments.
|
||
+ Changed '--smartypants' to '--smart' and adjusted symbols accordingly.
|
||
+ Added '--strict' option.
|
||
+ Added '-o/--output' option.
|
||
+ Added '--dump-args' and '--ignore-args' options (for use in wrappers).
|
||
+ Modified '-v' and '-h' output to go to STDERR, not STDOUT, and return
|
||
error conditions. This is helpful for writing wrappers.
|
||
+ Added copyright message to '-v' output, modeled after FSF messages.
|
||
+ Reformatted usage message so that it doesn't wrap illegibly.
|
||
+ Removed extra blanks after '-h' and '-D' output.
|
||
|
||
* Added docbook writer.
|
||
|
||
* Added implicit setting of default input and output format based
|
||
on input and output filename extensions. These defaults are
|
||
overridden if explicit input and output formats are specified using
|
||
'-t', '-f', '-r', or '-w' options. Documented in pandoc(1) man page
|
||
and README.
|
||
|
||
* Allow ordered list items to begin with (single) letters, as well
|
||
as numbers. The list item marker may now be terminated either by
|
||
'.' or by ')'. This extension to standard markdown is documented
|
||
in README.
|
||
|
||
* Revised footnote syntax. (See README for full details.) The
|
||
'[^1]' format now standard in markdown extensions is supported,
|
||
as are inline footnotes with this syntax: `^[My note.]`.
|
||
The earlier footnote syntax `^(1)` is no longer supported.
|
||
|
||
* Improved HTML representation of footnotes. All footnotes
|
||
are now auto-numbered and appear in an ordered list at the
|
||
end of the HTML document. Since the default appearance is now
|
||
acceptable, the old footnote styles have been removed from the
|
||
HTML header.
|
||
|
||
* Bug fixes:
|
||
|
||
+ Fixed a serious bug in the markdown, LaTeX, and RST readers.
|
||
These readers ran 'runParser' on processed chunks of text to handle
|
||
embedded block lists in lists and quotation blocks. But then
|
||
any changes made to the parser state in these chunks was lost,
|
||
as the state is local to the parser. So, for example, footnotes
|
||
didn't work in quotes or list items. The fix: instead of calling
|
||
runParser on some raw text, use setInput to make it the input, then
|
||
parse it, then use setInput to restore the input to what it was
|
||
before. This is shorter and more elegant, and it fixes the problem.
|
||
+ Fixed bug in notFollowedBy' combinator (adding 'try' before
|
||
'parser'). Adjusted code that uses this combinator accordingly.
|
||
+ Fixed bug in RTF writer that caused improper indentation on
|
||
footnotes occurring in indented blocks like lists.
|
||
+ Fixed parsing of metadata in LaTeX reader. Now the title, author,
|
||
and date are parsed correctly. Everything else in the preamble
|
||
is skipped.
|
||
+ Modified escapedChar in LaTeX reader to allow a '\' at the end of a
|
||
line to count as escaped whitespace.
|
||
+ Modified LaTeX reader to produce inline links rather than reference
|
||
links. Otherwise, links in footnotes aren't handled properly.
|
||
+ Fixed handling of titles in links in Markdown reader, so that
|
||
embedded quotation marks are now handled properly.
|
||
+ Fixed Markdown reader's handling of embedded brackets in links.
|
||
+ Fixed Markdown reader so that it only parses bracketed material
|
||
as a reference link if there is actually a corresponding key.
|
||
+ Revised inline code parsing in Markdown reader to conform to
|
||
markdown standard. Now any number of `s can begin inline code,
|
||
which will end with the same number of `s. For example, to
|
||
have two backticks as code, write ``` `` ```. Modified Markdown
|
||
writer accordingly.
|
||
+ Fixed bug in text-wrapping routine in Markdown and RST writers.
|
||
Now LineBreaks no longer cause wrapping problems.
|
||
+ Supported hexadecimal numerical entity references as well as
|
||
decimal ones.
|
||
+ Fixed bug in Markdown reader's handling of underscores and other
|
||
inline formatting markers inside reference labels: for example,
|
||
in '[A_B]: /url/a_b', the material between underscores was being
|
||
parsed as emphasized inlines.
|
||
+ Changed Markdown reader's handling of backslash escapes so that
|
||
only non-alphanumeric characters can be escaped. Strict mode
|
||
follows Markdown.pl in only allowing a select group of punctuation
|
||
characters to be escaped.
|
||
+ Modified HTML reader to skip a newline following a `<br>` tag.
|
||
Otherwise the newline will be treated as a space at the beginning
|
||
of the next line.
|
||
|
||
* Made handling of code blocks more consistent. Previously, some
|
||
readers allowed trailing newlines, while others stripped them.
|
||
Now, all readers strip trailing newlines in code blocks. Writers
|
||
insert a newline at the end of code blocks as needed.
|
||
|
||
* Modified readers to make spacing at the end of output more consistent.
|
||
|
||
* Minor improvements to LaTeX reader:
|
||
|
||
+ '\thanks' now treated like a footnote.
|
||
+ Simplified parsing of LaTeX command arguments and options.
|
||
commandArgs now returns a list of arguments OR options (in
|
||
whatever order they appear). The brackets are included, and
|
||
a new stripFirstAndLast function is provided to strip them off
|
||
when needed. This fixes a problem in dealing with \newcommand
|
||
and \newenvironment.
|
||
|
||
* Revised RTF writer:
|
||
|
||
+ Default font is now Helvetica.
|
||
+ An '\f0' is added to each '\pard', so that font resizing works
|
||
correctly.
|
||
|
||
* Moved handling of "smart typography" from the writers to the Markdown
|
||
and LaTeX readers. This allows great simplification of the writers
|
||
and more accurate smart quotes, dashes, and ellipses. DocBook can
|
||
now use `<quote>`. The '--smart' option now toggles an option in
|
||
the parser state rather than a writer option. Several new kinds
|
||
of inline elements have been added: Quoted, Ellipses, Apostrophe,
|
||
EmDash, EnDash.
|
||
|
||
* Changes in HTML writer:
|
||
|
||
+ Include title block in header even when title is null.
|
||
+ Made javascript obfuscation of emails even more obfuscatory,
|
||
by combining it with entity obfuscation.
|
||
|
||
* Changed default ASCIIMathML text color to black.
|
||
|
||
* Test suite:
|
||
|
||
+ Added --strip-trailing-cr option to diff in runtests.pl, for
|
||
compatibility with Windows.
|
||
+ Added regression tests with footnotes in quote blocks and lists.
|
||
|
||
* Makefile changes:
|
||
|
||
+ osx-pkg target creates a Mac OS X package (directory). New osx
|
||
directory contains files needed for construction of the package.
|
||
+ osx-dmg target creates a compressed disk image containing the package.
|
||
+ win-pkg target creates Windows binary package.
|
||
+ tarball target creates distribution source tarball.
|
||
+ website target generates pandoc's website automatically, including
|
||
demos. New 'web' directory containts files needed for construction
|
||
of the website (which will be created as the 'pandoc' subdirectory
|
||
of 'web').
|
||
+ Makefile checks to see if we're running Windows/Cygwin; if so,
|
||
a '.exe' extension is added to each executable in EXECS.
|
||
|
||
* Removed all wrappers except markdown2pdf and html2markdown.
|
||
|
||
* Added new wrapper hsmarkdown, to be used as a drop-in replacement
|
||
for Markdown.pl. hsmarkdown calls pandoc with the '--strict'
|
||
option and disables other options.
|
||
|
||
* Added code to html2markdown that tries to determine the character
|
||
encoding of an HTML file, by parsing the "Content-type" meta tag.
|
||
|
||
+ If the encoding can't be determined, then if the content is local,
|
||
the local encoding is used; if it comes from a URL, UTF-8 is used
|
||
by default.
|
||
+ If input is from STDIN, don't try to determine character encoding.
|
||
+ Encoding can be specified explicitly using '-e' option.
|
||
|
||
* Improved warning messages in wrappers:
|
||
|
||
+ Print warning if iconv not available
|
||
+ More user-friendly error messages in markdown2pdf, when
|
||
pdflatex fails.
|
||
|
||
* Code cleanup:
|
||
|
||
+ Renamed 'Text/Pandoc/HtmlEntities' module to
|
||
'Text/Pandoc/Entities'. Also changed function names so as
|
||
not to be HTML-specific.
|
||
+ Refactored SGML string escaping functions from HTML and Docbook
|
||
writers into Text/Pandoc/Shared. (escapeSGML, stringToSGML)
|
||
+ Removed 'BlockQuoteContext' from ParserContext, as it isn't
|
||
used anywhere.
|
||
+ Removed splitBySpace and replaced it with a general, polymorphic
|
||
splitBy function.
|
||
+ Refactored LaTeX reader for clarity (added isArg function).
|
||
+ Converted some CR's to LF's in src/ui/default/print.css.
|
||
+ Added license text to top of source files.
|
||
+ Added module data for haddock to source files.
|
||
+ Reformatted code for consistency.
|
||
|
||
* Rewrote documentation and man pages. Split README into INSTALL
|
||
and README.
|
||
|
||
* Split LICENSE into COPYING and COPYRIGHT.
|
||
|
||
* Removed TODO, since we now maintain ToDo on the wiki.
|
||
|
||
* Made COPYRIGHT in top level a symlink to debian/copyright, to avoid
|
||
duplication.
|
||
|
||
[ Recai Oktaş ]
|
||
|
||
* Revamped build process to conform to debian standards and created
|
||
a proper debian package. Closes: #391666.
|
||
|
||
* Modified build process to support GHC 6.6.
|
||
|
||
+ The package can still be compiled using GHC 6.4.2, though because
|
||
of dependencies the "make deb" target works only with GHC 6.6+.
|
||
+ The script 'cabalize' is used to create an appropriate
|
||
'Pandoc.cabal' from 'Pandoc.cabal.in', depending on the GHC and
|
||
Cabal versions.
|
||
|
||
* Refactored template processing (fillTemplates.pl).
|
||
|
||
* Modified wrapper scripts to make them more robust and portable.
|
||
To avoid code duplication and ensure consistency, wrappers are
|
||
generated via a templating system from templates in src/wrappers.
|
||
|
||
+ Wrappers now accept multiple filenames, when appropriate.
|
||
+ Spaces and tabs allowed in filenames.
|
||
+ getopts shell builtin is used for portable option parsing.
|
||
+ Improved html2markdown's web grabber code, making it more robust,
|
||
configurable and verbose. Added '-e', '-g' options.
|
||
|
||
-- Recai Oktaş <roktas@debian.org> Fri, 05 Jan 2007 09:41:19 +0200
|
||
|
||
pandoc (0.2) unstable; urgency=low
|
||
|
||
* Fixed unicode/utf-8 translation
|
||
|
||
-- John MacFarlane <jgm@berkeley.edu> Mon, 14 Aug 2006 00:00:00 -0400
|
||
|
||
pandoc (0.1) unstable; urgency=low
|
||
|
||
* Initial creation of debian package
|
||
|
||
-- John MacFarlane <jgm@berkeley.edu> Mon, 14 Aug 2006 00:00:00 -0400
|