git.iko.soy/typeable/pandoc
on master help sign in
Updated changelog.
commit6185ee8685a6a09c9b03a7976010dbf1aa584fd6 authorJohn MacFarlane <fiddlosopher@gmail.com> dateMon 9 Sep 2013, 20:23 (13 years ago) parenta9f3abc
1 file changed+126−116
changelog+126−116
changelog+126−116
@@ -2,6 +2,24 @@
22
33 [new features]
44
5+ * Much more flexible metadata, including arbitrary fields and structured
6+ values. Metadata can be specified flexibly in pandoc markdown using
7+ YAML metadata blocks, which may occur anywhere in the document:
8+
9+ ---
10+ title: Here is my title.
11+ abstract: |
12+ This is the abstract.
13+
14+ 1. It can contain
15+ 2. block content
16+ and *inline markup*
17+
18+ tags: [cat, dog, animal]
19+ ...
20+
21+ Metadata fields automatically populate template variables.
22+
523 * Added `opml` (OPML) as input and output format. The `_note` attribute,
624 used in OmniOutliner and supported by multimarkdown, is supported.
725 We treat the contents as markdown blocks under a section header.
@@ -45,7 +63,7 @@
4563
4664 . . .
4765
48− a pause.
66+ me pause.
4967
5068 * New markdown extensions:
5169
@@ -78,6 +96,20 @@
7896 `csl`, and `citation-abbreviations` from the metadata, though it
7997 may still be specified on the command line as before.
8098
99+ * A `Cite` element is now created in parsing markdown whether or not
100+ there is a matching reference. By default citations will print as `???`.
101+
102+ * The `pandoc-citeproc` script will put the bibliography at the
103+ end of the document, as before. However, it will be put inside a `Div`
104+ element with class "references", allowing users some control
105+ over the styling of references. A final header, if any, will
106+ be included in the `Div`.
107+
108+ * The markdown writer will not print a bibliography if the
109+ `citations` extension is enabled. (If the citations are formatted
110+ as markdown citations, it is redundant to have a bibliography,
111+ since one will be generated automatically.)
112+
81113 * Previously we used to store the directory of the first input file,
82114 even if it was local, and used this as a base directory for finding
83115 images in ODT, EPUB, Docx, and PDF. This has been confusing to many
@@ -98,6 +130,13 @@
98130 Parse `:<math>...</math>` as display math. These notations are used with
99131 the MathJax MediaWiki extension.
100132
133+ * All writers: template variables are set automatically from metadata
134+ fields. However, variables specified on the command line with
135+ `--variable` will completely shadow metadata fields.
136+
137+ * If `--variable` is used to set many variables with the same name,
138+ a list is created.
139+
101140 * Man writer: The `title`, `section`, `header`, and `footer` can now
102141 all be set individually in metadata. The `description` variable has been
103142 removed. Quotes have been added so that spaces are allowed in the
@@ -123,12 +162,38 @@
123162 and all tables will render as grid tables.
124163 + Support YAML title block (render fields in alphabetical order
125164 to make output predictable).
126−
165+
127166 [API changes]
128167
168+ * `Meta` in `Text.Pandoc.Definition` has been changed to allow
169+ structured metadata. (Note: existing code that pattern-matches
170+ on `Meta` will have to be revised.) Metadata can now contain
171+ indefinitely many fields, with content that can be a string,
172+ a Boolean, a list of `Inline` elements, a list of `Block`
173+ elements, or a map or list of these.
174+
175+ * A new generic block container (`Div`) has been added to `Block`,
176+ and a generic inline container (`Span`) has been added to `Inline`.
177+ These can take attributes. They will render in HTML, Textile,
178+ MediaWiki, Org, RST and and Markdown (with `markdown_in_html`
179+ extension) as HTML `<div>` and `<span>` elements; in other formats
180+ they will simply pass through their contents. But they can be
181+ targeted by scripts.
182+
129183 * `Format` is now a newtype, not an alias for String.
130184 Equality comparisons are case-insensitive.
131185
186+ * Added `Text.Pandoc.Walk`, which exports hand-written tree-walking
187+ functions that are much faster than the SYB functions from
188+ `Text.Pandoc.Generic`. These functions are now used where possible
189+ in pandoc's code. (`Tests.Walk` verifies that `walk` and `query`
190+ match the generic traversals `bottomUp` and `queryWith`.)
191+
192+ * Added `Text.Pandoc.JSON`, which provides `ToJSON` and `FromJSON`
193+ instances for the basic pandoc types. They use GHC generics and
194+ should be faster than the old JSON serialization using
195+ `Data.Aeson.Generic`.
196+
132197 * Added `Text.Pandoc.Process`, exporting `pipeProcess`.
133198 This is a souped-up version of `readProcessWithErrorcode` that
134199 uses lazy bytestrings instead of strings and allows setting
@@ -145,9 +210,9 @@
145210
146211 * In `Text.Pandoc.Shared`, `openURL` and `fetchItem` now return an
147212 Either, for better error handling.
148−
213+
149214 * Made `stringify` polymorphic in `Text.Pandoc.Shared`.
150−
215+
151216 * Removed `stripTags` from `Text.Pandoc.XML`.
152217
153218 * `Text.Pandoc.Templates`:
@@ -181,6 +246,14 @@
181246 a `Maybe`. `writerSourceURL` is set to 'Just url' when the first
182247 command-line argument is an absolute URL. (So, relative links will be
183248 resolved in relation to the first page.) Otherwise, 'Nothing'.
249+ + All bibliography-related fields have been removed from
250+ `ReaderOptions` and `WriterOptions`: `writerBiblioFiles`,
251+ `readerReferences`, `readerCitationStyle`.
252+
253+ * The `Text.Pandoc.Biblio` module has been removed. Users of the
254+ pandoc library who want citation support will need to use
255+ `Text.CSL.Pandoc` from `pandoc-citations`.
256+
184257
185258 [bug fixes]
186259
@@ -223,7 +296,7 @@
223296 with CSS files that include web fonts using the method described here:
224297 <http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/>
225298 (#739). Handle `src` in `embed`, `audio`, `source`, `input` tags.
226−
299+
227300 * `Text.Pandoc.Parsing`: `uri` parser no longer treats punctuation before
228301 percent-encoding, or a `+` character, as final punctuation.
229302
@@ -252,7 +325,7 @@
252325 + Improved handling of `<pre>` blocks (#927). Remove internal HTML tags
253326 in code blocks, rather than printing them verbatim. Parse attributes
254327 on `<pre>` tag for code blocks.
255−
328+
256329 * HTML reader: Handle non-simple tables (#893). Column widths are read from
257330 `col` tags if present, otherwise divided equally.
258331
@@ -316,9 +389,9 @@
316389 * Beamer writer: when creating beamer slides, add `allowframebreaks` option
317390 to the slide if it is one of the header classes. It is recommended
318391 that your bibliography slide have this attribute:
319−
392+
320393 # References {.allowframebreaks}
321−
394+
322395 This causes multiple slides to be created if necessary, depending
323396 on the length of the bibliography.
324397
@@ -398,7 +471,7 @@
398471 as new authors.
399472
400473 * `Text.Pandoc.Templates`:
401−
474+
402475 + Fixed bug retrieving default template for markdown variants.
403476 + Templates can now contain "record lookups" in variables;
404477 for example, `author.institution` will retrieve the `institution`
@@ -408,8 +481,26 @@
408481 So if `foo` resolves to "", no output should be produced.
409482 See pandoc-templates#39.
410483
484+ * Citation processing improvements (now part of pandoc-citeproc):
485+
486+ + Fixed `endWithPunct` The new version correctly sees a sentence
487+ ending in '.)' as ending with punctuation. This fixes a bug which
488+ led such sentences to receive an extra period at the end: '.).'.
489+ Thanks to Steve Petersen for reporting.
490+ + Don't interfere with Notes that aren't citation notes.
491+ This fixes a bug in which notes not generated from citations were
492+ being altered (e.g. first letter capitalized) (#898).
493+ + Only capitalize footnote citations when they have a prefix.
494+ + Changes in suffix parsing. A suffix beginning with a digit gets 'p'
495+ inserted before it before passing to citeproc-hs, so that bare numbers
496+ are treated as page numbers by default. A suffix not beginning with
497+ punctuation has a space added at the beginning (rather than a comma and
498+ space, as was done before for not-author-in-text citations).
499+ The result is that `\citep[23]{item1}` in LaTeX will be interpreted
500+ properly, with '23' treated as a locator of type 'page'.
501+
411502 [template changes]
412−
503+
413504 * DocBook: Use DocBook 4.5 doctype.
414505
415506 * Org: '#+TITLE:' is inserted before the title.
@@ -477,7 +568,7 @@
477568 * `Text.Pandoc.UTF8`: use strict bytestrings in reading. The use of lazy
478569 bytestrings seemed to cause problems using pandoc on 64-bit Windows
479570 7/8 (#874).
480−
571+
481572 * Factored out `registerHeader` from markdown reader, added to
482573 `Text.Pandoc.Parsing`.
483574
@@ -503,94 +594,13 @@
503594
504595 * Various small documentation improvements.
505596 Thanks to achalddave and drothlis for patches.
506−
597+
507598 * Removed comment that chokes recent versions of CPP (#933).
508−
599+
509600 * Removed support for GHC version < 7.2, since pandoc-types now
510601 requires at least GHC 7.2 for GHC generics.
511602
512603
513−------------------
514−
515− * citeproc support has been removed from core pandoc (API changes).
516−
517− + The `Text.Pandoc.Biblio` module has been removed (API change),
518− and the Markdown
519− and LaTeX readers no longer process citations. Users of the
520− pandoc library who want citation support will need to use
521− `Text.CSL.Pandoc` from `pandoc-citations`.
522−
523− + All bibliography-related fields have been removed from
524− `ReaderOptions` and `WriterOptions`: `writerBiblioFiles`,
525− `readerReferences`, `readerCitationStyle`. (API change)
526−
527− + Note that a Cite element is now created in parsing markdown whether
528− or not there is a matching reference (indeed, pandoc has no way of
529− knowing, since the `--bibliography` option has been removed).
530− By default citations will print as `???`. (behavior change)
531−
532− + The `pandoc-citeproc` script will put the bibliography at the
533− end of the document, as before. However, it will be put inside a Div
534− element with class "references", allowing users some control
535− over the styling of references. A final header, if any, will
536− be included in the Div. (behavior change)
537−
538− * The markdown writer will not print a bibliography if the
539− `citations` extension is enabled. (If the citations are formatted
540− as markdown citations, it is redundant to have a bibliography,
541− since one will be generated automatically.) (behavior change)
542−
543− * Use new flexible metadata type.
544−
545− + Depend on `pandoc-types` 1.12. This changes the type of
546− `Meta` to allow structured metadata. (API change: existing
547− code that pattern-matches on `Meta` will have to be revised.)
548− + Revised readers and writers to use the new `Meta` type.
549− + Variables completely shadow metadata.
550− If many variables with the same name are set, a list is created.
551−
552− * New generic block container (`Div`) and inline container
553− (`Span`) elements have been added. These can take attributes.
554− They will render in HTML, Textile, MediaWiki, Org, RST and
555− and Markdown (with `markdown_in_html` extension) as HTML `<div>`
556− and `<span>` elements; in other formats they will simply pass through
557− their contents. But they can be targeted by scripts.
558−
559− * Added `Text.Pandoc.Walk` (in `pandoc-types`), which exports
560− hand-written tree-walking functions that are orders of magnitude
561− faster than the SYB functions from `Text.Pandoc.Generic`.
562− These functions are now used where possible in pandoc's code.
563− Added `Tests.Walk` to verify that `walk` and `query` match
564− the generic traversals `bottomUp` and `queryWith`.
565− (API change.)
566−
567− * New module `Text.Pandoc.JSON` in pandoc-types.
568−
569− + This provides `ToJSON` and `FromJSON` instances for the basic
570− pandoc types. They use GHC generics and should be faster than the
571− old JSON serialization using `Data.Aeson.Generic`.
572−
573−
574− * Citation processing improvements (now part of pandoc-citeproc):
575− (bug fixes)
576−
577− + Fixed `endWithPunct` The new version correctly sees a sentence
578− ending in '.)' as ending with punctuation. This fixes a bug which
579− led such sentences to receive an extra period at the end: '.).'.
580− Thanks to Steve Petersen for reporting.
581− + Don't interfere with Notes that aren't citation notes.
582− This fixes a bug in which notes not generated from citations were
583− being altered (e.g. first letter capitalized) (#898).
584− + Only capitalize footnote citations when they have a prefix.
585− + Changes in suffix parsing. A suffix beginning with a digit gets 'p'
586− inserted before it before passing to citeproc-hs, so that bare numbers
587− are treated as page numbers by default. A suffix not beginning with
588− punctuation has a space added at the beginning (rather than a comma and
589− space, as was done before for not-author-in-text citations).
590− The result of these changes (and the last commit) is that
591− `\citep[23]{item1}` in LaTeX will be interpreted properly,
592− with '23' treated as a locator of type 'page'.
593−
594604pandoc (1.11.1)
595605
596606 * Markdown reader:
@@ -603,7 +613,7 @@ pandoc (1.11.1)
603613 paragraphs. The unmatched quotes now get turned into literal
604614 left double quotes. (No `Quoted` inline is generated, however.)
605615 Closes #99 (again).
606−
616+
607617 * HTML writer: Fixed numbering mismatch between TOC and sections.
608618 `--number-offset` now affects TOC numbering as well
609619 as section numbering, as it should have all along. Closes #789.
@@ -638,7 +648,7 @@ pandoc (1.11)
638648 * Added `--number-offset` option. (See README for description.)
639649
640650 * Added `--default-image-extension` option. (See README for description.)
641−
651+
642652 * `--number-sections` behavior change: headers with class `unnumbered`
643653 will not be numbered.
644654
@@ -689,7 +699,7 @@ pandoc (1.11)
689699 + Better support for Verbatim and minted environments. Closes #763.
690700
691701 * Markdown reader:
692−
702+
693703 + `-` in an attribute context = `.unnumbered`. The point of this
694704 is to provide a way to specify unnumbered headers in non-English
695705 documents.
@@ -715,7 +725,7 @@ pandoc (1.11)
715725 Closes #723.
716726
717727 * Textile reader:
718−
728+
719729 + Handle attributes on headers.
720730
721731 * LaTeX reader:
@@ -748,7 +758,7 @@ pandoc (1.11)
748758 `unnumbered` class.
749759
750760 * Textile writer:
751−
761+
752762 + Support header attributes.
753763
754764 * Markdown writer:
@@ -762,11 +772,11 @@ pandoc (1.11)
762772 use `pandoc -t markdown-citations`.
763773
764774 * RST writer:
765−
775+
766776 + Support `:number-lines:` in code blocks.
767777
768778 * Docx writer:
769−
779+
770780 + Better treatment of display math. Display math inside a
771781 paragraph is now put in a separate paragraph, so it will render
772782 properly (centered and without extra blank lines around it).
@@ -784,7 +794,7 @@ pandoc (1.11)
784794 edited. Closes #414.
785795
786796 * EPUB writer:
787−
797+
788798 + Fix section numbering. Previously the numbering restarted from 1
789799 in each chapter (with `--number-sections`), though the numbers in
790800 the table of contents were correct.
@@ -807,7 +817,7 @@ pandoc (1.11)
807817 section number.
808818
809819 * `Text.Pandoc.Pretty`:
810−
820+
811821 + Fixed `chomp` so it works inside `Prefixed` elements.
812822 + Changed `Show` instance so it is better for debugging.
813823
@@ -877,7 +887,7 @@ pandoc (1.10.1)
877887 Thanks to Nick Bart for the suggestion of using @{}.
878888
879889 * `Text.Pandoc.Parsing`:
880−
890+
881891 + More efficient version of `anyLine`.
882892 + Type of `macro` has changed; the parser now returns `Blocks`
883893 instead of `Block`.
@@ -900,7 +910,7 @@ pandoc (1.10.0.5)
900910 Thanks to Andrew Lee for pointing out the bug.
901911
902912 * Markdown reader: Fixed regressions in fenced code blocks. Closes #722.
903−
913+
904914 + Tilde code fences can again take a bare language string
905915 (`~~~ haskell`), not just curly-bracketed attributes
906916 (`~~~ {.haskell}`).
@@ -931,7 +941,7 @@ pandoc (1.10.0.5)
931941 `hsb2hs`.
932942
933943 * Changes to `make-windows-installer.bat`.
934−
944+
935945 + Exit batch file if any of the cabal-dev installs fail.
936946 + There's no longer any need to reinstall `highlighting-kate`.
937947 + Don't start with a `cabal update`; leave that to the user.
@@ -1683,19 +1693,19 @@ pandoc (1.9.4.2)
16831693 checks for the base version that intelligibly enable encoding/decoding
16841694 when needed. Fixes a bug with multilingual filenames when pandoc was
16851695 compiled with ghc 7.4 (#540).
1686−
1696+
16871697 * Don't generate an empty H1 after hrule slide breaks.
16881698 We now use a slide-level header with contents `[Str "\0"]` to mark
16891699 an hrule break. This avoids creation of an empty H1 in these
16901700 contexts. Closes #484.
1691−
1701+
16921702 * Docbook reader: Added support for "bold" emphasis. Thanks to mb21.
1693−
1703+
16941704 * In make_osx_package.sh, ensure citeproc-hs is built with the
16951705 embed_data_files flag.
1696−
1706+
16971707 * MediaWiki writer: Avoid extra blank lines after sublists (Gavin Beatty).
1698−
1708+
16991709 * ConTeXt writer: Don't escape `&`, `^`, `<`, `>`, `_`,
17001710 simplified escapes for `}` and `{` to `\{` and `\}` (Aditya Mahajan).
17011711
@@ -1706,7 +1716,7 @@ pandoc (1.9.4.2)
17061716
17071717 * Added some missing exports and tests to the cabal file
17081718 (Alexander V Vershilov).
1709−
1719+
17101720 * Compile with `-rtsopts` and `-threaded` by default.
17111721
17121722pandoc (1.9.4.1)
@@ -1724,7 +1734,7 @@ pandoc (1.9.4.1)
17241734 + Use microtype if available.
17251735
17261736 * Biblio:
1727−
1737+
17281738 + Add comma to beginning of bare suffix, e.g. `@item1 [50]`.
17291739 Motivation: `@item1 [50]` should be as close as possible to
17301740 `[@item1, 50]`.
@@ -2028,12 +2038,12 @@ pandoc (1.9.1.1)
20282038pandoc (1.9.1)
20292039
20302040 * LaTeX reader:
2031−
2041+
20322042 + Fixed regression in 1.9; properly handle escaped $ in latex math.
20332043 + Put LaTeX verse environments in blockquotes.
20342044
20352045 * Markdown reader:
2036−
2046+
20372047 + Limit nesting of strong/emph. This avoids exponential lookahead
20382048 in parasitic cases, like `a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**`.
20392049 + Improved attributes syntax (inn code blocks/spans):
@@ -2252,7 +2262,7 @@ pandoc (1.9)
22522262 </sidebar>
22532263
22542264 will not be wrapped in `<para>` tags.
2255−
2265+
22562266 * The LaTeX parser has been completely rewritten; it is now much more
22572267 accurate, robust, and extensible. However, there are two important
22582268 changes in how it treats unknown LaTeX. (1) Previously, unknown