forked from jgm/pandoc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog
5952 lines (4485 loc) · 241 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
pandoc (1.12.0.2)
* Removed `stringable` dependency.
pandoc (1.12.0.1)
* Allow `--metadata` to be repeated for the same key to form a list.
This also has the effect that `--bibliography` can be repeated,
as before.
* Handle boolean values in `--metadata`. Note that anything not parseable
as a YAML boolean or string is treated as a literal string.
You can get a string value with "yes", or any of the strings interpretable
as booleans, by quoting it:
-M boolvalue=yes -M stringvalue='"yes"'
* LaTeX writer: Don't print references if `--natbib` or `--biblatex`
option used.
* DOCX writer: Add `settings.xml` to the zip container. Fixes a bug
in which docx files could not be read by some versions of Word
and LibreOffice (#990).
* Fixed a regression involving slide shows with bibliographies.
The Div container around references messed up the procedure for carving
a document into slides. So we now remove the surrounding Div in
`prepSlides`.
* More informative error message when a filter is not found in path.
* Depend on pandoc-types 1.12.1. This provide `ToJSONFilter`
instances for `Data a => a -> [a]` and `Data a => a -> IO [a]`.
* Don't use unicode_collation in building OSX package:
it adds something like 50MB of dependencies to the package.
* Declare alex and happy as build-tools (#986).
pandoc (1.12)
[new features]
* Much more flexible metadata, including arbitrary fields and structured
values. Metadata can be specified flexibly in pandoc markdown using
YAML metadata blocks, which may occur anywhere in the document:
---
title: Here is my title.
abstract: |
This is the abstract.
1. It can contain
2. block content
and *inline markup*
tags: [cat, dog, animal]
...
Metadata fields automatically populate template variables.
* Added `opml` (OPML) as input and output format. The `_note` attribute,
used in OmniOutliner and supported by multimarkdown, is supported.
We treat the contents as markdown blocks under a section header.
* Added `haddock` (Haddock markup) as input format (David Lazar).
* Added `revealjs` output format, for reveal.js HTML 5 slide shows.
(Thanks to Jamie F. Olson for the initial patch.)
Nested vertical stacks are used for hierarchical structure.
Results for more than one level of nesting may be odd.
* Custom writers can now be written in lua.
pandoc -t data/sample.lua
will load the script sample.lua and use it as a custom writer.
(For a sample, do `pandoc --print-default-data-file sample.lua`.)
Note that pandoc embeds a lua interpreter, so lua need not be
installed separately.
* New `--filter/-F` option to make it easier to run "filters"
(Pandoc AST transformations that operate on JSON serializations).
Filters are always passed the name of the output format, so their
behavior can be tailored to it. The repository
<https://github.com/jgm/pandocfilters> contains
a python module for writing pandoc filters in python, with
a number of examples.
* Added `--metadata/-M` option.
This is like `--variable/-V`, but actually adds to metadata, not
just variables.
* Added `--print-default-data-file` option, which allows printing
of any of pandoc's data files. (For example,
`pandoc --print-default-data-file reference.odt` will print
`reference.odt`.)
* Added syntax for "pauses" in slide shows:
This gives
. . .
me pause.
* New markdown extensions:
+ `ignore_line_breaks`: causes intra-paragraph line breaks to be ignored,
rather than being treated as hard line breaks or spaces. This is useful
for some East Asian languages, where spaces aren't used between words,
but text is separated into lines for readability.
+ `yaml_metadata_block`: Parse YAML metadata blocks. (Default.)
+ `ascii_identifiers`: This will force `auto_identifiers` to use ASCII
only. (Default for `markdown_github`.) (#807)
+ `lists_without_preceding_blankline`: Allow lists to start without
preceding blank space. (Default for `markdown_github`.) (#972)
[behavior changes]
* `--toc-level` no longer implies `--toc`.
Reason: EPUB users who don't want a visible TOC may still want
to set the TOC level for in the book navigation.
* `--help` now prints in and out formats in alphabetical order, and
says something about PDF output (#720).
* `--self-contained` now returns less verbose output (telling you
which URLs it is fetching, but not giving the full header). In
addition, there are better error messages when fetching a URL fails.
* Citation support is no longer baked in to core pandoc. Users who
need citations will need to install and use a separate filter
(`--filter pandoc-citeproc`). This filter will take `bibliography`,
`csl`, and `citation-abbreviations` from the metadata, though it
may still be specified on the command line as before.
* A `Cite` element is now created in parsing markdown whether or not
there is a matching reference.
* The `pandoc-citeproc` script will put the bibliography at the
end of the document, as before. However, it will be put inside a `Div`
element with class "references", allowing users some control
over the styling of references. A final header, if any, will
be included in the `Div`.
* The markdown writer will not print a bibliography if the
`citations` extension is enabled. (If the citations are formatted
as markdown citations, it is redundant to have a bibliography,
since one will be generated automatically.)
* Previously we used to store the directory of the first input file,
even if it was local, and used this as a base directory for finding
images in ODT, EPUB, Docx, and PDF. This has been confusing to many
users. So we now look for images relative to the current
working directory, even if the first file argument is in another
directory. Note that this change may break some existing workflows.
If you have been assuming that relative links will be interpreted
relative to the directory of the first file argument, you'll need
to make that the current directory before running pandoc. (#942)
* Better error reporting in some readers, due to changes in `readWith`:
the line in which the error occured is printed, with a caret pointing
to the column.
* All slide formats now support incremental slide view for definition lists.
* Parse `\(..\)` and `\[..\]` as math in MediaWiki reader.
Parse `:<math>...</math>` as display math. These notations are used with
the MathJax MediaWiki extension.
* All writers: template variables are set automatically from metadata
fields. However, variables specified on the command line with
`--variable` will completely shadow metadata fields.
* If `--variable` is used to set many variables with the same name,
a list is created.
* Man writer: The `title`, `section`, `header`, and `footer` can now
all be set individually in metadata. The `description` variable has been
removed. Quotes have been added so that spaces are allowed in the
title. If you have a title that begins
COMMAND(1) footer here | header here
pandoc will still parse it into a title, section, header, and
footer. But you can also specify these elements explicitly (#885).
* Markdown reader
+ Added support for YAML metadata blocks, which can come anywhere
in the document (not just at the beginning). A document can contain
multiple YAML metadata blocks.
+ HTML span and div tags are parsed as pandoc Span and Div elements.
* Markdown writer
+ Allow simple tables to be printed as grid tables,
if other table options are disabled. This means you can do
`pandoc -t markdown-pipe_tables-simple_tables-multiline_tables`
and all tables will render as grid tables.
+ Support YAML title block (render fields in alphabetical order
to make output predictable).
[API changes]
* `Meta` in `Text.Pandoc.Definition` has been changed to allow
structured metadata. (Note: existing code that pattern-matches
on `Meta` will have to be revised.) Metadata can now contain
indefinitely many fields, with content that can be a string,
a Boolean, a list of `Inline` elements, a list of `Block`
elements, or a map or list of these.
* A new generic block container (`Div`) has been added to `Block`,
and a generic inline container (`Span`) has been added to `Inline`.
These can take attributes. They will render in HTML, Textile,
MediaWiki, Org, RST and and Markdown (with `markdown_in_html`
extension) as HTML `<div>` and `<span>` elements; in other formats
they will simply pass through their contents. But they can be
targeted by scripts.
* `Format` is now a newtype, not an alias for String.
Equality comparisons are case-insensitive.
* Added `Text.Pandoc.Walk`, which exports hand-written tree-walking
functions that are much faster than the SYB functions from
`Text.Pandoc.Generic`. These functions are now used where possible
in pandoc's code. (`Tests.Walk` verifies that `walk` and `query`
match the generic traversals `bottomUp` and `queryWith`.)
* Added `Text.Pandoc.JSON`, which provides `ToJSON` and `FromJSON`
instances for the basic pandoc types. They use GHC generics and
should be faster than the old JSON serialization using
`Data.Aeson.Generic`.
* Added `Text.Pandoc.Process`, exporting `pipeProcess`.
This is a souped-up version of `readProcessWithErrorcode` that
uses lazy bytestrings instead of strings and allows setting
environment variables. (Used in `Text.Pandoc.PDF`.)
* New module `Text.Pandoc.Readers.OPML`.
* New module `Text.Pandoc.Writers.OPML`.
* New module `Text.Pandoc.Readers.Haddock` (David Lazar).
This is based on Haddock's own lexer/parser.
* New module `Text.Pandoc.Writers.Custom`.
* In `Text.Pandoc.Shared`, `openURL` and `fetchItem` now return an
Either, for better error handling.
* Made `stringify` polymorphic in `Text.Pandoc.Shared`.
* Removed `stripTags` from `Text.Pandoc.XML`.
* `Text.Pandoc.Templates`:
+ Simplified `Template` type to a newtype.
+ Removed `Empty`.
+ Changed type of `renderTemplate`: it now takes a JSON context
and a compiled template.
+ Export `compileTemplate`.
+ Export `renderTemplate'` that takes a string instead of a compiled
template.
+ Export `varListToJSON`.
* `Text.Pandoc.PDF` exports `makePDF` instead of `tex2pdf`.
* `Text.Pandoc`:
+ Made `toJsonFilter` an alias for `toJSONFilter` from `Text.Pandoc.JSON`.
+ Removed `ToJsonFilter` typeclass. `ToJSONFilter` from
`Text.Pandoc.JSON` should be used instead. (Compiling against
pandoc-types instead of pandoc will also produce smaller executables.)
* Removed the deprecated `jsonFilter` function.
+ Added `readJSON`, `writeJSON` to the API (#817).
* `Text.Pandoc.Options`:
+ Added `Ext_lists_without_preceding_blankline`,
`Ext_ascii_identifiers`, `Ext_ignore_line_breaks`,
`Ext_yaml_metadataBlock` to `Extension`.
+ Changed `writerSourceDirectory` to `writerSourceURL` and changed the
type to a `Maybe`. `writerSourceURL` is set to 'Just url' when the
first command-line argument is an absolute URL. (So, relative links
will be resolved in relation to the first page.) Otherwise, 'Nothing'.
+ All bibliography-related fields have been removed from
`ReaderOptions` and `WriterOptions`: `writerBiblioFiles`,
`readerReferences`, `readerCitationStyle`.
* The `Text.Pandoc.Biblio` module has been removed. Users of the
pandoc library who want citation support will need to use
`Text.CSL.Pandoc` from `pandoc-citeproc`.
[bug fixes]
* In markdown, don't autolink a bare URI that is followed by `</a>`
(#937).
* `Text.Pandoc.Shared`
+ `openURL` now follows redirects (#701), properly handles `data:`
URIs, and prints diagnostic output to stderr rather than stdout.
+ `readDefaultDataFile`: normalize the paths. This fixes bugs in
`--self-contained` on pandoc compiled with `embed_data_files` (#833).
+ Fixed `readDefaultDataFile` so it works on Windows.
+ Better error messages for `readDefaultDataFile`. Instead of
listing the last path tried, which can confuse people who are
using `--self-contained`, so now we just list the data file name.
+ URL-escape pipe characters. Even though these are legal, `Network.URI`
doesn't regard them as legal in URLs. So we escape them first (#535).
* Mathjax in HTML slide shows: include explicit "Typeset" call.
This seems to be needed for some formats (e.g. slideous) and won't
hurt in others (#966).
* `Text.Pandoc.PDF`
+ On Windows, create temdir in working directory, since the system
temp directory path may contain tildes, which can cause
problems in LaTeX (#777).
+ Put temporary output directory in `TEXINPUTS` (see #917).
+ `makePDF` tries to download images that are not found locally,
if the first argument is a URL (#917).
+ If compiling with `pdflatex` yields an encoding error, offer
the suggestion to use `--latex-engine=xelatex`.
* Produce automatic header identifiers in parsing textile, RST,
and LaTeX, unless `auto_identifiers` extension is disabled (#967).
* `Text.Pandoc.SelfContained`: Strip off fragment, query of relative URL
before treating as a filename. This fixes `--self-contained` when used
with CSS files that include web fonts using the method described here:
<http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/>
(#739). Handle `src` in `embed`, `audio`, `source`, `input` tags.
* `Text.Pandoc.Parsing`: `uri` parser no longer treats punctuation before
percent-encoding, or a `+` character, as final punctuation.
* `Text.Pandoc.ImageSize`: Handle EPS (#903). This change will make
EPS images properly sized on conversion to Word.
* Slidy: Use slidy.js rather than slidy.js.gz.
Reason: some browsers have trouble with the gzipped js file,
at least on the local file system (#795).
* Markdown reader
+ Properly handle blank line at beginning of input (#882).
+ Fixed bug in unmatched reference links. The input
`[*infile*] [*outfile*]` was getting improperly parsed:
"infile" was emphasized, but "*outfile*" was literal (#883).
+ Allow internal `+` in citation identifiers (#856).
+ Allow `.` or `)` after `#` in ATX headers if no `fancy_lists`.
+ Do not generate blank title, author, or date metadata elements.
Leave these out entirely if they aren't present.
+ Allow backtick code blocks not to be preceded by blank line (#975).
* Textile reader:
+ Correctly handle entities.
+ Improved handling of `<pre>` blocks (#927). Remove internal HTML tags
in code blocks, rather than printing them verbatim. Parse attributes
on `<pre>` tag for code blocks.
* HTML reader: Handle non-simple tables (#893). Column widths are read from
`col` tags if present, otherwise divided equally.
* LaTeX reader
+ Support alltt environment (#892).
+ Support `\textasciitilde`, `\textasciicircum` (#810).
+ Treat `\textsl` as emphasized text reader (#850).
+ Skip positional options after `\begin{figure}`.
+ Support `\v{}` for hacek (#926).
+ Don't add spurious ", " to citation suffixes.
This is added when needed in pandoc-citeproc.
+ Allow spaces in alignment spec in tables, e.g. `{ l r c }`.
+ Improved support for accented characters (thanks to Scott Morrison).
+ Parse label after section command and set id (#951).
* RST reader:
+ Don't insert paragraphs where docutils doesn't.
`rst2html` doesn't add `<p>` tags to list items (even when they are
separated by blank lines) unless there are multiple paragraphs in the
list. This commit changes the RST reader to conform more closely to
what docutils does (#880).
+ Improved metadata. Treat initial field list as metadata when
standalone specified. Previously ALL fields "title", "author",
"date" in field lists were treated as metadata, even if not at
the beginning. Use `subtitle` metadata field for subtitle.
+ Fixed 'authors' metadata parsing in reST. Semicolons separate
different authors.
* MediaWiki reader
+ Allow space before table rows.
+ Fixed regression for `<ref>URL</ref>`.
`<` is no longer allowed in URLs, according to the uri parser
in `Text.Pandoc.Parsing`. Added a test case.
+ Correctly handle indented preformatted text without preceding
or following blank line.
+ Fixed `|` links inside table cells. Improved attribute parsing.
+ Skip attributes on table rows. Previously we just crashed if
rows had attributes, now we ignore them.
+ Ignore attributes on headers.
+ Allow `Image:` for images (#971).
+ Parse an image with caption in a paragraph by itself as a figure.
* LaTeX writer
+ Don't use ligatures in escaping inline code.
+ Fixed footnote numbers in LaTeX/PDF tables. This fixes a bug
wherein notes were numbered incorrectly in tables (#827).
+ Always create labels for sections. Previously the labels were only
created when there were links to the section in the document (#871).
+ Stop escaping `|` in LaTeX math.
This caused problems with array environments (#891).
+ Change `\` to `/` in paths. `/` works even on Windows in LaTeX.
`\` will cause major problems if unescaped.
+ Write id for code block to label attribute in LaTeX when listings
is used (thanks to Florian Eitel).
+ Scale LaTeX tables so they don't exceed columnwidth.
+ Avoid problem with footnotes in unnumbered headers (#940).
* Beamer writer: when creating beamer slides, add `allowframebreaks` option
to the slide if it is one of the header classes. It is recommended
that your bibliography slide have this attribute:
# References {.allowframebreaks}
This causes multiple slides to be created if necessary, depending
on the length of the bibliography.
* ConTeXt writer: Properly handle tables without captions. The old output
only worked in MkII. This should work in MkIV as well (#837).
* MediaWiki writer: Use native mediawiki tables instead of HTML (#720).
* HTML writer:
+ Fixed `--no-highlight` (Alexander Kondratskiy).
+ Don't convert to lowercase in email obfuscation (#839).
+ Ensure proper escaping in `<title>` and `<meta>` fields.
* AsciiDoc writer:
+ Support `--atx-headers` (Max Rydahl Andersen).
+ Don't print empty identifier blocks `([[]])` on headers (Max
Rydahl Andersen).
* ODT writer:
+ Fixing wrong numbered-list indentation in open document format
(Alexander Kondratskiy) (#369).
+ `reference.odt`: Added pandoc as "generator" in `meta.xml`.
+ Minor changes for ODF 1.2 conformance (#939). We leave the
nonconforming `contextual-spacing` attribute, which is provided by
LibreOffice itself and seems well supported.
* Docx writer:
+ Fixed rendering of display math in lists.
In 1.11 and 1.11.1, display math in lists rendered as a new list
item. Now it always appears centered, just as outside of lists,
and in proper display math style, no matter how far indented the
containing list item is (#784).
+ Use `w:br` with `w:type` `textWrapping` for linebreaks.
Previously we used `w:cr` (#873).
+ Use Compact style for Plain block elements, to
differentiate between tight and loose lists (#775).
+ Ignore most components of `reference.docx`.
We take the `word/styles.xml`, `docProps/app.xml`,
`word/theme/theme1.xml`, and `word/fontTable.xml` from
`reference.docx`, ignoring everything else. This should help
with the corruption problems caused when different versions of
Word resave the reference.docx and reorganize things.
+ Made `--no-highlight` work properly.
* EPUB writer
+ Don't add `dc:creator` tags if present in EPUB metadata.
+ Add `id="toc-title"` to `h1` in `nav.xhtml` (#799).
+ Don't put blank title page in reading sequence.
Set `linear="no"` if no title block. Addresses #797.
+ Download webtex images and include as data URLs.
This allows you to use `--webtex` in creating EPUBs.
Math with `--webtex` is automatically made self-contained.
+ In `data/epub.css`, removed highlighting styles (which
are no longer needed, since styles are added by the HTML
writer according to `--highlighting-style`). Simplified
margin fields.
+ If resource not found, skip it, as in Docx writer (#916).
* RTF writer:
+ Properly handle characters above the 0000-FFFF range.
Uses surrogate pairs. Thanks to Hiromi Ishii for the patch.
+ Fixed regression with RTF table of contents.
+ Only autolink absolute URIs. This fixes a regression, #830.
* Markdown writer:
+ Only autolink absolute URIs. This fixes a regression, #830.
+ Don't wrap attributes in fenced code blocks.
+ Write full metadata in MMD style title blocks.
+ Put multiple authors on separate lines in pandoc titleblock.
Also, don't wrap long author entries, as new lines get treated
as new authors.
* `Text.Pandoc.Templates`:
+ Fixed bug retrieving default template for markdown variants.
+ Templates can now contain "record lookups" in variables;
for example, `author.institution` will retrieve the `institution`
field of the `author` variable.
+ More consistent behavior of `$for$`. When `foo` is not a list,
`$for(foo)$...$endfor$` should behave like $if(foo)$...$endif$.
So if `foo` resolves to "", no output should be produced.
See pandoc-templates#39.
* Citation processing improvements (now part of pandoc-citeproc):
+ Fixed `endWithPunct` The new version correctly sees a sentence
ending in '.)' as ending with punctuation. This fixes a bug which
led such sentences to receive an extra period at the end: '.).'.
Thanks to Steve Petersen for reporting.
+ Don't interfere with Notes that aren't citation notes.
This fixes a bug in which notes not generated from citations were
being altered (e.g. first letter capitalized) (#898).
+ Only capitalize footnote citations when they have a prefix.
+ Changes in suffix parsing. A suffix beginning with a digit gets 'p'
inserted before it before passing to citeproc-hs, so that bare numbers
are treated as page numbers by default. A suffix not beginning with
punctuation has a space added at the beginning (rather than a comma and
space, as was done before for not-author-in-text citations).
The result is that `\citep[23]{item1}` in LaTeX will be interpreted
properly, with '23' treated as a locator of type 'page'.
+ Many improvements to citation rendering, due to fixes in citeproc-hs
(thanks to Andrea Rossato).
+ Warnings are issued for undefined citations, which are rendered
as `???`.
+ Fixed hanging behavior when locale files cannot be found.
[template changes]
* DocBook: Use DocBook 4.5 doctype.
* Org: '#+TITLE:' is inserted before the title.
Previously the writer did this.
* LaTeX: Changes to make mathfont work with xelatex.
We need the mathspec library, not just fontspec, for this.
We also need to set options for setmathfont (#734).
* LaTeX: Use `tex-ansi` mapping for `monofont`.
This ensures that straight quotes appear as straight, rather than
being treated as curly. See #889.
* Made `\includegraphics` more flexible in LaTeX template.
Now it can be used with options, if needed. Thanks to Bernhard Weichel.
* LaTeX/Beamer: Added `classoption` variable.
This is intended for class options like `oneside`; it may
be repeated with different options. (Thanks to Oliver Matthews.)
* Beamer: Added `fonttheme` variable. (Thanks to Luis Osa.)
* LaTeX: Added `biblio-style` variable (#920).
* DZSlides: title attribute on title section.
* HTML5: add meta tag to allow scaling by user (Erik Evenson)
[under-the-hood improvements]
* Markdown reader:Improved strong/emph parsing, using the strategy of
<https://github.com/jgm/Markdown>. The new parsing algorithm requires
no backtracking, and no keeping track of nesting levels. It will give
different results in some edge cases, but these should not affect normal
uses.
* Added `Text.Pandoc.Compat.Monoid`.
This allows pandoc to compile with `base` < 4.5, where `Data.Monoid`
doesn't export `<>`. Thanks to Dirk Ullirch for the patch.
* Added `Text.Pandoc.Compat.TagSoupEntity`.
This allows pandoc to compile with `tagsoup` 0.13.x.
Thanks to Dirk Ullrich for the patch.
* Most of `Text.Pandoc.Readers.TeXMath` has been moved to the
`texmath` module (0.6.4). (This allows `pandoc-citeproc` to
handle simple math in bibliography fields.)
* Added `Text.Pandoc.Writers.Shared` for shared functions used
only in writers. `metaToJSON` is used in writers to create a
JSON object for use in the templates from the pandoc metadata
and variables. `getField`, `setField`, and `defField` are
for working with JSON template contexts.
* Added `Text.Pandoc.Asciify` utility module.
This exports functions to create ASCII-only versions of identifiers.
* `Text.Pandoc.Parsing`
+ Generalized state type on `readWith` (API change).
+ Specialize readWith to `String` input. (API change).
+ In `ParserState`, replace `stateTitle`, `stateAuthors`, `stateDate`
with `stateMeta` and `stateMeta'`.
* `Text.Pandoc.UTF8`: use strict bytestrings in reading. The use of lazy
bytestrings seemed to cause problems using pandoc on 64-bit Windows
7/8 (#874).
* Factored out `registerHeader` from markdown reader, added to
`Text.Pandoc.Parsing`.
* Removed `blaze_html_0_5` flag, require `blaze-html` >= 0.5.
Reason: < 0.5 does not provide a monoid instance for Attribute,
which is now needed by the HTML writer (#803).
* Added `http-conduit` flag, which allows fetching https resources.
It also brings in a large number of dependencies (`http-conduit`
and its dependencies), which is why for now it is an optional flag
(#820).
* Added CONTRIBUTING.md.
* Improved INSTALL instructions.
* `make-windows-installer.bat`: Removed explicit paths for executables.
* `aeson` is now used instead of `json` for JSON.
* Set default stack size to 16M. This is needed for some large
conversions, esp. if pandoc is compiled with 64-bit ghc.
* Various small documentation improvements.
Thanks to achalddave and drothlis for patches.
* Removed comment that chokes recent versions of CPP (#933).
* Removed support for GHC version < 7.2, since pandoc-types now
requires at least GHC 7.2 for GHC generics.
pandoc (1.11.1)
* Markdown reader:
+ Fixed regression in which parentheses were lost in link URLs.
Added tests. Closes #786.
+ Better handling of unmatched double quotes in `--smart` mode.
These occur frequently in fiction, since it is customary not to
close quotes in dialogue if the speaker does not change between
paragraphs. The unmatched quotes now get turned into literal
left double quotes. (No `Quoted` inline is generated, however.)
Closes #99 (again).
* HTML writer: Fixed numbering mismatch between TOC and sections.
`--number-offset` now affects TOC numbering as well
as section numbering, as it should have all along. Closes #789.
* Markdown writer: Reverted 1.11 change that caused citations to be rendered
as markdown citations, even if `--bibliography` was specified, unless
`citation` extension is disabled. Now, formatted citations are always
printed if `--bibliography` was specified. If you want to reformat
markdown keeping pandoc markdown citations intact, don't use
`--bibliography`. Note that citations parsed from LaTeX documents will
be rendered as pandoc markdown citations when `--bibliography` is not
specified.
* ODT writer: Fixed regression leading to corrupt ODTs.
This was due to a change in the `Show` instance for
`Text.Pandoc.Pretty.Doc`. Closes #780.
* Fixed spacing bugs involving code block attributes in
RST reader and Markdown writer. Closes #763.
* Windows package: Various improvements due to Fyodor Sheremetyev.
+ Automatically set installation path (Program Files or Local App Data).
+ Set system PATH environment variable when installing for all users.
+ Pandoc can installed for all users using the following command.
`msiexec /i pandoc-1.11.msi ALLUSERS=1`.
* Bumped QuickCheck version bound.
pandoc (1.11)
* Added `--number-offset` option. (See README for description.)
* Added `--default-image-extension` option. (See README for description.)
* `--number-sections` behavior change: headers with class `unnumbered`
will not be numbered.
* `--version` now reports the default data directory.
* `Text.Pandoc.Parsing` is no longer exposed. (API change.)
* `Text.Pandoc.Highlighting` is no longer exposed. (API change.)
* `Text.Pandoc.Shared`: Changed type of `Element`. `Sec` now includes
a field for `Attr` rather than just `String`. (API change.)
* Added `markdown_github` as input format. This was an accidental
omission in 1.10.
* Added `readerDefaultImageExtension` field to `ReaderOptions`. (API
change.)
* Added `writerNumberOffset` field in `WriterOptions`. (API change.)
* Beamer template:
+ Fixed captions with longtable. Thanks to Joost Kremers.
+ Provide `\Oldincludegraphics` as in LaTeX template (Benjamin Bannier).
* LaTeX template:
+ Load microtype after fonts. Microtype needs to know
what fonts are being used. Thanks to dfc for the patch.
+ Set `secnumdepth` to 5 if `--number-sections` specified.
This yields behavior equivalent to the other writers, numbering
level 4 and 5 headers too. Closes #753.
* HTML reader:
+ Handle `<colgroup>` tag.
+ Preserve all header attributes.
* LaTeX reader:
+ Parse `\hrule` as `HorizontalRule`. Closes #746.
+ Parse starred variants of `\section` etc. as headers with
attribute `unnumbered`.
+ Read optional attributes in `lstlisting` and `Verbatim` environments.
We convert these to pandoc standard names, e.g. `numberLines`
for `numbers=left`, `startFrom=100` from `firstnumber=100`.
+ Handle language attribute for lstlistings.
+ Better support for Verbatim and minted environments. Closes #763.
* Markdown reader:
+ `-` in an attribute context = `.unnumbered`. The point of this
is to provide a way to specify unnumbered headers in non-English
documents.
+ Fixed bug parsing key/value attributes. Parsing failed if you
had an unquoted attribute immediately before the final '}'.
+ Make backslash escape work in attributes.
+ Fix title block parsing. Now if `mmd_title_blocks` is specified,
pandoc will parse a MMD title block if it sees one, even if
`pandoc_title_blocks` is enabled.
+ Refactoring: `litChar` now includes entities, so we don't need
to use `fromEntities` e.g. on titles.
+ Allow spaces around borders in pipe tables. Closes #772.
+ Allow all punctuation in angle-bracket autolinks. Previously
things like `----` were disallowed, because the uri parser
treated them as trailing punctuation. Closes #768.
+ Make `implicit_header_references` work properly when
headers are given explicit identifiers.
+ Check for tables before line blocks. Otherwise some pipe
tables get treated as line blocks.
+ Allow `&` in emails (for entities).
+ Properly handle entities in titles and links. A markdown link
`<http://göogle.com>` should be a link to `http://göogle.com`.
Closes #723.
* Textile reader:
+ Handle attributes on headers.
* LaTeX reader:
+ Add `fig:` as title for images with captions.
This is needed for them to be rendered as figures. Closes #766.
+ Never emit an empty paragraph. See #761.
+ Handle `\caption` for images in figures. Closes #766.
+ Parse `\section*`, etc. as unnumbered sections.
* HTML writer:
+ Support header attributes. The attributes go on
the enclosing `section` or `div` tag if `--section-divs` is specified.
+ Fixed a regression (only now noticed) in html+lhs output.
Previously the bird tracks were being omitted.
* LaTeX writer:
+ Omit lists with no items to avoid LaTeX errors.
+ Support line numbering with `--listings`.
If `numberLines` class is present, we add `numbers=left`;
if `startFrom` is present, we add `firstnumber=`. (#763)
* ConTeXt writer:
+ Removed `\placecontent`. This produced a duplicate toc,
in conjunction with `\placelist`.
+ Use `\title`, `\subject` etc. for headers with
`unnumbered` class.
* Textile writer:
+ Support header attributes.
* Markdown writer:
+ Use grid tables when needed, and if enabled. Closes #740.
+ Render citations as pandoc-markdown citations.
Previously citations were rendered as citeproc-formatted citations
by default. Now we render them as pandoc citations, e.g. `[@item1]`,
unless the `citations` extension is disabled.
If you still want formatted citations in your markdown output,
use `pandoc -t markdown-citations`.
* RST writer:
+ Support `:number-lines:` in code blocks.
* Docx writer:
+ Better treatment of display math. Display math inside a
paragraph is now put in a separate paragraph, so it will render
properly (centered and without extra blank lines around it).
Partially addresses #742.
+ Content types and document rels xml files are now created from
scratch, rather than being taken over from `reference.docx`.
This fixes problems that arise when you edit the `reference.docx`
with Word.
+ We also now encode mime types for each individual image rather
than using defaults. This should allow us to handle a wider
range of image types (including PDF). Closes #414.
+ Changed style names in `reference docx`.
`FootnoteReference` -> `FootnoteRef`, `Hyperlink` -> `Link`.
The old names got changed by Word when the `reference.docx` was
edited. Closes #414.
* EPUB writer:
+ Fix section numbering. Previously the numbering restarted from 1
in each chapter (with `--number-sections`), though the numbers in
the table of contents were correct.
+ Headers with "unnumbered" attribute are not numbered. (Nor do they
cause an increment in running numbering.) Section numbers now work
properly, even when there is material before the first numbered section.
+ Include HTML TOC, even in epub2. The TOC is included in `<spine>`,
but `linear` is set to `no` unless the `--toc` option is specified.
Include `<guide>` element in OPF. This should allow the TOC to
be useable in Kindles when converted with kindlegen. Closes #773.
* `Text.Pandoc.Parsing`: Optimized `oneOfStringsCI`.
This dramatically reduces the speed penalty that comes from enabling the
`autolink_bare_uris` extension. The penalty is still substantial (in one
test, from 0.33s to 0.44s), but nowhere near what it used to be.
The RST reader is also much faster now, as it autodetects URIs.
* `Text.Pandoc.Shared`: `hierarchicalize` will not number section
with class "unnumbered". Unnumbered sections get `[]` for their
section number.
* `Text.Pandoc.Pretty`:
+ Fixed `chomp` so it works inside `Prefixed` elements.
+ Changed `Show` instance so it is better for debugging.
* `Text.Pandoc.ImageSize`: Added `Pdf` to `ImageType`.
* `Text.Pandoc.UTF8`: Strip off BOM if present. Closes #743.
* Windows installer improvements:
+ The installer is now signed with a certificate (thanks to
Fyodor Sheremetyev).
+ WiX is used instead of InnoSetup. The installer is now a
standard msi file.
+ The version number is now auto-detected, and need not be
updated separately.
* OSX installer improvements:
+ The package and pandoc executable are now signed with a
certificate (thanks to Fyodor Sheremetyev).
+ RTF version of license is used.
+ Use full path for sysctl in `InstallationCheck` script (jonahbull).
Closes #580.
* Converted COPYING to markdown.
* pandoc.cabal: Require latest versions of highlighting-kate,
texmath, citeproc-hs, zip-archive.
pandoc (1.10.1)
* Markdown reader: various optimizations, leading to a
significant performance boost.
* RST reader: Allow anonymous form of inline links:
`` `hello <url>`__ `` Closes #724.
* Mediawiki reader: Don't require newlines after tables.
Thanks to jrunningen for the patch. Closes #733.
* Fixed LaTeX macro parsing. Now LaTeX macro definitions are preserved
when output is LaTeX, and applied when it is another format.
Partially addresses #730.
* Markdown and RST readers: Added parser to `block` that skips blank
lines. This fixes a subtle regression involving grid tables with
empty cells. Also added test for grid table with empty cells.
Closes #732.
* RST writer: Use `.. code:: language` for code blocks with language.
Closes #721.
* DocBook writer: Fixed output for hard line breaks, adding a newline
between `<literallayout>` tags.
* Markdown writer: Use an autolink when link text matches url.
Previously we also checked for a null title, but this
test fails for links produced by citeproc-hs in bibliographies.
So, if the link has a title, it will be lost on conversion
to an autolink, but that seems okay.
* Markdown writer: Set title, author, date variables as before.
These are no longer used in the default template, since we use
titleblock, but we set them anyway for those who use custom templates.
* LaTeX writer: Avoid extra space at start/end of table cell.
Thanks to Nick Bart for the suggestion of using @{}.
* `Text.Pandoc.Parsing`:
+ More efficient version of `anyLine`.
+ Type of `macro` has changed; the parser now returns `Blocks`
instead of `Block`.
* Relaxed old-time version bound, allowing 1.0.*.
* Removed obsolete `hsmarkdown` script. Those who need `hsmarkdown`
should create a symlink as described in the README.
pandoc (1.10.0.5)
* Markdown reader: Try `lhsCodeBlock` before `rawTeXBlock`. Otherwise
`\begin{code}...\end{code}` isn't handled properly in markdown+lhs.
Thanks to Daniel Miot for noticing the bug and suggesting the fix.
* Markdown reader: Fixed bug with headerless grid tables.
The 1.10 code assumed that each table header cell contains exactly one
block. That failed for headerless tables (0) and also for tables with
multiple blocks in a header cell. The code is fixed and tests provided.
Thanks to Andrew Lee for pointing out the bug.
* Markdown reader: Fixed regressions in fenced code blocks. Closes #722.
+ Tilde code fences can again take a bare language string
(`~~~ haskell`), not just curly-bracketed attributes
(`~~~ {.haskell}`).
+ Backtick code blocks can take the curly-bracketed attributes.
+ Backtick code blocks don't *require* a language.
+ Consolidated code for the two kinds of fenced code blocks.
* LaTeX template: Use `\urlstyle{same}` to avoid monospace URLs.
* Markdown writer: Use proportional font for email autolinks with
obfuscation. Closes #714.
* Corrected name of `blank_before_blockquote` in README. Closes #718.
* `Text.Pandoc.Shared`: Fixed bug in `uri` parser.
The bug prevented an autolink at the end of a string (e.g.
at the end of a line block line) from counting as a link. Closes #711.
* Use the `hsb2hs` preprocessor instead of TH for embed_data_files.
This should work on Windows, unlike the TH solution with
file-embed.
* Eliminated use of TH in test suite.
* Added `Text.Pandoc.Data` (non-exported) to hold the association
list of embedded data files, if the `embed_data_files` flag is selected.
This isolates the code that needs special treatment with file-embed or
`hsb2hs`.
* Changes to `make-windows-installer.bat`.
+ Exit batch file if any of the cabal-dev installs fail.
+ There's no longer any need to reinstall `highlighting-kate`.
+ Don't start with a `cabal update`; leave that to the user.
+ Force reinstall of pandoc.
* Fixed EPUB writer so it builds with blaze-html 0.4.x. Thanks to
Jens Petersen.
pandoc (1.10.0.4)