Releases: jgm/pandoc
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.)