@@ -2,277 +2,277 @@ pandoc (1.19)
22
33 * Changed resolution of filter paths.
44
5− + We now first treat the argument of `--filter` as a full (absolute
6− or relative) path, looking for a program there. If it's found,
7− we run it.
8− + If not, and if it is a simple program name or a relative path,
9− we try resolving it relative to `$DATADIR/filters`.
10− + If this fails, then we treat it as a program name and look in
11− the user's PATH.
12− + Removed a hardcoded '/' that may have caused problems with Windows
13− paths.
14−
15− Previously if you did `--filter foo` and you had `foo` in your
16− path and also an executable `foo` in your working directory,
17− the one in the path would be used. Now the one in the working
18− directory is used.
19−
20− In addition, when you do `--filter foo/bar.hs`, pandoc will now
21− find a filter `$DATADIR/filters/foo/bar.hs` -- assuming there
22− isn't a `foo/bar.hs` relative to the working directory.
23−
24− * Allow `file://` URIs as arguments (#3196). Also improved default reader
25− format detection. Previously with a URI ending in .md or .markdown,
26− pandoc would assume HTML input. Now it treats these as markdown.
5+ - We now first treat the argument of `--filter` as a full (absolute
6+ or relative) path, looking for a program there. If it's found, we
7+ run it.
8+ - If not, and if it is a simple program name or a relative path, we
9+ try resolving it relative to `$DATADIR/filters`.
10+ - If this fails, then we treat it as a program name and look in the
11+ user's PATH.
12+ - Removed a hardcoded '/' that may have caused problems with
13+ Windows paths.
14+
15+ Previously if you did `--filter foo` and you had `foo` in your path and
16+ also an executable `foo` in your working directory, the one in the path
17+ would be used. Now the one in the working directory is used.
18+
19+ In addition, when you do `--filter foo/bar.hs`, pandoc will now find a
20+ filter `$DATADIR/filters/foo/bar.hs` -- assuming there isn't a
21+ `foo/bar.hs` relative to the working directory.
22+
23+ * Allow `file://` URIs as arguments (#3196). Also improved default reader
24+ format detection. Previously with a URI ending in .md or .markdown,
25+ pandoc would assume HTML input. Now it treats these as markdown.
2726
2827 * Allow to overwrite top-level division type heuristics (#3258,
29− Albert Krewinkel). Pandoc uses heuristics to determine the most
30− reasonable top-level division type when emitting LaTeX or Docbook markup.
31− It is now possible to overwrite this implicitly set top-level division
32− via the `top-level-division` command line parameter.
33−
34− * Text.Pandoc.Options [API changes]:
35−
36− + Removed `writerStandalone` field in `WriterOptions`,
37− made `writerTemplate` a `Maybe` value. Previously setting
38− `writerStandalone = True` did nothing unless a template was
39− provided in writerTemplate. Now a fragment will be generated
40− if `writerTemplate` is `Nothing`; otherwise, the specified
41− template will be used and standalone output generated.
42− + `Division` has been renamed `TopLevelDivision` (#3197).
43− The `Section`, `Chapter`, and `Part` constructors were
44− renamed to `TopLevelSection`, `TopLevelChapter`, and
45− `TopLevelPart`, respectively. An additional `TopLevelDefault`
46− constructor was added, which is now also the new default value of the
47− `writerTopLevelDivision` field in `WriterOptions`.
28+ Albert Krewinkel). Pandoc uses heuristics to determine the most
29+ reasonable top-level division type when emitting LaTeX or
30+ Docbook markup. It is now possible to overwrite this implicitly set
31+ top-level division via the `top-level-division` command line parameter.
32+
33+ * Text.Pandoc.Options \[API changes\]:
34+
35+ - Removed `writerStandalone` field in `WriterOptions`, made
36+ `writerTemplate` a `Maybe` value. Previously setting
37+ `writerStandalone = True` did nothing unless a template was provided
38+ in writerTemplate. Now a fragment will be generated if
39+ `writerTemplate` is `Nothing`; otherwise, the specified template
40+ will be used and standalone output generated.
41+ - `Division` has been renamed `TopLevelDivision` (#3197). The
42+ `Section`, `Chapter`, and `Part` constructors were renamed to
43+ `TopLevelSection`, `TopLevelChapter`, and
44+ `TopLevelPart`, respectively. An additional `TopLevelDefault`
45+ constructor was added, which is now also the new default value of
46+ the `writerTopLevelDivision` field in `WriterOptions`.
4847
4948 * Improved error if they give wrong arg to `--top-level-division`.
5049
51− * Use new module from texmath to lookup MS font codepoints in Docx
52− reader. Removed unexported module Text.Pandoc.Readers.Docx.Fonts.
53− Its code now lives in texmath (0.9).
50+ * Use new module from texmath to lookup MS font codepoints in Docx reader.
51+ Removed unexported module Text.Pandoc.Readers.Docx.Fonts. Its code now
52+ lives in texmath (0.9).
5453
55− * DocBook reader: Fixed xref lookup (#3243).
56− It previously only worked when the qnames lacked the docbook
57− namespace URI.
54+ * DocBook reader: Fixed xref lookup (#3243). It previously only worked
55+ when the qnames lacked the docbook namespace URI.
5856
5957 * HTML reader:
6058
61− + Improved table parsing (#3027). We now check explicitly for non-1
62− rowspan or colspan attributes, and fail when we encounter them.
63− Previously we checked that each row had the same number of cells,
64− but that could be true even with rowspans/colspans.
65− And there are cases where it isn't true in tables that
66− we can handle fine -- e.g. when a tr element is empty.
67− So now we just pad rows with empty cells when needed.
68− + Treat `<math>` as MathML by default unless something else
69− is explicitly specified in xmlns. Provided it parses as MathML,
70− of course. Also fixed default which should be to inline math if no
71− display attribute is used.
72− + Only treat "a" element as link if it has href (#3226). Otherwise
73− treat as span.
59+ - Improved table parsing (#3027). We now check explicitly for non-1
60+ rowspan or colspan attributes, and fail when we encounter them.
61+ Previously we checked that each row had the same number of cells,
62+ but that could be true even with rowspans/colspans. And there are
63+ cases where it isn't true in tables that we can handle fine -- e.g.
64+ when a tr element is empty. So now we just pad rows with empty cells
65+ when needed.
66+ - Treat `<math>` as MathML by default unless something else is
67+ explicitly specified in xmlns. Provided it parses as MathML,
68+ of course. Also fixed default which should be to inline math if no
69+ display attribute is used.
70+ - Only treat "a" element as link if it has href (#3226). Otherwise
71+ treat as span.
7472
7573 * Docx reader (Jesse Rosenthal):
7674
77− + Add a placeholder value for CHART. We wrap `[CHART]` in a
78− `<span class="chart">`. Note that it maps to inlines because, in docx,
79− anything in a drawing tag can be part of a larger paragraph.
80− + Be more specific in parsing images We not only want `w:drawing`,
81− because that could also include charts. Now we specify
82− `w:drawing/pic:pic`. This shouldn't change behavior at all, but it's
83− a first step toward allowing other sorts of drawing data as well.
84− + Abstract out function to avoid code repetition.
85− + Update tests for img title and alt (#3204).
86− + Handle Alt text and titles in images. We use the "description" field
87− as alt text and the "title" field as title. These can be accessed
88− through the "Format Picture" dialog in Word.
89− + Docx reader utils: handle empty namespace in `elemName`.
90− Previously, if given an empty namespace `(elemName ns "" "foo")`
91− `elemName` would output a QName with a `Just ""` namespace. This is
92− never what we want. Now we output a `Nothing`. If someone *does* want a
93− `Just ""` in the namespace, they can enter the QName value explicitly.
75+ - Add a placeholder value for CHART. We wrap `[CHART]` in a
76+ `<span class="chart">`. Note that it maps to inlines because, in
77+ docx, anything in a drawing tag can be part of a larger paragraph.
78+ - Be more specific in parsing images We not only want `w:drawing`,
79+ because that could also include charts. Now we specify
80+ `w:drawing/pic:pic`. This shouldn't change behavior at all, but it's
81+ a first step toward allowing other sorts of drawing data as well.
82+ - Abstract out function to avoid code repetition.
83+ - Update tests for img title and alt (#3204).
84+ - Handle Alt text and titles in images. We use the "description" field
85+ as alt text and the "title" field as title. These can be accessed
86+ through the "Format Picture" dialog in Word.
87+ - Docx reader utils: handle empty namespace in `elemName`. Previously,
88+ if given an empty namespace `(elemName ns "" "foo")` `elemName`
89+ would output a QName with a `Just ""` namespace. This is never what
90+ we want. Now we output a `Nothing`. If someone *does* want a
91+ `Just ""` in the namespace, they can enter the QName
92+ value explicitly.
9493
9594 * ODT reader/writer:
9695
97− + Inline code when text has a special style (Hubert Plociniczak). When
98− a piece of text has a text `Source_Text` then we assume that this is a
99− piece of the document that represents a code that needs to be inlined.
100− Adapted the writer to also reflect that change. Previously it was just
101− writing a 'preformatted' text using a non-distinguishable font style.
102− Code blocks are still not recognized by the ODT reader. That's a
103− separate issue.
104− + Infer table's caption from the paragraph (#3224, Hubert Plociniczak).
105− ODT's reader always put empty captions for the parsed tables. This commit
106−
107− 1. checks paragraphs that follow the table definition
108− 2. treats specially a paragraph with a style named 'Table'
109− 3. does some postprocessing of the paragraphs that combines
110− tables followed immediately by captions
111−
112− The ODT writer used the `TableCaption` style for the caption
113− paragraph. This commit follows the OpenOffice approach which
114− allows for appending captions to table but uses a built-in style
115− named `Table` instead of `TableCaption`. Users of a custom
116− `reference.odt` should change the style's name from `TableCaption`
117− to `Table`.
118−
119− * ODT reader: Infer tables' header props from rows (#3199, Hubert
120− Plociniczak). ODT reader simply provided an empty header list
121− which meant that the contents of the whole table, even if not empty,
122− was simply ignored. While we still do not infer headers we at least
123− have to provide default properties of columns.
96+ - Inline code when text has a special style (Hubert Plociniczak). When
97+ a piece of text has a text `Source_Text` then we assume that this is
98+ a piece of the document that represents a code that needs to
99+ be inlined. Adapted the writer to also reflect that change.
100+ Previously it was just writing a 'preformatted' text using a
101+ non-distinguishable font style. Code blocks are still not recognized
102+ by the ODT reader. That's a separate issue.
103+ - Infer table's caption from the paragraph (#3224,
104+ Hubert Plociniczak). ODT's reader always put empty captions for the
105+ parsed tables. This commit
106+
107+ 1. checks paragraphs that follow the table definition
108+ 2. treats specially a paragraph with a style named 'Table'
109+ 3. does some postprocessing of the paragraphs that combines tables
110+ followed immediately by captions
111+
112+ The ODT writer used the `TableCaption` style for the caption paragraph.
113+ This commit follows the OpenOffice approach which allows for appending
114+ captions to table but uses a built-in style named `Table` instead of
115+ `TableCaption`. Users of a custom `reference.odt` should change the
116+ style's name from `TableCaption` to `Table`.
117+
118+ * ODT reader: Infer tables' header props from rows (#3199,
119+ Hubert Plociniczak). ODT reader simply provided an empty header list
120+ which meant that the contents of the whole table, even if not empty, was
121+ simply ignored. While we still do not infer headers we at least have to
122+ provide default properties of columns.
124123
125124 * Markdown reader:
126125
127− + Allow reference link labels starting with `@...` if `citations`
128− extension disabled (#3209). Example: in
126+ - Allow reference link labels starting with `@...` if `citations`
127+ extension disabled (#3209). Example: in
129128
130− [link text][@a]
129+ \[link text\]\[@a\]
131130
132− [@a]: url
131+ `link text` isn't hyperlinked because `[@a]` is parsed as
132+ a citation. Previously this happened whether or not the `citations`
133+ extension was enabled. Now it happens only if the `citations`
134+ extension is enabled.
135+ - Allow alignments to be specified in Markdown grid tables. For
136+ example,
133137
134− `link text` isn't hyperlinked because `[@a]` is parsed as a citation.
135− Previously this happened whether or not the `citations` extension was
136− enabled. Now it happens only if the `citations` extension is enabled.
137− + Allow alignments to be specified in Markdown grid tables. For example,
138+ +-------+---------------+--------------------+
139+ | Right | Left | Centered |
140+ +=========:+:=================+:=============:+
141+ | Bananas | $1.34 | built-in wrapper |
142+ +-------+---------------+--------------------+
138143
139− +---------------+---------------+--------------------+
140− | Right | Left | Centered |
141− +==============:+:==============+:==================:+
142− | Bananas | $1.34 | built-in wrapper |
143− +---------------+---------------+--------------------+
144−
145− + Allow Small Caps elements to be created using bracketed spans
146− (as they already can be using HTML-syntax spans) (#3191, Kolen Cheung).
144+ - Allow Small Caps elements to be created using bracketed spans (as
145+ they already can be using HTML-syntax spans) (#3191, Kolen Cheung).
147146
148147 * LaTeX reader:
149148
150− + Don't treat `\vspace` and `\hspace` as block commands (#3256).
151− Fixed an error which came up, for example, with `\vspace`
152− inside a caption. (Captions expect inlines.)
153− + Improved table handling. We can now parse all of the tables emitted
154− by pandoc in our tests. The only thing we don't get yet are
155− alignments and column widths in more complex tables. See #2669.
156− + Limited support for minipage.
157− + Allow for `[]`s inside LaTeX optional args. Fixes cases like:
158−
159− \begin{center}
160− \begin{tikzpicture}[baseline={([yshift=+-.5ex]current bounding box.center)}, level distance=24pt]
161− \Tree [.{S} [.NP John\index{i} ] [.VP [.V likes ] [.NP himself\index{i,*j} ]]]
162− \end{tikzpicture}
163− \end{center}
164− + Handle BVerbatim from fancyvrb (#3203).
165− + Handle hungarumlaut (#3201).
166− + Allow beamer-style `<...>` options in raw LaTeX (also in Markdown)
167− (#3184). This allows use of things like `\only<2,3>{my content}` in
168− Markdown that is going to be converted to beamer.
169−
170− * Use pre-wrap for code in dzslides template (Nicolas Porcel).
171− Otherwise overly long code will appear on every slide.
149+ - Don't treat `\vspace` and `\hspace` as block commands (#3256).
150+ Fixed an error which came up, for example, with `\vspace` inside
151+ a caption. (Captions expect inlines.)
152+ - Improved table handling. We can now parse all of the tables emitted
153+ by pandoc in our tests. The only thing we don't get yet are
154+ alignments and column widths in more complex tables. See #2669.
155+ - Limited support for minipage.
156+ - Allow for `[]`s inside LaTeX optional args. Fixes cases like:
157+
158+ - Handle BVerbatim from fancyvrb (#3203).
159+ - Handle hungarumlaut (#3201).
160+ - Allow beamer-style `<...>` options in raw LaTeX (also in Markdown)
161+ (#3184). This allows use of things like `\only<2,3>{my content}` in
162+ Markdown that is going to be converted to beamer.
163+
164+ * Use pre-wrap for code in dzslides template (Nicolas Porcel). Otherwise
165+ overly long code will appear on every slide.
172166
173167 * Org reader (Albert Krewinkel):
174168
175− + Respect column width settings (#3246). Table column properties can
176− optionally specify a column's width with which it is displayed in
177− the buffer. Some exporters, notably the ODT exporter in org-mode v9.0,
178− use these values to calculate relative column widths. The org reader now
179− implements the same behavior. Note that the org-mode LaTeX and HTML
180− exporters in Emacs don't support this feature yet, which should be kept
181− in mind by users who use the column widths parameters.
182− + Allow HTML attribs on non-figure images (#3222). Images which are the
183− only element in a paragraph can still be given HTML attributes, even if
184− the image does not have a caption and is hence not a figure.
185− The following will add set the `width` attribute of the image to `50%`:
186−
187− #+ATTR_HTML: :width 50%
188− [[file:image.jpg]]
189−
190− + Support `ATTR_HTML` for special blocks (#3182).
191− Special blocks (i.e. blocks with unrecognized names) can be prefixed
192− with an `ATTR_HTML` block attribute. The attributes defined in that
193− meta-directive are added to the `Div` which is used to represent the
194− special block.
195− + Support the `todo` export option. The `todo` export option allows to
196− toggle the inclusion of TODO keywords in the output. Setting this to
197− `nil` causes TODO keywords to be dropped from headlines. The default
198− is to include the keywords.
199− + Add support for todo-markers. Headlines can have optional todo-markers
200− which can be controlled via the `#+TODO`, `#+SEQ_TODO`, or `#+TYP_TODO`
201− meta directive. Multiple such directives can be given, each adding a
202− new set of recognized todo-markers. If no custom todo-markers are
203− defined, the default `TODO` and `DONE` markers are used. Todo-markers
204− are conceptually separate from headline text and are hence excluded
205− when autogenerating headline IDs. The markers are rendered as spans
206− and labelled with two classes: One class is the markers name, the other
207− signals the todo-state of the marker (either `todo` or `done`).
169+ - Respect column width settings (#3246). Table column properties can
170+ optionally specify a column's width with which it is displayed in
171+ the buffer. Some exporters, notably the ODT exporter in org-mode
172+ v9.0, use these values to calculate relative column widths. The org
173+ reader now implements the same behavior. Note that the org-mode
174+ LaTeX and HTML exporters in Emacs don't support this feature yet,
175+ which should be kept in mind by users who use the column
176+ widths parameters.
177+ - Allow HTML attribs on non-figure images (#3222). Images which are
178+ the only element in a paragraph can still be given HTML attributes,
179+ even if the image does not have a caption and is hence not a figure.
180+ The following will add set the `width` attribute of the image to
181+ `50%`:
182+
183+ +ATTR\_HTML: :width 50%
184+ =======================
185+
186+ \[\[file:image.jpg\]\]
187+
188+ - Support `ATTR_HTML` for special blocks (#3182). Special
189+ blocks (i.e. blocks with unrecognized names) can be prefixed with an
190+ `ATTR_HTML` block attribute. The attributes defined in that
191+ meta-directive are added to the `Div` which is used to represent the
192+ special block.
193+ - Support the `todo` export option. The `todo` export option allows to
194+ toggle the inclusion of TODO keywords in the output. Setting this to
195+ `nil` causes TODO keywords to be dropped from headlines. The default
196+ is to include the keywords.
197+ - Add support for todo-markers. Headlines can have optional
198+ todo-markers which can be controlled via the `#+TODO`, `#+SEQ_TODO`,
199+ or `#+TYP_TODO` meta directive. Multiple such directives can be
200+ given, each adding a new set of recognized todo-markers. If no
201+ custom todo-markers are defined, the default `TODO` and `DONE`
202+ markers are used. Todo-markers are conceptually separate from
203+ headline text and are hence excluded when autogenerating
204+ headline IDs. The markers are rendered as spans and labelled with
205+ two classes: One class is the markers name, the other signals the
206+ todo-state of the marker (either `todo` or `done`).
208207
209208 * LaTeX writer:
210209
211− + Use `\autocites*` when "suppress-author" citation used.
212− + Ensure that simple tables have simple cells (#2666). If cells contain
213− more than a single Plain or Para, then we need to set nonzero widths
214− and put contents into minipages.
215− + Remove invalid inlines in sections (#3218, Hubert Plociniczak).
210+ - Use `\autocites*` when "suppress-author" citation used.
211+ - Ensure that simple tables have simple cells (#2666). If cells
212+ contain more than a single Plain or Para, then we need to set
213+ nonzero widths and put contents into minipages.
214+ - Remove invalid inlines in sections (#3218, Hubert Plociniczak).
216215
217216 * Markdown writer:
218217
219− + Fix calculation of column widths for aligned multiline tables
220− (#1911, Björn Peemöller). This also fixes excessive CPU and memory
221− usage for tables when `--columns` is set in such a way that cells
222− must be very tiny. Now cells are guaranteed to be big enough so that
223− single words don't need to line break, even if this pushes the
224− line length above the column width.
225− + Use bracketed form for native spans when `bracketed_spans`
226− enabled (#3229).
227− + Fixed inconsistent spacing issue (#3232). Previously a tight bullet
228− sublist got rendered with a blank line after, while a tight ordered
229− sublist did not. Now we don't get the blank line in either case.
230− + Fix escaping of spaces in super/subscript (#3225). Previously two
231− backslashes were inserted, which gave a literal backslash.
232− + Adjust widths in Markdown grid tables so that they match on round-trip.
218+ - Fix calculation of column widths for aligned multiline tables
219+ (#1911, Björn Peemöller). This also fixes excessive CPU and memory
220+ usage for tables when `--columns` is set in such a way that cells
221+ must be very tiny. Now cells are guaranteed to be big enough so that
222+ single words don't need to line break, even if this pushes the line
223+ length above the column width.
224+ - Use bracketed form for native spans when `bracketed_spans`
225+ enabled (#3229).
226+ - Fixed inconsistent spacing issue (#3232). Previously a tight bullet
227+ sublist got rendered with a blank line after, while a tight ordered
228+ sublist did not. Now we don't get the blank line in either case.
229+ - Fix escaping of spaces in super/subscript (#3225). Previously two
230+ backslashes were inserted, which gave a literal backslash.
231+ - Adjust widths in Markdown grid tables so that they match
232+ on round-trip.
233233
234234 * Docx writer:
235235
236− + Give full detail when there are errors converting tex math.
237− + Handle title text in images (Jesse Rosenthal). We already handled alt
238− text. This just puts the image "title" into the docx "title" attr.
239− + Fixed XML markup for empty cells (#3238). Previously the Compact
240− style wasn't being applied properly to empty cells.
236+ - Give full detail when there are errors converting tex math.
237+ - Handle title text in images (Jesse Rosenthal). We already handled
238+ alt text. This just puts the image "title" into the docx
239+ "title" attr.
240+ - Fixed XML markup for empty cells (#3238). Previously the Compact
241+ style wasn't being applied properly to empty cells.
241242
242243 * HTML writer:
243244
244− + Updated `renderHtml` import from blaze-html.
245+ - Updated `renderHtml` import from blaze-html.
245246
246247 * Text.Pandoc.Pretty:
247248
248− + Fixed some bugs that caused blank lines in tables (#3251).
249− The bugs caused spurious blank lines in grid tables when we
250− had things like ``blankline $$ blankline``.
251− + Add exported function `minOffet` [API change] (Björn Peemöller).
252− + Added error message for illegal call to `block` (Björn Peemöller).
249+ - Fixed some bugs that caused blank lines in tables (#3251). The bugs
250+ caused spurious blank lines in grid tables when we had things like
251+ `blankline $$ blankline`.
252+ - Add exported function `minOffet` \[API change\] (Björn Peemöller).
253+ - Added error message for illegal call to `block` (Björn Peemöller).
253254
254255 * Text.Pandoc.Shared:
255256
256− + Put `warn` in MonadIO.
257− + `fetchItem`: Better handling of protocol-relative URL (#2635).
258− If URL starts with `//` and there is no "base URL" (as there
259− would be if a URL were used on the command line), then default
260− to http:.
257+ - Put `warn` in MonadIO.
258+ - `fetchItem`: Better handling of protocol-relative URL (#2635). If
259+ URL starts with `//` and there is no "base URL" (as there would be
260+ if a URL were used on the command line), then default to http:.
261261
262− * Export Text.Pandoc.getDefaultExtensions [API change] (#3178).
262+ * Export Text.Pandoc.getDefaultExtensions \[API change\] (#3178).
263263
264− * In --version, trap error in `getAppUserDataDirectory` (#3241).
265− This fixes a crash with `pandoc --version` on unusual systems with
266− no real user (e.g. SQL Server 2016).
264+ * In --version, trap error in `getAppUserDataDirectory` (#3241). This
265+ fixes a crash with `pandoc --version` on unusual systems with no real
266+ user (e.g. SQL Server 2016).
267267
268268 * Added weigh-pandoc for memory usage diagnostics (#3169).
269269
270270 * Use correct mime types for woff and woff2 (#3228).
271271
272− * Remove make_travis_yml.hs (#3235, Kolen Cheung).
272+ * Remove make\_travis\_yml.hs (#3235, Kolen Cheung).
273273
274− * changelog: Moved an item that was misplaced in the 1.17.2 section to
275− the 1.18 section where it belongs.
274+ * changelog: Moved an item that was misplaced in the 1.17.2 section to the
275+ 1.18 section where it belongs.
276276
277277 * CONTRIBUTING.md: minor change in wording and punctuation (#3252,
278278 Kolen Cheung).