|
|
|
|
Changelog for ghc-pandoc-2.5-lp150.110.1.x86_64.rpm :
* Mon Jan 14 2019 Peter Simons - Patch build to cope with with recent versions of \'http-client\'. * Fri Jan 11 2019 Guillaume GARDET - Increase required memory in _constraints to avoid OOM failures * Wed Dec 05 2018 Peter Simons - Update Cabal build instructions to support zip-archive 0.4. * Tue Nov 27 2018 psimonsAATTsuse.com- Update pandoc to version 2.5. * Text.Pandoc.App: split into several unexported submodules (Albert Krewinkel): Text.Pandoc.App.FormatHeuristics, Text.Pandoc.App.Opt, Text.Pandoc.App.CommandLineOptions, Text.Pandoc.App.OutputSettings. This is motivated partly by the desire to reduce recompilations when something is modified, since App previously depended on virtually every other module. * Text.Pandoc.Extensions + Semantically, `gfm_auto_identifiers` is now a modifier of `auto_identifiers`; for identifiers to be set, `auto_identifiers` must be turned on, and then the type of identifier produced depends on `gfm_auto_identifiers` and `ascii_identifiers` are set. Accordingly, `auto_identifiers` is now added to `githubMarkdownExtensions` (#5057). + Remove `ascii_identifiers` from `githubMarkdownExtensions`. GitHub doesn\'t seem to strip non-ascii characters any more. * Text.Pandoc.Lua.Module.Utils (Albert Krewinkel) + Test AST object equality via Haskell (#5092). Equality of Lua objects representing pandoc AST elements is tested by unmarshalling the objects and comparing the result in Haskell. A new function `equals` which performs this test has been added to the `pandoc.utils` module. + Improve stringify. Meta value strings (MetaString) and booleans (MetaBool) are now converted to the literal string and the lowercase boolean name, respectively. Previously, all values of these types were converted to the empty string. * Text.Pandoc.Parsing: Remove Functor and Applicative constraints where Monad already exists (Alexander Krotov). * Text.Pandoc.Pretty: Don\'t render BreakingSpace at end of line or beginning of line (#5050). * Text.Pandoc.Readers.Markdown + Fix parsing of citations, quotes, and underline emphasis after symbols. Starting with pandoc 2.4, citations, quoted inlines, and underline emphasis were no longer recognized after certain symbols, like parentheses (#5099, #5053). + In pandoc 2.4, a soft break after an abbreviation would be relocated before it to allow for insertion of a nonbreaking space after the abbreviation. This behavior is here reverted. A soft break after an abbreviation will remain, and no nonbreaking space will be added. Those who care about this issue should take care not to end lines with an abbreviation, or to insert nonbreaking spaces manually. * Text.Pandoc.Readers.FB2: Do not throw error for unknown elements in `` (Alexander Krotov). Some libraries include custom elements in their FB2 files. * Text.Pandoc.Readers.HTML + Allow `tfoot` before body rows (#5079). + Parse `` as a Span with class \"small\" (#5080). + Allow thead containing a row with `td` rather than `th` (#5014). * Text.Pandoc.Readers.LaTeX + Cleaned up handling of dimension arguments. Allow decimal points, preceding space. + Don\'t allow arguments for verbatim, etc. + Allow space before bracketed options. + Allow optional arguments after `\\\\` in tables. + Improve parsing of `\\tiny`, `\\scriptsize`, etc. Parse as raw, but know that these font changing commands take no arguments. * Text.Pandoc.Readers.Muse + Trim whitespace before parsing grid table cells (Alexander Krotov). + Add grid tables support (Alexander Krotov). * Text.Pandoc.Shared + For bibliography match Div with id `refs`, not class `references`. This was a mismatch between pandoc\'s docx, epub, latex, and markdown writers and the behavior of pandoc-citeproc, which actually looks for a div with id `refs` rather than one with class `references`. + Exactly match GitHub\'s identifier generating algorithm (#5057). + Add parameter for `Extensions` to `uniqueIdent` and `inlineListToIdentifier` (#5057). [API change] This allows these functions to be sensitive to the settings of `Ext_gfm_auto_identifiers` and `Ext_ascii_identifiers`, and allows us to use `uniqueIdent` in the CommonMark reader, replacing custom code. It also means that `gfm_auto_identifiers` can now be used in all formats. * Text.Pandoc.Writers.AsciiDoc + Use `.`+ as list markers to support nested ordered lists (#5087). + Support list number styles (#5089). + Render Spans using `[#id .class]#contents#` (#5080). * Text.Pandoc.Writers.CommonMark + Respect `--ascii` (#5043, quasicomputational). + Make sure `--ascii` affects quotes, super/subscript. * Text.Pandoc.Writers.Docx + Fix bookmarks to headers with long titles (#5091). Word has a 40 character limit for bookmark names. In addition, bookmarks must begin with a letter. Since pandoc\'s auto-generated identifiers may not respect these constraints, some internal links did not work. With this change, pandoc uses a bookmark name based on the SHA1 hash of the identifier when the identifier isn\'t a legal bookmark name. + Add bookmarks to code blocks (Nikolay Yakimov). + Add bookmarks to images (Nikolay Yakimov). + Refactor common bookmark creation code into a function (Nikolay Yakimov). * Text.Pandoc.Writers.EPUB: Handle calibre metadata (#5098). Nodes of the form are now included from an epub XML metadata file. You can also include this information in your YAML metadata, like so: calibre: series: Classics on War and Policitics In addition, ibooks-specific metadata can now be included via an XML file. (Previously, it could only be included via YAML metadata, see [#2693].) * Text.Pandoc.Writers.HTML: Use plain `\"` instead of `"` outside of attributes. * Text.Pandoc.Writers.ICML: Consolidate adjacent strings, inc. spaces. This avoids splitting up the output unnecessarily into separate elements. * Text.Pandoc.Writers.LaTeX: Don\'t emit `[<+->]` unless beamer output, even if `writerIncremental` is True (#5072). * Text.Pandoc.Writers.Muse (Alexander Krotov). + Output tables as grid tables if they have multi-line cells. + Indent simple tables only on the top level. + Output tables with one column as grid tables. + Add support for `--reference-location`. + Internal improvements. * Text.Pandoc.Writers.OpenDocument: Fix list indentation (Nils Carlson, [#5095]). This was a regression in pandoc 2.4. * Text.Pandoc.Writers.RTF: Fix warnings for skipped raw inlines. * Text.Pandoc.Writers.Texinfo: Add blank line before `AATTmenu` section (#5055). * Text.Pandoc.XML: in `toHtml5Entities`, prefer shorter entities when there are several choices for a particular character. * data/abbreviations + Add additional abbreviations (Andrew Dunning) Many of these borrowed from the Chicago Manual of Style 10.42, \'Scholarly abbreviations\'. * Templates + Asciidoc template: add :lang: to title header is lang is set in metadata (#5088). * pandoc.cabal: Add cabal flag `derive_json_via_th` (Albert Krewinkel) Disabling the flag will cause derivation of ToJSON and FromJSON instances via GHC Generics instead of Template Haskell. The flag is enabled by default, as deriving via Generics can be slow (see #4083). * trypandoc: + Tweaked drop-down lists. + Put link to site in footer. + Preselect output format. + Update on change of in or out format. + Add man input format. * MANUAL.txt: + Fix outdated description of latex_macros extension. + Clarified placement of bibliography. + Added \"A note on security.\" + Fix note on curly brace syntx for locators. + Document new explicit syntax for citeproc locators. + Remove confusing cross-links for some extensions. + Don\'t put pandoc in code ticks in heading. + Document that `--ascii` works for gfm and commonmark too. + Add `man` to `--from` options. * doc/customizing-pandoc.md: various improvements (Mauro Bieg). * Mon Nov 05 2018 psimonsAATTsuse.com- Update pandoc to version 2.4. pandoc (2.4) [new features] * New input format `man` (Yan Pashkovsky, John MacFarlane). [behavior changes] * `--ascii` is now implemented in the writers, not in Text.Pandoc.App, via the new `writerPreferAscii` field in `WriterOptions`. Now the `write *` functions for Docbook, HTML, ICML, JATS, LaTeX, Ms, Markdown, and OPML are sensitive to `writerPreferAscii`. Previously the to-ascii translation was done in Text.Pandoc.App, and thus not available to those using the writer functions directly. * `--ascii` now works with Markdown output. HTML5 character reference entities are used. * `--ascii` now works with LaTeX output. 100% ASCII output can\'t be guaranteed, but the writer will use commands like `\\\"{a}` and `\\l` whenever possible, to avoid emiting a non-ASCII character. * For HTML5 output, `--ascii` now uses HTML5 character reference entities rather than numerical entities. * Improved detection of format based on extension (in Text.Pandoc.App). We now ensure that if someone tries to convert a file for a format that has a pandoc writer but not a reader, it won\'t just default to markdown. * Add viz. to abbreviations file (#5007, Nick Fleisher). * AsciiDoc writer: always use single-line section headers, instead of the old underline style (#5038). Previously the single-line style would be used if `--atx-headers` was specified, but now it is always used. * RST writer: Use simple tables when possible (#4750). * CommonMark (and gfm) writer: Add plain text fallbacks. (#4528, quasicomputational). Previously, the writer would unconditionally emit HTML output for subscripts, superscripts, strikeouts (if the strikeout extension is disabled) and small caps, even with `raw_html` disabled. Now there are plain-text (and, where possible, fancy Unicode) fallbacks for all of these corresponding (mostly) to the Markdown fallbacks, and the HTML output is only used when `raw_html` is enabled. * Powerpoint writer: support raw openxml (Jesse Rosenthal, #4976). This allows raw openxml blocks and inlines to be used in the pptx writer. Caveats: (1) It\'s up to the user to write well-formed openxml. The chances for corruption, especially with such a brittle format as pptx, is high. (2) Because of the tricky way that blocks map onto shapes, if you are using a raw block, it should be the only block on a slide (otherwise other text might end up overlapping it). (3) The pptx ooxml namespace abbreviations are different from the docx ooxml namespaces. Again, it\'s up to the user to get it right. Unzipped document and ooxml specification should be consulted. * With `--katex` in HTML formats, do not use the autorenderer (#4946). We no longer surround formulas with `\\(..\\)` or `\\[..\\]`. Instead, we tell katex to convert the contents of span elements with class \"math\". Since math has already been identified, this avoids wasted time parsing for LaTeX delimiters. Note, however, that this may yield unexpected results if you have span elements with class \"math\" that don\'t contain LaTeX math. Also, use latest version of KaTeX by default (0.9.0). * The man writer now produces ASCII-only output, using groff escapes, for portability. * ODT writer: + Add title, author and date to metadata; any remaining metadata fields are added as `meta:user-defined` tags. + Implement table caption numbering (#4949, Nils Carlson). Captioned tables are numbered and labeled with format \"Table 1: caption\", where \"Table\" is replaced by a translation, depending on the value of `lang` in metadata. Uncaptioned tables are not enumerated. + OpenDocument writer: Implement figure numbering in captions (#4944, Nils Carlson). Figure captions are now numbered 1, 2, 3, ... The format in the caption is \"Figure 1: caption\" and so on (where \"Figure\" is replaced by a translation, depending on the value of `lang` in the metadata). Captioned figures are numbered consecutively and uncaptioned figures are not enumerated. This is necessary in order for LibreOffice to generate an Illustration Index (Table of Figures) for included figures. * RST reader: Pass through fields in unknown directives as div attributes (#4715). Support `class` and `name` attributes for all directives. * Org reader: Add partial support for `#+EXCLUDE_TAGS` option. (#4284, Brian Leung). Headers with the corresponding tags should not appear in the output. * Log warnings about missing title attributes now include a suggestion about how to fix the problem (#4909). * Lua filter changes (Albert Krewinkel): + Report traceback when an error occurs. A proper Lua traceback is added if either loading of a file or execution of a filter function fails. This should be of help to authors of Lua filters who need to debug their code. + Allow access to pandoc state (#5015). Lua filters and custom writers now have read-only access to most fields of pandoc\'s internal state via the global variable `PANDOC_STATE`. + Push ListAttributes via constructor (Albert Krewinkel). This ensures that ListAttributes, as present in OrderedList elements, have additional accessors (viz. `start`, `style`, and `delimiter`). + Rename ReaderOptions fields, use snake_case. Snake case is used in most variable names, using camelCase for these fields was an oversight. A metatable is added to ensure that the old field names remain functional. + Iterate over AST element fields when using `pairs`. This makes it possible to iterate over all ield names of an AST element by using a generic `for` loop with pairs`: for field_name, field_content in pairs(element) do ... end Raw table fields of AST elements should be considered an implementation detail and might change in the future. Accessing element properties should always happen through the fields listed in the Lua filter docs. Note that the iterator currently excludes the `t`/`tag` field. + Ensure that MetaList elements behave like Lists. Methods usable on Lists can also be used on MetaList objects. + Fix MetaList constructor (Albert Krewinkel). Passing a MetaList object to the constructor `pandoc.MetaList` now returns the passed list as a MetaList. This is consistent with the constructor behavior when passed an (untagged) list. * Custom writers: Custom writers have access to the global variable `PANDOC_DOCUMENT`(Albert Krewinkel, #4957). The variable contains a userdata wrapper around the full pandoc AST and exposes two fields, `meta` and `blocks`. The field content is only marshaled on-demand, performance of scripts not accessing the fields remains unaffected. [API changes] * Text.Pandoc.Options: add `writerPreferAscii` to `WriterOptions`. * Text.Pandoc.Shared: + Export `splitSentences`. This was previously duplicated in the Man and Ms writers. + Add `ToString` typeclass (Alexander Krotov). * New exported module Text.Pandoc.Filter (Albert Krewinkel). * Text.Pandoc.Parsing + Generalize `gridTableWith` to any `Char` Stream (Alexander Krotov). + Generalize `readWithM` from `[Char]` to any `Char` Stream that is a `ToString` instance (Alexander Krotov). * New exposed module Text.Pandoc.Filter (Albert Krewinkel). * Text.Pandoc.XML: add `toHtml5Entities`. * New exported module Text.Pandoc.Readers.Man (Yan Pashkovsky, John MacFarlane). * Text.Pandoc.Writers.Shared + Add exported functions `toSuperscript` and `toSubscript` (quasicomputational, #4528). + Remove exported functions `metaValueToInlines`, `metaValueToString`. Add new exported functions `lookupMetaBool`, `lookupMetaBlocks`, `lookupMetaInlines`, `lookupMetaString`. Use these whenever possible for uniformity in writers (Mauro Bieg, #4907). (Note that removed function `metaValueToInlines` was in previous released versions.) + Add `metaValueToString`. * Text.Pandoc.Lua + Expose more useful internals (Albert Krewinkel): - `runFilterFile` to run a Lua filter from file; - data type `Global` and its constructors; and - `setGlobals` to add globals to a Lua environment. This module also contains `Pushable` and `Peekable` instances required to get pandoc\'s data types to and from Lua. Low-level Lua operation remain hidden in Text.Pandoc.Lua. + Rename `runPandocLua` to `runLua` (Albert Krewinkel). + Remove `runLuaFilter`, merging this into Text.Pandoc.Filter.Lua\'s `apply` (Albert Krewinkel). [bug fixes and under-the-hood improvements] * Text.Pandoc.Parsing + Make `uri` accept any stream with Char tokens (Alexander Krotov). + Rewrite `uri` without `withRaw` (Alexander Krotov). + Generalize `parseFromString` and `parseFromString\'` to any streams with Char token (Alexander Krotov) + Rewrite `nonspaceChar` using `noneOf` (Alexander Krotov) * Text.Pandoc.Shared: Reimplement `mapLeft` using `Bifunctor.first` (Alexander Krotov). * Text.Pandoc.Pretty: Simplify `Text.Pandoc.Pretty.offset` (Alexander Krotov). * Text.Pandoc.App + Work around HXT limitation for --syntax-definition with windows drive (#4836). + Always preserve tabs for man format. We need it for tables. + Split command line parsing code into a separate unexported module, Text.Pandoc.App.CommandLineOptions (Albert Krewinkel). * Text.Pandoc.Readers.Roff: new unexported module for tokenizing roff documents. * New unexported module Text.Pandoc.RoffChar, provided character escape tables for roff formats. * Text.Pandoc.Readers.HTML: Fix `htmlTag` and `isInlineTag` to accept processing instructions (#3123, regression since 2.0). * Text.Pandoc.Readers.JATS: Use `foldl\'` instead of `maximum` to account for empty lists (Alexander Krotov). * Text.Pandoc.Readers.RST: Don\'t allow single-dash separator in headerless table (#4382). * Text.Pandoc.Readers.Org: Parse empty argument array in inline src blocks (Brian Leung). * Text.Pandoc.Readers.Vimwiki: + Get rid of `F`, `runF` and `stateMeta\'` in favor of `stateMeta` (Alexander Krotov). + Parse `Text` without converting to `[Char]` (Alexander Krotov). * Text.Pandoc.Readers.Creole: Parse `Text` without converting to `[Char]` (Alexander Krotov). * Text.Pandoc.Readers.LaTeX + Allow space at end of math after `\\` (#5010). + Add support for `nolinkurl` command (#4992, Brian Leung). + Simplified type on `doMacros\'`. + Tokenize before pulling tokens, rather than after (#4408). This has some performance penalty but is more reliable. + Make macroDef polymorphic and allow in inline context. Otherwise we can\'t parse something like `\\lowercase{\\def\\x{Foo}}`. I have actually seen tex like this in the wild. + Improved parsing of `\\def`, `\\let`. We now correctly parse: ``` \\def\\bar{hello} \\let\\fooi\\bar \\def\\fooii{\\bar} \\fooi +\\fooii \\def\\bar{goodbye} \\fooi +\\fooii ``` + Improve parsing of `\\def` argspec. + Skip `\\PackageError` commands (see #4408). + Fix bugs omitting raw tex (#4527). The default is `-raw_tex`, so no raw tex should result unless we explicitly say `+raw_tex`. Previously some raw commands did make it through. + Moved `isArgTok` to Text.Pandoc.Readers.LaTeX.Parsing. + Moved `babelLangToBCP`, `polyglossiaLangToBCP` to new module, Text.Pandoc.Readers.LaTeX.Lang (unexported). + Simplified accent code using unicode-transforms. New dependency on unicode-transforms package for normalization. + Allow verbatim blocks ending with blank lines (#4624). + Support `breq` math environments: `dmath`, `dgroup`, `darray`. This collects some of the general-purpose code from the LaTeX reader, with the aim of making the module smaller. * Text.Pandoc.Readers.Markdown + Fix awkward soft break movements before abbreviations (#4635). + Add updateStrPos in a couple places where needed. * Text.Pandoc.Readers.Docx: Trigger bold/italic with bCs, iCs (#4947). These are variants for \"complex scripts\" like Arabic and are now treated just like b, i (bold, italic). * Text.Pandoc.Readers.Muse (Alexander Krotov) + Try to parse lists before trying to parse table. This ensures that tables inside lists are parsed correctly. + Forbid whitespace after opening and before closing markup elements. + Parse page breaks. + Simplify `museToPandocTable` to get rid of partial functions. + Allow footnotes to start with empty line. + Make sure that the whole text is parsed. + Allow empty headers. Previously empty headers caused parser to terminate without parsing the rest of the document. + Allow examples to be indented with tabs. + Remove indentation from examples indicated by `{{{` and `}}}`. + Fix parsing of empty cells. + Various changes to internals. + Rewrite some parsers in applicative style. + Avoid tagsoup dependency. + Allow table caption to contain `+`. * Text.Pandoc.Writers.LaTeX + Add newline if math ends in a comment (#4880). This prevents the closing delimiter from being swalled up in the comment. + With `--listings`, don\'t pass through org-babel attributes (#4889). + With `--biblatex`, use `\\autocite` when possible (#4960). `\\autocites{a1}{a2}{a3}` will not collapse the entries. So, if we don\'t have prefixes and suffixes, we use instead `\\autocite{a1;a2;a3}`. + Fix description lists contining highlighted code (#4662). * Text.Pandoc.Writers.Man + Don\'t wrap `.SH` and `.SS` lines (#5019). + Avoid unnecessary `.RS`/`.RE` pair in definition lists with one paragraph definitions. + Moved common groff functions to Text.Pandoc.Writers.Groff. * Fix strong/code combination on man (should be `\\f[CB]` not `\\f[BC]`, see #4973). + Man writer: use `\\f[R]` instead of `\\f[]` to reset font (Alexander Krotov, #4973). + Move `splitSentences` to Text.Pandoc.Shared. * Text.Pandoc.Writers.Docx + Add framework for custom properties (#3034). So far, we don\'t actually write any custom properties, but we have the infrastructure to add this. + Handle tables in table cells (#4953). Although this is not documented in the spec, some versions of Word require a `w:p` element inside every table cell. Thus, we add one when the contents of a cell do not already include one (e.g. when a table cell contains a table). * Text.Pandoc.Writers.AsciiDoc: Prevent illegal nestings. Adjust header levels so that n+1 level headers are only found under n level headers, and the top level is 1. * Text.Pandoc.Writers.OpenDocument: Improve bullet/numbering alignment (#4385). This change eliminates the large gap we used to have between bullet and text, and also ensures that numbers in numbered lists will be right-aligned. * Text.Pandoc.Writers.ZimWiki + Number ordered list items sequentially, rather than always with 1 (#4962). + Remove extra indentation on lists (#4963). * Text.Pandoc.Writers.EPUB: Use metadata field `css` instead of `stylesheet` (Mauro Bieg, #4990). * Text.Pandoc.Writers.Markdown: Ensure blank between raw block and normal content (#4629). Otherwise a raw block can prevent a paragraph from being recognized as such. * Text.Pandoc.Writers.Ms + Removed old `escapeBar`. We don\'t need this now that we use `AATT` for math delim. + Moved common code to Text.Pandoc.Writers.Roff and to Text.Pandoc.RoffChar. + Move `splitSentences` to Text.Pandoc.Shared (to avoid duplication with the man writer). * Text.Pandoc.Writers.Muse (Alexander Krotov). + Add support for grid tables. + Fix Muse writer style. + Use `length` instead of `realLength` to calculate definition indentation. Muse parsers don\'t take character width into account when calculating indentation. + Do not insert newline before lists. + Use lightweight markup after `` tag. * New unexported module Text.Pandoc.Writers.Roff, providing functions useful for all roff format writers (man, ms). * Text.Pandoc.Lua + Move globals handling to separate module Text.Pandoc.Lua.Global (Albert Krewinkel). + Lua filter internals: push Shared.Element as userdata (Albert Krewinkel). Hierarchical Elements were pushed to Lua as plain tables. This is simple, but has the disadvantage that marshaling is eager: all child elements will be marshaled as part of the object. Using a Lua userdata object instead allows lazy access to fields, causing content marshaling just (but also each time) when a field is accessed. Filters which do not traverse the full element contents tree become faster as a result. [default template changes] * LaTeX template: + Add variable `hyperrefoptions` (#4925, Mathias Walter). + Add variable `romanfont`, `romanfontoptions` (#4665, OvidiusCicero). * AsciiDoc template: use single-line style for title. * revealjs template: Fix typo in the socket.io javascript plugin (#5006, Yoan Blanc). * Text.Pandoc.Lua.Util: add missing docstring to `defineHowTo` (Albert Krewinkel). * data/pandoc.lua: add datatype ListAttributes (Albert Krewinkel) * data/sample.lua: replace custom pipe function with pandoc.utils.pipe (Albert Krewinkel). [documentation improvements] * INSTALL.md + Add chromeos install instructions (#4958) (Evan Pratten). + Add note about TinyTeX. * MANUAL.txt + Change `groff` -> `roff`. + Implement `--ascii` for Markdown writer. + Clarify LaTeX image dimensions output (Mauro Bieg). * doc/customizing-pandoc.md: added skeleton (Mauro Bieg, #3288). * doc/getting-started.md: Added title to test1.md to avoid warning. * doc/lua-filters.md: merge type references into main document, fix description of Code.text (Albert Krewinkel). [build infrastructure improvements] * Makefile + Makefile: added quick-cabal, full-cabal targets. + Make .msi download targets insensitive to order of appveyor builds. * Update benchmarks for ghc 8.6.1. * pandoc.cabal: + Enable more compiler warnings (Albert Krewinkel). + Make base lower bound 4.8. + Bump upper bound for QuickCheck. + Bump upper bound for binary. + Updated version bounds for containers and haddock-library (#4974). + Added docx/docPropos/custom.xml to cabal data-files. + Require skylighting 0.7.4 (#4920). + New dependency on unicode-transforms package for normalization. * Improved .travis.yml testing and test with GHC 8.6.1 (Albert Krewinkel). * Added `tools/changelog-helper.sh`. * Added test/grofftest.sh for testing the man reader on real man pages. * Wed Oct 10 2018 psimonsAATTsuse.com- Update pandoc to version 2.3.1. * RST reader: + Parse RST inlines containing newlines (#4912, Francesco Occhipinti). This eliminates a regression introduced after pandoc 2.1.1, which caused inline constructions containing newlines not to be recognized. + Fix bug with internal link targets (#4919). They were gobbling up indented content underneath. * Markdown reader: distinguish autolinks in the AST. With this change, autolinks are parsed as Links with the `uri` class. (The same is true for bare links, if the `autolink_bare_uris` extension is enabled.) Email autolinks are parsed as Links with the `email` class. This allows the distinction to be represented in the AST. * Org reader: + Force inline code blocks to honor export options (Brian Leung). + Parse empty argument array in inline src blocks (Brian Leung). * Muse reader (Alexander Krotov): + Added additional tests. + Do not allow code markup to be followed by digit. + Remove heading level limit. + Simplify `` tag parsers + Parse Text instead of String. Benchmark shows 7% improvement. + Get rid of HTML parser dependency. + Various code improvements. * ConTeXt writer: change `\\` to `/` in Windows image paths (#4918). We do this in the LaTeX writer, and it avoids problems. Note that `/` works as a LaTeX path separator on Windows. * LaTeX writer: + Add support for multiprenote and multipostnote arguments with `--biblatex` (Brian Leung, #4930). The multiprenotes occur before the first prefix of a multicite, and the multipostnotes follow the last suffix. + Fix a use of `last` that might take empty list. If you ran with `--biblatex` and have an empty document (metadata but no blocks), pandoc would previously raise an error because of the use of `last` on an empty list. * RTF writer: Fix build failure with ghc-8.6.1 caused by missing MonadFail instance (Jonas Scholl). * ODT Writer: Improve table header row style handling (Nils Carlson). This changes the way styles for cells in the header row and normal rows are handled in ODT tables. Previously a new (but identical) style was generated for every table, specifying the style of the cells within the table. After this change there are two style definitions for table cells, one for the cells in the header row, one for all other cells. This doesn\'t change the actual styles, but makes post-processing changes to the table styles much simpler as it is no longer necessary to introduce new styles for header rows and there are now only two styles where there was previously one per table. * HTML writer: + Don\'t add `uri` class to presumed autolinks. Formerly the `uri` class was added to autolinks by the HTML writer, but it had to guess what was an autolink and could not distinguish `[http://example.com](http://example.com)` from ``. It also incorrectly recognized `[pandoc](pandoc)` as an autolink. Now the HTML writer simply passes through the `uri` attribute if it is present, but does not add anything. + Avoid adding extra section nestings for revealjs. Previously revealjs title slides at level (slidelevel - 1) were nested under an extra section element, even when the section contained no additional (vertical) content. That caused problems for some transition effects. + Omit unknown attributes in EPUB2 output. For example, `epub:type` attributes should not be passed through, or the epub produced will not validate. * JATS writer: remove \'role\' attribute on \'bold\' and \'sc\' elements (#4937). The JATS spec does not allow these. * Textile writer: don\'t represent `uri` class explicitly for autolinks (#4913). * Lua filters (Albert Krewinkel): + Cleanup filter execution code. + Better error on test failure. * HTML, Muse reader tests: reduce time taken by round-trip test. * Added cabal.project. * MANUAL: `epub:type` is only useful for epub3 (Maura Bieg). * Use hslua v1.0.0 (Albert Krewinkel). * Fix `translations/ru` to use modern Russian orthography (Ivan Trubach). * Build Windows binary using ghc 8.6.1 and cabal new-build. This fixes issues with segfaults in the 32-bit Windows binaries (#4283). * Add `--metadata-file` option (Mauro Bieg, #1960), which allows users to specify metadata in a YAML file, regardless of the input format (#1960). * Text.Pandoc.Writers.Shared: export `isDisplayMath` (API change). * Text.Pandoc.Readers.Markdown: export `yamlToMeta` (API change, Mauro Bieg). * Text.Pandoc.Readers.LaTeX.Types: + New type `ArgSpec` (API change). + Second parameter of `Macro` constructor is now `[ArgSpec]` instead of `Int` (API change). * Markdown reader: + Use `tex` instead of `latex` for raw tex-ish content. We can\'t always tell if it\'s LaTeX, ConTeXt, or plain TeX. Better just to use `tex` always. Note that if `context` or `latex` specifically is desired, you can still force that in a markdown document by using the raw attribute. Note that this change may affect some filters, if they assume that raw tex parsed by the Markdown reader will be RawBlock (Format `latex`). In most cases it should be trivial to modify the filters to accept `tex` as well. + Refactor and reorganize YAML code (Mauro Bieg). + Make `example_lists` work for interrupted lists without `startnum` (#4908). * HTML reader: + Parse `` or a style contains ``. + SelfContained: Handle URL inside material retrieved from a URL (#3629). This can happen e.g. with an AATTimport of a google web font. (What is imported is some CSS which contains an url reference to the font itself.) Also, allow unescaped pipe (|) in URL. + Load resources from `data-src` (needed for lazy loading in reveal.js slide shows). + Handle `data-background-image` attribute on section (#3979). * `Text.Pandoc.Parsing`: + Added `indentWith` (Alexander Krotov, #3687). + Added `stateCitations` to `ParserState`. + Removed `stateChapters` from `ParserState`. + In `ParserState`, make `stateNotes\'` a Map, add `stateNoteRefs`. + Added `gobbleSpaces` and `gobbleAtMostSpaces`. + Adjusted type of `insertIncludedFile` so it can be used with token parser. + Replace old texmath macro stuff from Parsing. Use Macro from Text.Pandoc.Readers.LaTeX.Types instead. + Export `insertIncludedFile`. + Added `HasLogMessages`, `logMessage`, `reportLogMessages` (#3447). + Replace partial with total function (Albert Krewinkel). + Introduce `HasIncludeFiles` type class (Albert Krewinkel). The `insertIncludeFile` function is generalized to work with all parser states which are instances of that class. + Add `insertIncludedFilesF` which returns F blocks (Albert Krewinkel). The `insertIncludeFiles` function was generalized and renamed to `insertIncludedFiles\'`; the specialized versions are based on that. + `many1Till`: Check for the end condition before parsing (Herwig Stuetz). By not checking for the end condition before the first parse, the parser was applied too often, consuming too much of the input. This only affects `many1Till p end` where `p` matches on a prefix of `end`. + Provide `parseFromString` (#3690). This is a verison of `parseFromString` specialied to ParserState, which resets `stateLastStrPos` at the end. This is almost always what we want. This fixes a bug where `_hi_` wasn\'t treated as emphasis in the following, because pandoc got confused about the position of the last word: `- [o] _hi_`. + Added `takeP`, `takeWhileP` for efficient parsing of `[Char]`. + Fix `blanklines` documentation (Alexander Krotov, #3843). + Give less misleading line information with `parseWithString`. Previously positions would be reported past the end of the chunk. We now reset the source position within the chunk and report positions \"in chunk.\" + Add `anyLineNewline` (Alexander Krotov). + Provide shared F monad functions for Markdown and Org readers (Albert Krewinkel). The `F` monads used for delayed evaluation of certain values in the Markdown and Org readers are based on a shared data type capturing the common pattern of both `F` types. + Add `returnF` (Alexander Krotov). + Avoid parsing `Notes: * *` as a bare URI (#3570). This avoids parsing bare URIs that start with a scheme + colon + ` *`, `_`, or `]`. + Added `readerAbbreviations` to `ParserState`. Markdown reader now consults this to determine what is an abbreviation. + Combine grid table parsers (Albert Krewinkel, #3638). The grid table parsers for markdown and rst was combined into one single parser `gridTable`, slightly changing parsing behavior of both parsers: (1) The markdown parser now compactifies block content cell-wise: pure text blocks in cells are now treated as paragraphs only if the cell contains multiple paragraphs, and as plain blocks otherwise. Before, this was true only for single-column tables. (2) The rst parser now accepts newlines and multiple blocks in header cells. + Generalize tableWith, gridTableWith (Albert Krewinkel). The parsing functions `tableWith` and `gridTableWith` are generalized to work with more parsers. The parser state only has to be an instance of the `HasOptions` class instead of requiring a concrete type. Block parsers are required to return blocks wrapped into a monad, as this makes it possible to use parsers returning results wrapped in `Future`s. * `Text.Pandoc.Shared`: + Simplify `toRomanNumeral` using guards (Alexander Krotov, #3445) + `stringify`: handle Quoted better (#3958). Previously we were losing the quotation marks in Quoted elements. * `Text.Pandoc.Writers.Shared`: + Export `metaToJSON\'`, `addVariablesToJSON` (#3439). This allows us to add the variables AFTER using the metadata to generate a YAML header (in the Markdown writer). + Added `unsmartify` (previously in RST writer). Undo literal double curly quotes. Previously we left these. + Generalize type of `metaToJSON` so it can take a Text. Previously a String was needed as argument; now any ToJSON instance will do. + Added `gridTable` (previously in Markdown writer). + `gridTable`: Refactored to use widths in chars. + `gridTable`: remove unnecessary extra space in cells. + Fixed `addVariablesToJSON`. It was previously not allowing multiple values to become lists. + Pipe tables: impose minimum cell size (see #3526). [default template changes] * HTML templates (including EPUB and HTML slide show templates): + Make default.html5 polyglot markup conformant (John Luke Bentley, [#3473]). Polyglot markup is HTML5 that is also valid XHTML. See . With this change, pandoc\'s html5 writer creates HTML that is both valid HTML5 and valid XHTML. + Regularized CSS in html/epub/html slide templates (#3485). All templates now include `code{white-space: pre-wrap}` and CSS for `q` if `--html-q-tags` is used. Previously some templates had `pre` and others `pre-wrap`; the `q` styles were only sometimes included. + CSS for `.smallcaps`, (Mauro Bieg, #1592) + `default.revealjs`: make `history` default to true. + `default.revealjs`: use lazy loading (#2283). + `default.revealjs`: add `mathjax` variable and some conditional code to use the MathJaX plugin. + `default.slidy` uses `https` instead of `http` (ickc, #3848). + `default.dzslides`: Load Google Font using HTTPS by default (Yoan Blanc). * DocBook5 template: Use `lang` and `subtitle` variables (Jens Getreu, [#3855]). * LaTeX/Beamer template: + Combine LaTeX/Beamer templates (Andrew Dunning, #3878). `default.beamer` has been removed; beamer now uses the `default.latex` template. Beamer-specific parts are conditional on the `beamer` variable set by the writer. Note that `pandoc -D beamer` will return this (combined) template. + Use `xcolor` for `colorlinks` option (Andrew Dunning, #3877). Beamer loads `xcolor` rather than `color`, and thus the `dvipsnames` option doesn\'t take effect. This also provides a wider range of colour selections with the `svgnames` option. + Use starred versions of `xcolor` names (Andrew Dunning). Prevents changes to documents defined using the `dvipsnames` list (e.g. `Blue` gives a different result with svgnames enabled). + Load `polyglossia` after header-includes (#3898). It needs to be loaded as late as possible. + Use `unicode-math` (Vaclav Haisman). Use `mathspec` with only XeLaTeX on request. + Don\'t load `fontspec` before `unicode-math` (over there). The `unicode-math` package loads `fontspec` so explict loading of `fontspec` before `unicode-math` is not necessary. + Use `unicode-math` by default in default.latex template. mathspec will be used in xelatex if the `mathspec` variable is set; otherwise unicode-math will be used (Václav Haisman). + Use `dvipsnames` options when `colorlinks` specified (otherwise we get an error for `maroon`) (Thomas Hodgson). + Added beamer `titlegraphic` and `logo` variables (Thomas Hodgson). + Fix typo in fix for notes in tables (#2378, zeeMonkeez). + Fix `hyperref` options clash (Andrew Dunning, #3847) Avoids an options clash when loading a package (e.g. `tufte-latex`) that uses `hyperref` settings different from those in the template. + Add `natbiboptions` variable (#3768). + Fix links inside captions in LaTeX output with links-as-notes (Václav Haisman, #3651). Declare our redefined `\\href` robust. + Load `parskip` before `hyperref` (Václav Haisman, #3654). + Allow setting Japanese fonts when using LuaLaTeX (Václav Haisman, [#3873]). by using the `luatexja-fontspec` and `luatexja-preset` packages. Use existing `CJKmainfont` and `CJKoptions` template variables. Add `luatexjafontspecoptions` for `luatexja-fontspec` and `luatexjapresetoptions` for `luatexja-preset`. + Added `aspectratio` variable to beamer template (Václav Haisman, [#3723]). + Modified template.latex to fix XeLaTex being used with tables (lwolfsonkin, #3661). Reordered `lang` variable handling to immediately before `bidi`. * ConTeXt template: Improved font handling: `simplefonts` is now obsolete in ConTeXt (Pablo Rodríguez). [documentation improvements] * MANUAL.txt: + Add URL for Prince HTML > PDF engine (Ian, #3919). + Document that content above slide-level will be omitted in slide shows. See #3460, #2265. + Explain `--webtex` SVG url (Mauro Bieg, #3471) + Small clarification in YAML metadata section. + Document that html4 is technically XHTML 1.0 transitional. + Remove refs to highlighting-kate (#3672). + Document ibooks specific epub metadata. + Clarify that mathml is used for ODT math. + Mention limitations of Literate Haskell Support (#3410, Joachim Breitner). + Add documentation of limitations of grid tables (Stephen McDowell, #3864). + Clarify that meta-json contains transformed values (Jakob Voß, [#3491]) Make clear that template variable `meta-json` does not contain plain text values or JSON output format but field values transformed to the selected output format. * COPYRIGHT: + Clarify that templates are dual-licensed. + Clarify that pandoc-types is BSD3 licensed. + List new files not written by jgm (Albert Krewinkel). + Update dates in copyright notices (Albert Krewinkel). This follows the suggestions given by the FSF for GPL licensed software. * INSTALL.md: + Improved instructions for tests with patterns. + Put RPM-based distros on separate point (Mauro Bieg, #3449) * CONTRIBUTING.md: + Fixed typos (Wandmalfarbe, #3479). + Add \"ask on pandoc-discuss\" (Mauro Bieg). * Add lua filter documentation in `doc/lua-filters.md`. Note that the end of this document is autogenerated from `data/pandoc.lua` using `make doc/lua-filters.md`, which uses `tools/ldoc.ltp` (Albert Krewinkel). * Add `doc/filters.md`. This is the old scripting tutorial from the website. * Add `doc/using-the-pandoc-api.md` (#3289). This gives an introduction to using pandoc as a Haskell library. [build infrastructure improvements] * Removed `data/templates` submodule. Templates are now a subtree in `data/templates`. This removes the need to do `git submodule update`. * Renamed `tests` -> `test`. * Remove `https` flag. Always build with HTTPS support. * Use `file-embed` instead of `hsb2hs` to embed data files when `embed_data_files` flag is set. `file-embed` gives us better dependency tracking: if a data file changes, ghc/stack/cabal know to recompile the Data module. This also removes `hsb2hs` as a build dependency. * Add `custom-setup` stanza to pandoc, lowercase field names. * Add `static` Cabal flag. * Name change OSX -> MacOS. Add a -MacOS suffix to mac package rather than -OSX. Changed local names from osx to macos. * make_macos_package.sh - Use strip to reduce executable size. * Revised binary linux package. Now a completely static executable is created, using Docker and alpine. We create both a deb and a tarball. The old `deb` directory has been replaced with a `linux` directory. Running `make` in the `linux` directory should perform the build, putting the binary packages in `artifacts/`. * `linux/control.in`: add `Replaces:`, so existing pandoc-citeproc and pandoc-data packages will be uninstalled; this package provides both (#3822). Add latex packages as \'suggested\', update description. * Remove cpphs build requirement -- it is no longer needed. * Replaced `{deb,macos,windows}/stack.yaml` with `stack.pkg.yaml`. * Name change OSX -> macOS (ickc, #3869). * Fix casing of Linux, UNIX, and Windows (ickc). * `.travis.yml`: create a source dist and do cabal build and test there. That way we catch errors due to files missing from the data section of pandoc.cabal. * Makefile: + Split `make haddock` from `make full`. + Add BRANCH variable for winpkg. + Add `lint` target. + Improve `make full`. Disable optimizations. Build everything, inc. trypandoc and benchmarks. Use parallel build. + Allow `make test` to take `TESTARGS`. * Added new command tests (`Tests.Command`), using small text files in `test/command/`. Any files added in this directory will be treated as shell tests (see smart.md for an example). This makes it very easy to add regression tests etc. * Test fixes so we can find data files. In old tests & command tests, we now set the environment variable `pandoc_datadir`. In lua tests, we set the datadir explicitly. * Refactored `compareOutput` in docx writer test. * Consolidated some common functions in `Tests.Helper`. * Small change to unbalanced bracket test to speed up test suite. * Speed up Native writer quickcheck tests. * Use tasty for tests rather than test-framework. * Add simple Emacs mode to help with Pandoc templates editing. (Václav Haisman, #3889). `tools/pandoc-template-mode.el` * Use skylighting library instead of highlighting-kate for syntax highlighting. Skylighting is faster and more accurate (#3363). Later we\'ll be able to add features like warning messages, dynamic loading of xml syntax definitions, and dynamic loading of themes. * Added a new highlight style, `breezeDark`. * Text.Pandoc.Highlighting: Update list of `listings` languages (#3374). This allows more languages to be used when using the `--listings` option. * OpenDocument writer: + Small refactoring. Removed separate \'parent\' parameter in paraStyle. + Don\'t profilerate text styles unnecessarily (#3371). This change makes the writer create only as many temporary text styles as are absolutely necessary. It also consolidates adjacent nodes with the same style. * Org reader (Albert Krewinkel): + Allow short hand for single-line raw blocks (Albert Krewinkel, [#3366]). Single-line raw blocks can be given via `#+FORMAT: raw line`, where `FORMAT` must be one of `latex`, `beamer`, `html`, or `texinfo`. + Accept org-ref citations followed by commas (Albert Krewinkel). Bugfix for an issue which, whenever the citation was immediately followed by a comma, prevented correct parsing of org-ref citations. + Ensure emphasis markup can be nested. Nested emphasis markup (e.g. `/ *strong and emphasized */`) was interpreted incorrectly in that the inner markup was not recognized. + Remove pipe char irking the haddock coverage tool (Albert Krewinkel). * Docx reader: Empty header should be list of lists (Jesse Rosenthal). In the past, the docx reader wrote an empty header as an empty list. It should have the same width as a row (and be filled with empty cells). * MediaWiki reader: + Improved handling of display math (#3362). Sometimes display math is indented with more than one colon. Previously we handled these cases badly, generating definition lists and missing the math. + Fix quotation mark parsing (#3336, tgkokk). Change MediaWiki reader\'s behavior when the smart option is parsed to match other readers\' behavior. * Markdown reader: + Fixed `-f markdown_github-hard_line_breaks+escaped_line_breaks` (#3341). Previously this did not properly enable escaped line breaks. + Disallow space between inline code and attributes (#3326, #3323, Mauro Bieg). * DocBook5 writer: make id attribute xml:id, fixes #3329 (#3330, Mauro Bieg). * Added some test cases for ODT reader (#3306, #3308, Hubert Plociniczak). * LaTeX writer: allow tables with empty cells to count as \"plain.\" This addresses a problem of too-wide tables when empty cells are used. Thanks to Joost Kremers for reporting the issue. * Org writer: prefix footnote numbers with `fn:` (Albert Krewinkel). Unprefixed numbers where used by older org-mode versions, but are no longer supported. * HTML writer: don\'t process pars with empty RawInline, (#1040, #3327, Mauro Bieg). * Markdown writer: Fix display math with `--webtex` (#3298). * Fix sample.lua so it properly handles raw blocks/inlines (#3358, bumper314). * Templates: + default.latex: Moved geometry after hyperref (Václav Haisman). Otherwise PDF sizes can be wrong in some circumstances. + Copied a few changes from default.latex to default.beamer (Wandmalfarbe). + default.latex, default.beamer: Changed position of `\\VerbatimNotes` and `fancyvrb`. This fixes hyperlinks on footnotes in documents that contain verbatim in notes (#3361). (Note: the beamer template was updated to match the LaTeX template, but at this point verbatim in notes seems not to work in beamer.) + default.latex: Allow passing `microtypeoptions` to microtype (Václav Haisman). + default.latex: Add hyphen option to url package. + default.docbook5: Fix namespace declarations (Mauro Bieg). * Moved `make_osx_package.sh` to `osx/` directory. * Travis continuous integration: + Fix false positives with dist build. + Speed improvements (Kolen Cheung, #3304, #3357). * MANUAL.txt: + Clarify that blank space is needed around footnotes (#3352). + Fixed typo (#3351, Alexey Rogechev). + Note that `--wrap=auto` does not work in HTML output. + Default `--columns` width is 72, not 80. + Fixed broken links (#3316, Kolen Cheung). + Document usage of `AATT *` in nocite section (#3333, John Muccigrosso). * INSTALL.md: + Indent code so it\'s properly formatted (#3335, Bheesham Persaud). + Added instructions for extracting binary from OSX, Windows packages. * CONTRIBUTING.md: Describe labels currently used in issue tracker (Albert Krewinkel). The labels have changed over time, the list of labels is updated to reflect the current set of labels used in the issue tracker. * Rearrange and extend badges in README (Albert Krewinkel, #3354) * Bumped version bounds for dependencies. * Thu Aug 03 2017 psimonsAATTsuse.com- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf. * Mon Jun 19 2017 psimonsAATTsuse.com- Update to version 1.19.2.1 revision 5. * Thu Jun 01 2017 schwabAATTsuse.de- Fix requires * Wed May 31 2017 psimonsAATTsuse.com- Update to version 1.19.2.1 revision 4. * Mon Apr 24 2017 psimonsAATTsuse.com- Update to version 1.19.2.1 revision 3 with cabal2obs. * Wed Mar 22 2017 psimonsAATTsuse.com- Update to version 1.19.2.1 revision 2 with cabal2obs. * Thu Mar 02 2017 psimonsAATTsuse.com- Update to version 1.19.2.1 revision 1 with cabal2obs. * Sun Feb 12 2017 psimonsAATTsuse.com- Update to version 1.19.2.1 with cabal2obs. * Fri Dec 09 2016 psimonsAATTsuse.com- Drop obsolete suggestion of \"texlive-latex-bin-bin\". This package is now a dependency of the pandoc-pdf sub-package. * Wed Sep 14 2016 astiegerAATTsuse.com- add constraints to fix build on aarch64 * Sun Jul 10 2016 psimonsAATTsuse.com- Update to version 1.17.1 revision 1 with cabal2obs. * Sun Jun 05 2016 mimi.vxAATTgmail.com- update to 1.17.1 * New output format: `docbook5` * `Text.Pandoc.Options`: Add `writerDocBook5` to `WriterOptions` * Org writer: + Add :PROPERTIES: drawer support This allows header attributes to be added to org documents in the form of `:PROPERTIES:` drawers. All available attributes are stored as key/value pairs. This reflects the way the org reader handles `:PROPERTIES:` blocks. + Add drawer capability. For the implementation of the Drawer element in the Org Writer, we make use of a generic Block container with attributes. The presence of a `drawer` class defines that the `Div` constructor is a drawer. The first class defines the drawer name to use. The key-value list in the attributes defines the keys to add inside the Drawer. Lastly, the list of Block elements contains miscellaneous blocks elements to add inside of the Drawer. + Use `CUSTOM_ID` in properties. The `ID` property is reserved for internal use by Org-mode and should not be used. The `CUSTOM_ID` property is to be used instead, it is converted to the `ID` property for certain export format. * LaTeX writer: + Ignore `--incremental` unless output format is beamer. + Fix polyglossia to babel env mapping. Allow for optional argument in square brackets. + Recognize `la-x-classic` as Classical Latin. This allows one to access the hyphenation patterns in CTAN\'s hyph-utf8. + Add missing languages from hyph-utf8. + Improve use of `\\strut` with `\\minipage` inside tables . This improves spacing in multiline tables. + Use `{}` around options containing special chars. + Avoid lazy `foldl`. + Don\'t escape underscore in labels. Previously they were escaped as `ux5f`. + brazilian -> brazil for polyglossia. * HTML writer: Ensure mathjax link is added when math appears in footnote . Previously if a document only had math in a footnote, the MathJax link would not be added. * EPUB writer: set `navpage` variable on nav page. This allows templates to treat it differently. * DocBook writer: + Use docbook5 if `writerDocbook5` is set. + Properly handle `ulink`/`link`. * EPUB reader: + Unescape URIs in spine. + EPUB reader: normalise link id. * Docx Reader: + Parse `moveTo` and `moveFrom`. `moveTo` and `moveFrom` are track-changes tags that are used when a block of text is moved in the document. We now recognize these tags and treat them the same as `insert` and `delete`, respectively. So, `--track-changes=accept` will show the moved version, while `--track-changes=reject` will show the original version. + Tests for track-changes moving. * ODT, EPUB, Docx readers: throw `PandocError` on unzip failure Previously, `readDocx`, `readEPUB`, and `readOdt` would error out if zip-archive failed. We change the archive extraction step from `toArchive` to `toArchiveOrFail`, which returns an Either value. * Markdown, HTML readers: be more forgiving about unescaped `&` in HTML (#2410). We are now more forgiving about parsing invalid HTML with unescaped `&` as raw HTML. (Previously any unescaped `&` would cause pandoc not to recognize the string as raw HTML.) * Markdown reader: + Fix pandoc title blocks with lines ending in 2 spaces. + Added `-s` to markdown-reader-more test. * HTML reader: fixed bug in `pClose`. This caused exponential parsing behavior in documnets with unclosed tags in `dl`, `dd`, `dt`. * MediaWiki reader: Allow spaces before `!` in MediaWiki table header * RST reader: Support `:class:` option for code block in RST reader * Org reader: + Stop padding short table rows. Emacs Org-mode doesn\'t add any padding to table rows. The first row (header or first body row) is used to determine the column count, no other magic is performed. + Refactor rows-to-table conversion. This refactors the codes conversing a list table lines to an org table ADT. The old code was simplified and is now slightly less ugly. + Fix handling of empty table cells, rows. This fixes Org mode parsing of some corner cases regarding empty cells and rows. Empty cells weren\'t parsed correctly, e.g. `|||` should be two empty cells, but would be parsed as a single cell containing a pipe character. Empty rows where parsed as alignment rows and dropped from the output. + Fix spacing after LaTeX-style symbols. The org-reader was droping space after unescaped LaTeX-style symbol commands: `\\ForAll \\Auml` resulted in `∀Ä` but should give `∀ Ä` instead. This seems to be because the LaTeX-reader treats the command-terminating space as part of the command. Dropping the trailing space from the symbol-command fixes this issue. + Print empty table rows. Empty table rows should not be dropped from the output, so row-height is always set to be at least 1. + Move parser state into separate module. The org reader code has become large and confusing. Extracting smaller parts into submodules should help to clean things up. + Add support for sub/superscript export options. Org-mode allows to specify export settings via `#+OPTIONS` lines. Disabling simple sub- and superscripts is one of these export options, this options is now supported. + Support special strings export option Parsing of special strings (like `...` as ellipsis or `--` as en dash) can be toggled using the `-` option. + Support emphasized text export option. Parsing of emphasized text can be toggled using the ` *` option. This influences parsing of text marked as emphasized, strong, strikeout, and underline. Parsing of inline math, code, and verbatim text is not affected by this option. + Support smart quotes export option. Reading of smart quotes can be toggled using the `\'` option. + Parse but ignore export options. All known export options are parsed but ignored. + Refactor block attribute handling. A parser state attribute was used to keep track of block attributes defined in meta-lines. Global state is undesirable, so block attributes are no longer saved as part of the parser state. Old functions and the respective part of the parser state are removed. + Use custom `anyLine`. Additional state changes need to be made after a newline is parsed, otherwise markup may not be recognized correctly. This fixes a bug where markup after certain block-types would not be recognized. + Add support for `ATTR_HTML` attributes. Arbitrary key-value pairs can be added to some block types using a `#+ATTR_HTML` line before the block. Emacs Org-mode only includes these when exporting to HTML, but since we cannot make this distinction here, the attributes are always added. The functionality is now supported for figures. + Add `:PROPERTIES:` drawer support. Headers can have optional `:PROPERTIES:` drawers associated with them. These drawers contain key/value pairs like the header\'s `id`. The reader adds all listed pairs to the header\'s attributes; `id` and `class` attributes are handled specially to match the way `Attr` are defined. This also changes behavior of how drawers of unknown type are handled. Instead of including all unknown drawers, those are not read/exported, thereby matching current Emacs behavior. + Use `CUSTOM_ID` in properties. See above on Org writer changes. + Respect drawer export setting. The `d` export option can be used to control which drawers are exported and which are discarded. Basic support for this option is added here. + Ignore leading space in org code blocks. Also fix up tab handling for leading whitespace in code blocks. + Support new syntax for export blocks. Org-mode version 9 uses a new syntax for export blocks. Instead of `#+BEGIN_`, where `` is the format of the block\'s content, the new format uses `#+BEGIN_export ` instead. Both types are supported. + Refactor `BEGIN...END` block parsing. + Fix handling of whitespace in blocks, allowing content to be indented less then the block header. + Support org-ref style citations. The *org-ref * package is an org-mode extension commonly used to manage citations in org documents. Basic support for the `cite:citeKey` and `[[cite:citeKey][prefix text::suffix text]]` syntax is added. + Split code into separate modules, making for cleaner code and better decoupling. * Added `docbook5` template. * `--mathjax` improvements: + Use new CommonHTML output for MathJax (updated default MathJax URL) + Change default mathjax setup to use `TeX-AMS_CHTML` configuration. This is designed for cases where the input is always TeX and maximal conformity with TeX is desired. It seems to be smaller and load faster than what we used before. See #2858. + Load the full MathJax config to maximize loading speed. * Require texmath 0.8.6.2. Closes several texmath-related bugs This fixes behavior of roots, e.g. `\\sqrt[3]{x}`, and issues with sub/superscript positioning and matrix column alignment in docx. * README: + Clarified documentation of `implicit_header_references`. + Improved documentation of `--columns` option. * Added appveyor setup, with artefacts. * stack.yaml versions: Use proper flags used for texmath, pandoc-citeproc. * LaTeX template: support for custom font families. Needed for correct polyglossia operation with Cyrillic fonts and perhaps can find some other usages. Example usage in YAML metadata: fontfamilies: - name: \\cyrillicfont font: Liberation Serif - name: \\cyrillicfonttt options: Scale=MatchLowercase font: Liberation * Tue Mar 29 2016 mimi.vxAATTgmail.com- update to 1.17.0.3 * LaTeX writer: Fixed position of label in figures. Previously the label wasn\'t in the right place, and `\\ref` wouldn\'t work properly. * Added .tei test files to pandoc.cabal so they\'ll be included in tarball. * Fri Mar 25 2016 mimi.vxAATTgmail.com- update to 1.17.0.2 * Fixed serious regression in `htmlInBalanced`, which caused newlines to be omitted in some raw HTML blocks in Markdown * File scope is no longer used when there are no input files (i.e., when input comes from stdin). Previously file scope was triggered when the `json` reader was specified and input came from `stdin`, and this caused no output to be produced. * Improved documentation of templates * Added `--file-scope` option (Jesse Rosenthal). By default pandoc operates on multiple files by first concatenating them (around extra line breaks) and then processing the joined file. So it only parses a multi-file document at the document scope. This has the benefit that footnotes and links can be in different files, but for some purposes it is useful to parse the individual files first and then combine their outputs (e.g. when the files use footnotes or links with the same labels). The `--file-scope` option causes pandoc to parse the files first, and then combine the parsed output, instead of combining before parsing. `--file-scope` is selected automatically for binary input files (which cannot be concatenated) and for pandoc json. * Add TEI Writer (Chris Forster) and `tei` output format. * Added a general `ByteStringReader` with warnings, used by the docx reader (API change, Jesse Rosenthal). * Add `readDocxWithWarnings` (API change, Jesse Rosenthal). * Changed type of `Shared.uniqueIdent`\'s argument from `[String]` to `Set String.` This avoids performance problems in documents with many identically named headers (API change, #2671). * Removed `tex_math_single_backslash` from `markdown_github` options * Make language extensions as well as full language names trigger syntax highlighting. For example, `py` will now work as well as `python` (jgm/highlighting-kate#83). * Added `institute` variable to latex, beamer templates (Fraser Tweedale, Josef Svenningsson). * Docx reader (Jesse Rosenthal): + Handle alternate content. Some word functions (especially graphics) give various choices for content so there can be backwards compatibility. + Don\'t turn numbered headers into lists. + Docx Reader: Add state to the parser, for warnings + Update feature checklist in source code. + Get rid of `Modifiable` typeclass. + Add tests for adjacent hyperlinks. + Add a \"Link\" modifier to `Reducible`. We want to make sure that links have their spaces removed, and are appropriately smushed together (#2689). * HTML reader: + Fixed behavior of base tag (#2777). If the base path does not end with slash, the last component will be replaced. E.g. base = `http://example.com/foo` combines with `bar.html` to give `http://example.com/bar.html`. If the href begins with a slash, the whole path of the base is replaced. E.g. base = `http://example.com/foo/` combines with `/bar.html` to give `http://example.com/bar.html`. + Rewrote `htmlInBalanced`. This version avoids an exponential performance problem with ` | |