Releases: jgm/pandoc
Pandoc 1.12.1
This release fixes a few bugs (details in the release notes) and considerably improves citation handling. The new pandoc-citeproc (0.1.2.1) can read bibtex and biblatex files directly (not using bibutils to translate them, as before). Though this is still a work in progress, the results are already significantly better. LaTeX constructs in bibtex fields are translated properly, and simple math gets converted.
Three changes of note:
- The default JSON serialization format has changed. Instead of
{"Str": "foo"}
, for example, we now have{"t": "Str", "c": "foo"}
("t" for tag, "c" for contents). This new format is easier to work with outside of Haskell. This change should only affect people who are interacting with pandoc's JSON using languages other than Haskell, since in Haskell the JSON conversions can be handled automatically by the aeson library. Those who use the python library pandocfilters for filters should upgrade to version 1.2, which has already been updated to use the new format. - Pandoc's data files no longer include the javascript, CSS, and images for S5, slidy, and slideous slide formats. If you wish to produce S5 or slideous slides with the
--self-contained
option, you'll need to download the appropriate code into thes5
orslideous
directories, respectively, as withrevealjs
. (This is what the User's Guide has said to do for some time.) The default forslidy
is to embed a link to the code on the slidy website, so nothing should change for slidy users who are using the default template. - You can now create "speaker notes" in slide formats, by putting them inside
<div class="notes">
tags. (Note that you may need to leave a blank line before the closing</div>
tag in some contexts.) Currently these are supported in beamer (where the notes go to\note{...}
) and revealjs (where they turn into<aside class="notes">
; in other formats the speaker notes are just ignored.
Added 2013-10-21: The OSX package installer that was originally attached to this release was defective. Please download the new installer below, pandoc-1.12.1-1.dmg
.
Pandoc 1.12.0.2
This version fixes an incompatibility between pandoc's JSON output and what was expected by the python pandocfilters package. Anyone who intends to use pandocfilters should upgrade.
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 forData a => a -> [a]
andData 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
The focus of this release is customizability. Several features
have been added that should make it easier to fit pandoc to your
needs:
-
Flexible metadata: metadata is no longer limited to title,
authors, and date. You can add whatever fields you like. Metadata
values are also structured: they can be lists, maps, booleans,
strings, or lists of pandoc Inline or Block elements. A new
YAML metadata block is provided so structured metadata can be
included in pandoc markdown documents. (Of course, the old title
blocks will still work, and can be combined with the YAML blocks.)
Template variables will automatically be set from metadata, so
if you want to create a template with variables likesubject
,
abstract
, orauthor.institution
, you can. -
A new
--filter
option is provided, to make it easier to use
JSON filters that transform the pandoc AST. Instead ofpandoc -t json -s | ./myfilter | pandoc -f json -t html5 -s
you can now do
pandoc -t html5 -s --filter ./myfilter
Pandoc passes the output format as the first argument to the
filter, so filters can easily be made sensitive to the output
format. (For example, a graphviz filter might produce a PNG
if the output is HTML and a PDF if the output is LaTeX.) -
For those who don't know Haskell, a python library,
pandocfilters
, has been created to make it easy to write pandoc
filters using python. There are some examples in the
pandocfilters repository. -
You can now script your own custom pandoc writer using lua. See
example 33 on the
demos page. While
JSON filters are a better approach for most customizations, this
approach gives you complete control over the writer's behavior,
and allows you to support completely new output formats. -
Generic Inline (
Span
) and Block (Div
) containers that take
attributes have been added to the underlying Pandoc types.
These provide the customization possibilites for formatted
text that theCode
andCodeBlock
elements provide for unformatted
text.
Other significant changes include support for OPML (as both an input
and an output format), support for writing reveal.js slide shows,
and support for reading Haddock markup.
Citation support has been extracted from core pandoc and put into
a new pandoc-citeproc
package. (Users who install pandoc using
cabal should cabal install pandoc-citeproc
if they want to use
citations.) Bibliographic information can now be included right in
a pandoc markdown document, inside a YAML metadata block, making
the document self-contained. (A tool biblio2yaml
is provided to
convert existing bibliographies, for those who want to do this.)