Skip to content

Releases: jgm/pandoc

Pandoc 1.12.1

20 Oct 23:04
@jgm jgm
Compare
Choose a tag to compare

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:

  1. 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.
  2. 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 the s5 or slideous directories, respectively, as with revealjs. (This is what the User's Guide has said to do for some time.) The default for slidy 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.
  3. 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

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.)