I'm pleased to announce the release of pandoc 1.6. As usual, a source tarball and Windows installer are available at . You can also use 'cabal install' to get the latest version from HackageDB: cabal update cabal install pandoc Thanks to everyone who contributed, either by filing bug reports or by contributing patches. Here is a summary of the major changes in this version: + 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, and by online ebook readers like [bookworm]. (Amazon's Kindle uses a different format, MobiPocket, but EPUB books can easily be converted to Kindle format.) Now you can write your book in markdown and produce an ebook with a single command! I've put up a short [tutorial here]. - [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 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 `` 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. [EPUB]: http://en.wikipedia.org/wiki/EPUB [Slidy]: http://www.w3.org/Talks/Tools/Slidy [bookworm]: http://bookworm.oreilly.com/ [tutorial here]: http://johnmacfarlane.net/pandoc/epub.html