Skip to content

Releases: jgm/pandoc

Pandoc 1.12.0.2

30 Sep 00:26
@jgm jgm
Compare
Choose a tag to compare

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

21 Sep 01:26
@jgm jgm
Compare
Choose a tag to compare
  • 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

15 Sep 20:00
@jgm jgm
Compare
Choose a tag to compare

Complete changelog

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 like subject,
    abstract, or author.institution, you can.

  • A new --filter option is provided, to make it easier to use
    JSON filters that transform the pandoc AST. Instead of

    pandoc -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 the Code and CodeBlock 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.)