git.iko.soy/typeable/pandoc
on 1.6 help sign in
typeable/pandoc/relann1.6
272 lines 10 kB history raw
1I'm pleased to announce the release of pandoc 1.6.
3As usual, a source tarball and Windows installer are available
4at <http://code.google.com/p/pandoc/downloads/list>. You can
5also use 'cabal install' to get the latest version from HackageDB:
7 cabal update
8 cabal install pandoc
10Here is a summary of the major changes in this version.
12New writers
13-----------
15Two new output formats are supported: [EPUB] and [Slidy].
17EPUB is a standard ebook format, used in Apple's iBooks for the iPad
18and iPhone, Barnes and Noble's nook reader, the Sony reader, and many
19other devices, and by online ebook readers like [bookworm]. (Amazon's
20Kindle uses a different format, MobiPocket, but EPUB books can easily be
21converted to Kindle format.) Now you can write your book in markdown and
22produce an ebook with a single command! I've put up a short
23[tutorial here].
25Slidy, like S5, is a system for producing HTML+javascript slide shows.
27[EPUB]: http://en.wikipedia.org/wiki/EPUB
28[Slidy]: http://www.w3.org/Talks/Tools/Slidy
29[bookworm]: http://bookworm.oreilly.com/
30[tutorial here]: http://johnmacfarlane.net/pandoc/epub.html
32New Command-line Options
33------------------------
35For EPUB output:
37 * `--epub-stylesheet` allows you to specify a CSS file that will
38 be used to style your ebook.
40 * `--epub-metadata` allows you to specify a file containing metadata
41 besides the title and authors, which are automatically included.
43For Slidy and S5 output:
45 * `--offline` causes the javascript and stylesheets needed for
46 S5 or Slidy slide shows to be included directly in the generated
47 HTML. (By default, only links are included.)
49Note that this option goes with a change in the default behavior of the
50S5 writer, which used to include the javascript and stylesheets whenever
51`--standalone` was specified. If you are relying on pandoc to produce a
52self-contained slide show, you should specify `--offline`.
54For HTML output:
56 * `--webtex` causes TeX math to be converted to images using the Google
57 Charts API (unless a different URL is specified). (Thanks to
58 lpeterse.)
60 * Added `--section-divs` option. Causes div tags to be added around
61 each section in an HTML document.
63This last change requires a bit of explanation. Before version 1.2,
64pandoc would put section identifiers directly on headers:
66 <h1 id="my-section">My Section</h1>
67 ...blah blah...
69Someone wanted to be able to manipulate whole sections in javascript,
70so, starting with 1.2, I changed pandoc to put sections inside divs,
71with the identifiers on the divs:
73 <div id="my-section">
74 <h1>My Section</h1>
75 ...blah blah...
76 </div>
78Recently several people have pointed out to me that the divs can
79produce bad interaction effects when combined with raw HTML.
80http://code.google.com/p/pandoc/issues/detail?id=230
82So in 1.6, I have reverted to the old behavior (no divs, identifiers
83directly on section headers) as a default, adding a `--section-divs`
84option that will select the 1.2-1.5 behavior, with divs around sections
85and identifiers on the divs.
87Markdown extensions
88-------------------
90You can now use "grid tables" in markdown. (Most of the code
91is from Eric Kowey's grid tables patch to the RST reader, from
92the last release.)
94Table captions need no longer begin with the English word
95`Table:`, a bare colon is sufficient. Also, captions may appear
96above a table instead of below it.
98A new type of list marker, `@`, has been added. A list with items
99numbered `@` is sequentially numbered, like a list with items numbered
100`#`. The difference is that with `@`, the number sequence continues
101across a list boundary. `@` list items may also be labeled and referred
102to elsewhere in the document. An example will illustrate their use:
104 Here is my first list:
106 (@) first example, numbered 1
107 (@) second example, numeber 2
109 Some commentary here.
111 (@) third example, numbered 3
112 (@special) fourth example, numbered 4
113 (@) fifth example, numbered 5
115 Some commentary about (@special) (will appear as 4).
117This feature allows easy construction of a running list of
118sequentially numbered examples. For documentation, see README under
119"Numbered examples."
121API Changes
122-----------
124There are quite a few API changes in this release. If you use pandoc
125as a library, please review these carefully.
127 * Text.Pandoc.Shared:
128 + HTMLMathMethod: Added WebTeX, removed MimeTeX. (WebTeX is
129 generic enough to subsume MimeTeX.)
130 + WriterOptions: Added writerUserDataDir, writerSourceDirectory,
131 writerEPUBMetadata fields. Removed unused fields
132 writerIncludeBefore, writerIncludeAfter.
133 + Moved all the parsing-related functions and definitions
134 to a new module, Text.Pandoc.Parsing.
135 + Moved headerShift from pandoc.hs.
137 * New module, Text.Pandoc.Parsing, for shared parsing functions
138 and ParserState.
139 + Added HTMLSlideVariant.
140 + Made KeyTable a map instead of an association list.
141 This affects the RST and Markdown readers.
142 + The type for stateKeys in ParserState has changed.
144 * Text.Pandoc.Definition:
145 + Pandoc, Meta, Inline, and Block have been given Ord instances.
146 + Reference keys now have a type of their own (Key), with its
147 own Ord instance for case-insensitive comparison.
149 * New module, Text.Pandoc.Writers.EPUB.
151 * New utility module, Text.Pandoc.UUID, for generating random UUIDs for
152 EPUBs.
154 * Removed Text.Pandoc.ODT, added Text.Pandoc.Writers.ODT.
155 Instead of saveOpenDocumentAsODT, we now have writeODT, which takes
156 a Pandoc document and produces a bytestring. saveOpenDocumentAsODT
157 has been removed.
159 * Added Text.Pandoc.Writers.Native. This contains the prettyprinting
160 code from Text.Pandoc.Shared. prettyPandoc has been removed;
161 use the new writeNative instead.
163 * Added Text.Pandoc.UTF8 for portable UTF8 string IO.
165 * Removed Text.Pandoc.Writers.S5 and writeS5 function.
166 Moved s5Includes to new module, Text.Pandoc.S5.
167 (Now S5 is handled in more or less the same way as slidy;
168 to write s5, you use writeHtml with writerSlideVariant set
169 to S5Slides or SlidySlides.)
171Template Changes
172----------------
174There have been some changes to the default templates; please update
175your templates.
177 * HTML template: avoid empty meta tag if no date.
179 * Added S5 and Slidy templates.
181 * Added amssymb to the preamble in the default latex template.
183 * Use default highlighting CSS rather than embedding CSS in templates.
184 Note: if you use an older template, you'll have the wrong CSS for
185 recent versions of highlighting-kate.
187Other Changes
188-------------
190 * All input is assumed to be UTF-8, and all output is UTF-8. Pandoc no
191 longer respects locale, even when compiled by GHC 6.12.
193 * Made spacing at end of output more consistent. Previously some
194 of the writers added spurious whitespace. This has been removed.
195 Note: If your application combines pandoc's output with other
196 text, for example in a template, you may need to add spacing.
197 For example, a pandoc-generated markdown file will not have
198 a blank line after the final block element. If you are inserting
199 it into another markdown file, you will need to make sure there
200 is a blank line between it and the next block element.
202 * In S5 (and Slidy), horizontal rules now cause a "slide break,"
203 so you are no longer limited to one slide per level-one
204 section.
206 * Improved handling of code in man writer.
207 + Inline code is now in monoscpace, not bold.
208 + Code blocks now use .nf (no fill) and .IP (indented paragraph).
210 * HTML reader: parse <tt> as Code.
212 * HTML writer: Put insert-before text before the title h1 in HTML.
213 This is the documented behavior; the insert-before text
214 comes after the <body> tag.
216 * Add bird tracks to lhs in HTML when compiled wo -fhighlighting.
217 Previously the bird tracks would be stripped off when pandoc was
218 not compiled with highlighting support, even if -t html+lhs was
219 specified. Thanks to Nicholas Wu for pointing out the problem.
221 * Don't allow colon in autogenerated XML/HTML identifiers.
222 They have a special meaning in XML (e.g. in EPUB).
224 * LaTeX reader:
225 + Made latex \section, \chapter parsers more forgiving of whitespace.
226 + Added stateHasChapters to ParserState.
227 + Parse \chapter{} in latex. If a \chapter command is encountered,
228 this is set to True and subsequent \section commands (etc.) will
229 be bumped up one level.
230 + Changed rawLaTeXInline to accept '\section', '\begin', etc.
231 + Use new rawLaTeXInline' in LaTeX reader, and export rawLaTeXInline
232 for use in markdown reader.
233 + Fixes bug wherein '\section{foo}' was not recognized as raw TeX
234 in markdown document.
236 * LaTeX writer: Give images a maximum width using the prelude only.
238 * Plain, markdown, RST writers: Use unicode for smart punctuation.
240 * Man writer: convert math to unicode when possible, as in other
241 writers.
243 * Allow markdown2pdf to recognize citeproc options.
245 * Convert command-line arguments to UTF8.
247 * Use texmath's parser in TexMath module. This replaces a lot of
248 custom parser code, and expands the tex -> unicode conversion. The
249 behavior has also changed: if the whole formula can't be converted,
250 the whole formula is left in raw TeX. Previously, pandoc converted
251 parts of the formula to unicode and left other parts in raw TeX.
253 * In parsing smart quotes, leave unicode curly quotes alone.
255 * Removed obsolete markdown2pdf script.
257 * Removed parsec < 3 restriction.
259 * ODT: Handle the case where the image is remote (or not found) by
260 converting the Image element into an Emph with the label.
262 * Added 'threaded' cabal flag.
263 + GHC lacks a threaded runtime on some architectures.
264 Provide a 'threaded' flag that can be disabled for compiling
265 on these architectures.
266 + Removed '-threaded' from pandoc's ghc-options. '-threaded'
267 is only needed for markdown2pdf, due to its use of readProcess.
269 * Modified readFile and getContents to strip BOM if present.
271 * Updated pandoc to use highlighting-kate 0.2.7.