@@ -1 +0,0 @@
1−debian/changelog
@@ -0,0 +1,1381 @@
1+pandoc (0.47) UNRELEASED; urgency=low
2+
3+ [ Recai Oktaş ]
4+
5+ * Debian packaging changes:
6+
7+ + Migrate to GHC 6.8.2. Closes: #461606
8+ + Add new dependencies libghc6-regex-compat-dev and libghc6-uulib-dev.
9+ + Remove the code in debian/rules which attempts to remove empty ghc6.6
10+ include directory. This code may cause an installation failure for the
11+ -dev package. Closes: #460658
12+ + Fix doc-base to prevent a lintian warning.
13+
14+ -- Recai Oktaş <roktas@debian.org> Sat, 09 Feb 2008 04:41:46 +0200
15+
16+pandoc (0.46) unstable; urgency=low
17+
18+ [ John MacFarlane ]
19+
20+ * Made -H, -A, and -B options cumulative: if they are specified
21+ multiple times, multiple files will be included.
22+
23+ * Added optional HTML sanitization using a whitelist.
24+ When this option is specified (--sanitize-html on the command line),
25+ unsafe HTML tags will be replaced by HTML comments, and unsafe HTML
26+ attributes will be removed. This option should be especially useful
27+ for those who want to use pandoc libraries in web applications, where
28+ users will provide the input.
29+
30+ + Main.hs: Added --sanitize-html option.
31+
32+ + Text.Pandoc.Shared: Added stateSanitizeHTML to ParserState.
33+
34+ + Text.Pandoc.Readers.HTML:
35+ - Added whitelists of sanitaryTags and sanitaryAttributes.
36+ - Added parsers to check these lists (and state) to see if a given
37+ tag or attribute should be counted unsafe.
38+ - Modified anyHtmlTag and anyHtmlEndTag to replace unsafe tags
39+ with comments.
40+ - Modified htmlAttribute to remove unsafe attributes.
41+ - Modified htmlScript and htmlStyle to remove these elements if
42+ unsafe.
43+
44+ + Modified README and man pages to document new option.
45+
46+ * Improved handling of email addresses in markdown and reStructuredText.
47+ Consolidated uri and email address parsers. (Resolves Issue #37.)
48+
49+ + New emailAddress and uri parsers in Text.Pandoc.Shared.
50+ - uri parser uses parseURI from Network.URI.
51+ - emailAddress parser properly handles email addresses with periods
52+ in them.
53+
54+ + Removed uri and emailAddress parsers from Text.Pandoc.Readers.RST
55+ and Text.Pandoc.Readers.Markdown.
56+
57+ * Markdown reader:
58+
59+ + Fixed emph parser so that "*hi **there***" is parsed as a Strong
60+ nested in an Emph. (A '*' is only recognized as the end of the
61+ emphasis if it's not the beginning of a strong emphasis.)
62+
63+ + Moved blockQuote parser before list parsers for performance.
64+
65+ + Modified 'source' parser to allow backslash-escapes in URLs.
66+ So, for example, [my](/url\(1\)) yields a link to /url(1).
67+ Resolves Issue #34.
68+
69+ + Disallowed links within links. (Resolves Issue #35.)
70+ - Replaced inlinesInBalanced with inlinesInBalancedBrackets, which
71+ instead of hard-coding the inline parser takes an inline parser
72+ as a parameter.
73+ - Modified reference and inlineNote to use inlinesInBalancedBrackets.
74+ - Removed unneeded inlineString function.
75+ - Added inlineNonLink parser, which is now used in the definition of
76+ reference.
77+ - Added inlineParsers list and redefined inline and inlineNonLink parsers
78+ in terms of it.
79+ - Added failIfLink parser.
80+
81+ + Better handling of parentheses in URLs and quotation marks in titles.
82+ - 'source' parser first tries to parse URL with balanced parentheses;
83+ if that doesn't work, it tries to parse everything beginning with
84+ '(' and ending with ')'.
85+ - source parser now uses an auxiliary function source'.
86+ - linkTitle parser simplified and improved, under assumption that it
87+ will be called in context of source'.
88+
89+ + Make 'block' conditional on strictness state, instead of using
90+ failIfStrict in block parsers. Use a different ordering of parsers
91+ in strict mode (raw HTML block before paragraph) for performance.
92+ In non-strict mode use rawHtmlBlocks instead of htmlBlock.
93+ Simplified htmlBlock, since we know it's only called in strict
94+ mode.
95+
96+ + Improved handling of raw HTML. (Resolves Issue #36.)
97+ - Tags that can be either block or inline (e.g. <ins>) should
98+ be treated as block when appropriate and as inline when
99+ appropriate. Thus, for example,
100+ <ins>hi</ins>
101+ should be treated as a paragraph with inline <ins> tags, while
102+ <ins>
103+ hi
104+ </ins>
105+ should be treated as a paragraph within <ins> tags.
106+ - Moved htmlBlock after para in list of block parsers. This ensures
107+ that tags that can be either block or inline get parsed as inline
108+ when appropriate.
109+ - Modified rawHtmlInline' so that block elements aren't treated as
110+ inline.
111+ - Modified para parser so that paragraphs containing only HTML tags and
112+ blank space are not allowed. Treat these as raw HTML blocks instead.
113+
114+ + Fixed bug wherein HTML preceding a code block could cause it to
115+ be parsed as a paragraph. The problem is that the HTML parser
116+ used to eat all blank space after an HTML block, including the
117+ indentation of the code block. (Resolves Issue #39.)
118+ - In Text.Pandoc.Readers.HTML, removed parsing of following space
119+ from rawHtmlBlock.
120+ - In Text.Pandoc.Readers.Markdown, modified rawHtmlBlocks so that
121+ indentation is eaten *only* on the first line after the HTML
122+ block. This means that in
123+ <div>
124+ foo
125+ <div>
126+ the foo won't be treated as a code block, but in
127+ <div>
128+
129+ foo
130+
131+ </div>
132+ it will. This seems the right approach for least surprise.
133+
134+ * RST reader:
135+
136+ + Fixed bug in parsing explicit links (resolves Issue #44).
137+ The problem was that we were looking for inlines until a '<' character
138+ signaled the start of the URL; so, if you hit a reference-style link,
139+ it would keep looking til the end of the document. Fix: change
140+ inline => (notFollowedBy (char '`') >> inline). Note that this won't
141+ allow code inlines in links, but these aren't allowed in resT anyway.
142+
143+ + Cleaned up parsing of reference names in key blocks and links.
144+ Allow nonquoted reference links to contain isolated '.', '-', '_', so
145+ so that strings like 'a_b_' count as links.
146+
147+ + Removed unnecessary check for following link in str.
148+ This is unnecessary now that link is above str in the definition of
149+ 'inline'.
150+
151+ * HTML reader:
152+
153+ + Modified rawHtmlBlock so it parses </html> and </body> tags.
154+ This allows these tags to be handled correctly in Markdown.
155+ HTML reader now uses rawHtmlBlock', which excludes </html> and </body>,
156+ since these are handled in parseHtml. (Resolves Issue #38.)
157+
158+ + Fixed bug (emph parser was looking for <IT> tag, not <I>).
159+
160+ + Don't interpret contents of style tags as markdown.
161+ (Resolves Issue #40.)
162+ - Added htmlStyle, analagous to htmlScript.
163+ - Use htmlStyle in htmlBlockElement and rawHtmlInline.
164+ - Moved "script" from the list of tags that can be either block or
165+ inline to the list of block tags.
166+
167+ + Modified rawHtmlBlock to use anyHtmlBlockTag instead of anyHtmlTag
168+ and anyHtmlEndTag. This fixes a bug in markdown parsing, where
169+ inline tags would be included in raw HTML blocks.
170+
171+ + Modified anyHtmlBlockTag to test for (not inline) rather than
172+ directly for block. This allows us to handle e.g. docbook in
173+ the markdown reader.
174+
175+ * LaTeX reader: Properly recognize --parse-raw in rawLaTeXInline.
176+ Updated LaTeX reader test to use --parse-raw.
177+
178+ * HTML writer:
179+
180+ + Modified rules for automatic HTML header identifiers to
181+ ensure that identifiers begin with an alphabetic character.
182+ The new rules are described in README. (Resolves Issue #33.)
183+
184+ + Changed handling of titles in HTML writer so you don't get
185+ "titleprefix - " followed by nothing.
186+
187+ * ConTeXt writer: Use wrappers around Doc elements to ensure proper
188+ spacing. Each block element is wrapped with either Pad or Reg.
189+ Pad'ed elements are guaranteed to have a blank line in between.
190+
191+ * RST writer:
192+
193+ + Refactored RST writer to use a record instead of a tuple for state,
194+ and to include options in state so it doesn't need to be passed as
195+ a parameter.
196+
197+ + Use an interpreted text role to render math in restructuredText.
198+ See http://www.american.edu/econ/itex2mml/mathhack.rst for the
199+ strategy.
200+
201+ [ Recai Oktaş ]
202+
203+ * Debian packaging changes:
204+
205+ + Remove the empty 'include' directory in -dev package, which lintian
206+ complains about.
207+ + Bump Standarts-Version to 3.7.3.
208+ + Use new 'Homepage:' field to specify the upstream URL on suggestion of
209+ lintian.
210+
211+ -- Recai Oktaş <roktas@debian.org> Tue, 08 Jan 2008 05:13:31 +0200
212+
213+pandoc (0.45) unstable; urgency=low
214+
215+ [ John MacFarlane ]
216+
217+ * Simplified parsing of reference keys and notes in markdown and RST
218+ readers: The Reference data structure from Text.Pandoc.Shared is no
219+ longer needed, since referenceKey and noteBlock parses return strings
220+ (as many blank lines as were occupied by the key or note) and update
221+ state themselves. getPosition and setPosition are now used to ensure
222+ that error messages will give the correct line number. This yields
223+ cleaner (and slightly faster) code, with more accurate parsing error
224+ messages.
225+
226+ * Added new Math inline element:
227+
228+ + Markdown and LaTeX readers now convert TeX math into Math elements,
229+ not TeX.
230+ + This allows math to be treated differently from raw TeX in output.
231+ TeX elements are no longer printed in output formats other than
232+ Markdown, LaTeX, and ConTeXt. But Math elements are always printed.
233+
234+ * New default handling of math in writers:
235+
236+ + New module Text.Pandoc.Readers.TeXMath exports readTeXMath, which
237+ parses raw TeX math and outputs a string of Pandoc inlines that
238+ tries to render it as far as possible using unicode characters,
239+ lapsing into literal TeX when needed.
240+ + readTeXMath is now used for default HTML output in HTML, S5, RTF,
241+ and Docbook, if no other method for displaying math in HTML is
242+ specified. Enclosing $'s are no longer printed by default.
243+ + By default, math is put inside <span class="math">. This way it can be
244+ distinguished from the surrounding text, e.g. put in a different
245+ font.
246+
247+ * New --gladtex and --mimetex options for display of math in HTML:
248+
249+ + If --gladtex is specified, math is output between <eq> tags, so
250+ it can be processed by gladTeX.
251+ + If --mimetex is specified, math is put in <img> tags with a link
252+ to the mimetex CGI script (or any other script that takes TeX math
253+ as input and outputs an image). The URL of the script may be
254+ specified, but defaults to /cgi-bin/mimetex.cgi.
255+ + HTMLMathMethod structure in WriterOptions keeps track of how to
256+ display math in HTML output.
257+ + Updated README with a description of the four options for displaying
258+ math in HTML.
259+
260+ * HTML reader:
261+
262+ + Fixed bug: parser for minimized attributes should not swallow
263+ trailing spaces.
264+ + Simplified HTML attribute parsing.
265+ + Changed parsing of code blocks in HTML reader: <code> tag is no
266+ longer needed. <pre> suffices. All HTML tags in the code block
267+ (e.g. for syntax highlighting) are skipped, because they are not
268+ portable to other output formats. A <code>...</code> block not
269+ surrounded by <pre> now counts as inline HTML, not a code block.
270+ + Remove just one leading and one trailing newline from contents of
271+ <pre>...</pre> in codeBlock parser.
272+
273+ * Markdown reader:
274+
275+ + Removed support for box-style block quotes.
276+ + Require space before title in links and references.
277+ This fixes a bug in parsing URLs like http://silly/url(withparen).
278+ + Improved and simplified setextHeader parser.
279+ + Fixed logic in smart quote parsing, adding some needed 'try'
280+ statements.
281+ + Fixed smart quote parsing so that unicode characters 8216 and 8217
282+ are recognized as single quotes, and 8220 and 8221 as double quotes.
283+
284+ * RST reader:
285+
286+ + Fixed bug in parsing of code blocks. Previously a full tab indent
287+ was required, but RST allows code to be indented any amount.
288+ Resolves Issue #27.
289+ + Allow field lists to be indented.
290+ + Parse the contents of field lists instead of treating as a raw string.
291+ + Represent field lists as definition lists instead of blockquotes.
292+ + Fixed bug in which metadata would be overridden if the document
293+ contained multiple field lists.
294+ + Parse fields associated with '.. image::' blocks, and use 'alt'
295+ field, if given, for image alt and title attributes.
296+
297+ * LaTeX reader:
298+
299+ + Modified specialChar so that '"' characters are parsed.
300+ + Fixed a bug in parsing of \[ \] math blocks (thanks to Mark Kalderon).
301+
302+ * HTML writer:
303+
304+ + Changes in handling of math (see above).
305+ + Don't produce HTML for table of contents if there are
306+ no headers. (This would be an empty list, which is invalid XHTML.)
307+
308+ * Markdown writer:
309+
310+ + Don't print title attribute if title is empty. (This differs from
311+ the behavior of Markdown.pl, and agrees with PHP Markdown. But John
312+ Gruber has indicated that he prefers this behavior.) Adjusted test
313+ suite accordingly.
314+ + Fixed incorrect line wrapping in paragraphs including hard line
315+ breaks. Resolves Issue #25.
316+ + Fixed bug in markdown writer: If an ordered list item began with
317+ a marker greater than 3 characters in width, and the item took more
318+ than one line, it would appear on the line after the list marker,
319+ e.g.:
320+
321+ (12)
322+ My list item.
323+ Multiline.
324+
325+ Now it works as follows:
326+
327+ (12) My list item.
328+ Multiline.
329+
330+ * RST writer
331+
332+ + Fixed bug in RST writer's handling of ordered lists. Previously,
333+ list items with multiple lines would not always line up with
334+ single-line list items. Now, list items are nested the length of
335+ the list marker + 1. This looks better and ensures that list items
336+ all line up. (Note that list markers are padded to the length of
337+ the longest list marker in the series.)
338+ + Use 3-space indent for unordered lists.
339+ + If label for a link reference contains a colon, surround it by `
340+ signs so it won't be interpreted as the end of the link label.
341+
342+ * LaTeX writer:
343+
344+ + Cleaner output for footnotes. Footnotes now always begin on a new
345+ line, and the final } is on a line by itself only when it needs to
346+ be (i.e. only when the note ends with a Verbatim environment).
347+ + Added writer options to state, so state doesn't need to be passed as
348+ a parameter.
349+ + Text wrapping now provided, using wrapTeXIfNeeded.
350+
351+ * ConTeXt writer: many improvements for more idiomatic ConTeXt output
352+ (thanks to Idris Samawi Hamid for suggestions).
353+
354+ + PrettyPrint module now used for output.
355+ + Writer options are now in state, so they don't have to be passed as
356+ a parameter.
357+ + Text wrapping now provided, using wrapTeXIfNeeded.
358+ + Better treatment of footnotes: footnotes are always on lines by
359+ themselves, and the final } is on a line by itself only when
360+ it needs to be (after \stoptyping).
361+ + Use \subject, \subsubject, ... or \section, \subsection, ... for headings,
362+ depending on whether --number-sections option is selected.
363+ + Extra blank line inserted after \stopitemize
364+ + Use new, "official" definition of blockquote environment. Also, use
365+ blank line after \startblockquote to balance blank line at the end.
366+ + Both itemized and enumerated lists are now generated using
367+ \start-stopitemize, with appropriate options. Removed definitions
368+ of ltxenum and ltxitem, which are no longer needed. Provided
369+ defaults for itemized lists in the preamble. State keeps track of
370+ ordered list level, so that when default numbering is specified,
371+ the appropriate scheme can be used.
372+ + Changed \useurl to \useURL.
373+ + Changed link color from red to blue.
374+ + Use \subsubsubsubsection etc., since these are supported
375+ (up to at least sub x 5).
376+
377+ * Text.Pandoc.Shared:
378+
379+ + Save and restore position in parseFromString, so that accurate
380+ error messages can be given.
381+ + Improved efficiency of romanNumeral parser.
382+ + Added wrappedTeX and wrapTeXIfNeeded functions. These ensure
383+ that footnotes occur on lines by themselves (to make them
384+ easier to see and move) and do not screw up line wrapping.
385+
386+ * Text.Pandoc.UTF8: modified fromUTF8 to strip out the BOM
387+ if present. Windows Notepad and other applications insert a
388+ BOM at the beginning of a UTF8 file.
389+
390+ * Main.hs (tabFilter): Treat '\r' at end of line as newline (in
391+ addition to "\r\n" and '\n').
392+
393+ * Added a writer option for wrapped text and a command-line option
394+ '--no-wrap', which disables text wrapping and minimizes whitespace
395+ in HTML. (Resolves Issue #26.)
396+
397+ + Added support for '--no-wrap' to Main.hs.
398+ + Added wrapIfNeeded function to Text.Pandoc.Shared.
399+ + Use wrapIfNeeded instead of wrapped in the RST, Man, Docbook, and
400+ Markdown writers.
401+ + Added render and renderFragment helpers to HTML writer.
402+
403+ * Modified html2markdown to run tidy only if the HTML cannot be
404+ parsed. Previously html2markdown piped all input through tidy
405+ before passing it to pandoc. This caused problems on certain pages
406+ (e.g. http://daringfireball.com/markdown) which have well-formed
407+ XHTML that causes tidy to choke. The solution is to pipe through
408+ tidy only if pandoc cannot parse the input by itself. This means
409+ that a temp file is now always used, even when input comes from a
410+ local file or standard input.
411+
412+ * Removed 'version' constant from Main.hs; added 'pandocVersion' to
413+ Text.Pandoc library.
414+
415+ * pandoc.cabal:
416+
417+ + Modified to work with GHC 6.8 and Cabal configurations. (For GHC
418+ 6.8, pretty and containers must be added to Build-Depends, and it
419+ is desirable to use the -O2 compiler option.) Cabal configurations
420+ allows one to select options depending on the compiler version.
421+ For GHC 6.6, the splitBase option can be disabled.
422+ + pandoc.cabal.ghc66 is provided for users with older versions of
423+ Cabal, which do not support configurations.
424+ + Use Ghc-Prof-Options to ensure that '-auto-all' is used when
425+ '--enable-(executable|library)-profiling' is specified. Updated
426+ PROFILING instructions accordingly.
427+
428+ * Makefile:
429+
430+ + Makefile now checks GHC version. If GHC is 6.6, pandoc.cabal.ghc66
431+ is copied to pandoc.cabal, and the old pandoc.cabal is copied
432+ to pandoc.cabal.orig. Otherwise, pandoc.cabal is copied to
433+ pandoc.cabal.orig but otherwise unmodified. This way, the Makefile
434+ will work properly with either GHC 6.6 or 6.8.
435+ + Changed BUILDCONF to point to dist/setup-config, not .setup-config.
436+ This is where current versions of Cabal put it.
437+ + Added $(BUILDCMD) target, so setup doesn't get compiled every time.
438+ + Removed dependency of templates on ./templates, which is circular
439+ now that templates is a subdirectory of the top-level.
440+
441+ * MacPorts Portfile:
442+
443+ + Modified to install the pandoc library in addition to programs.
444+ + Installation must be done manually rather than using Makefile's
445+ install-all.
446+ + Note that the library must be registered in the activate phase,
447+ after the library files have been copied out of the destroot.
448+ Cabal generates a 'register.sh' script that will do this.
449+
450+ * debian/control: Added libghc6-network-dev, libghc6-xhtml-dev, and
451+ libghc6-mtl-dev as dependencies for libghc6-pandoc-dev.
452+ Closes: #445235
453+
454+ * debian/rules: Converted to UTF-8.
455+
456+ * Changed pandoc home page to http://johnmacfarlane.net/pandoc/.
457+
458+ * Updated ASCIIMathML.js to latest version.
459+
460+ * Directory structure:
461+
462+ + Moved everything from src into the top-level directory.
463+ + Changed references to source directory in Makefile and
464+ pandoc.cabal.*.
465+ + Moved ASCIIMathML.js, headers, and ui into templates directory.
466+ + Modified fillTemplates.pl to reflect new paths.
467+
468+ [ Recai Oktaş ]
469+
470+ * Makefile: Fixed the issue of having two copies of the library
471+ documentation under some usage scenarios.
472+
473+ * Replaced 'ghc' with '$(GHC)' in Makefile, and made GHC
474+ and GHC_PKG configurable through the environment, to support
475+ unusual ghc installations. For example:
476+ GHC=/opt/ghc/bin/ghc GHC_PKG=/opt/ghc/bin/ghc-pkg make
477+
478+ -- Recai Oktaş <roktas@debian.org> Sun, 07 Oct 2007 20:51:43 +0300
479+
480+pandoc (0.44) unstable; urgency=low
481+
482+ [ John MacFarlane ]
483+
484+ * Fixed bug in HTML writer: when --toc was used, anchors were put around
485+ headers, which is invalid XHTML (block content within inline element).
486+ Now the anchors are put inside the header tags. Resolves Issue #23.
487+
488+ * Added xmlns attribute to html element in html writer tests.
489+ This attribute is added by more recent versions of the
490+ xhtml library (>= 3000), and is required for valid XHTML.
491+
492+ [ Recai Oktaş ]
493+
494+ * On configure, compile 'Setup.hs' to 'setup' and use 'setup' as the build
495+ command instead of 'runhaskell', which, on some platforms (such as s390,
496+ alpha, m68k), throws the following error:
497+
498+ runhaskell Setup.hs configure --prefix=/usr
499+ ghc-6.6.1: not built for interactive use
500+
501+ This causes a serious FTBFS bug. Closes: #440668.
502+
503+ -- Recai Oktaş <roktas@debian.org> Mon, 03 Sep 2007 18:24:02 +0300
504+
505+pandoc (0.43) unstable; urgency=low
506+
507+ [ John MacFarlane ]
508+
509+ * The focus of this release is performance. The markdown parser
510+ is about five times faster than in 0.42, based on benchmarks
511+ with the TextMate manual.
512+
513+ * Main.hs: Replaced CRFilter and tabFilter with single function
514+ tabFilter, which operates on the whole string rather than breaking
515+ it into lines, and handles dos-style line-endings as well as tabs.
516+
517+ * Added separate LaTeX reader and native reader tests; removed
518+ round-trip tests.
519+
520+ * Text.Pandoc.Shared:
521+
522+ + Removed tabsToSpaces and tabsInLine (they were used only in Main.hs.)
523+ + General code cleanup (to elimante warnings when compiling with -Wall.)
524+ + Added 'wrapped' function, which helps wrap text into paragraphs,
525+ using the prettyprinting library.
526+ + Rewrote charsInBalanced and charsInBalanced'.
527+ - Documented restriction: open and close must be distinct characters.
528+ - Rearranged options for greater efficiency.
529+ - Bug fix: Changed inner call to charsInBalanced inside
530+ charsInBalanced' to charsInBalanced'.
531+ + anyLine now requires that the line end with a newline (not eof).
532+ This is a harmless assumption, since we always add newlines to the
533+ end of a block before parsing with anyLine, and it yields a 10% speed
534+ boost.
535+ + Removed unnecessary 'try' in anyLine.
536+ + Removed unneeded 'try' from romanNumeral parser.
537+ + Use notFollowedBy instead of notFollowedBy' in charsInBalanced.
538+ + Removed unneeded 'try' in parseFromString.
539+ + Removed unneeded 'try' from stringAnyCase. (Now it behaves
540+ like 'string'.)
541+ + Changed definition of 'enclosed' in Text.Pandoc.Shared so that
542+ 'try' is not automatically applied to the 'end' parser. Added
543+ 'try' in calls to 'enclosed' where needed. Slight speed increase.
544+
545+ * Writers:
546+
547+ + Replaced individual wrapping routines in RST, Man, and Markdown
548+ writers with 'wrapped' from Text.Pandoc.Shared.
549+ + Rewrote LaTeX writer to use the prettyprinting library,
550+ so we get word wrapping, etc.
551+ + Modified latex writer tests for new latex writer using prettyprinter.
552+ + Fixed bug in LaTeX writer: autolinks would not cause
553+ '\usepackage{url}' to be put in the document header. Also, changes
554+ to state in enumerated list items would be overwritten.
555+ + In Markdown writer, escape paragraphs that begin with ordered list
556+ markers, so they don't get interpreted as ordered lists.
557+
558+ * Text.Pandoc.Reades.LaTeX:
559+
560+ + Fixed bug in LaTeX reader, which wrongly assumed that the roman
561+ numeral after "enum" in "setcounter" would consist entirely of
562+ "i"s. 'enumiv' is legitimate.
563+ + LaTeX command and environment names can't contain numbers.
564+ + Rearranged order of parsers in inline for slight speed improvement.
565+ + Added '`' to special characters and 'unescapedChar'.
566+
567+ * Text.Pandoc.Readers.RST:
568+
569+ + Removed unneeded try's in RST reader; also minor code cleanup.
570+ + Removed tabchar.
571+ + Rearranged parsers in inline (doubled speed).
572+
573+ * Text.Pandoc.Readers.Markdown:
574+
575+ + Skip notes parsing if running in strict mode. (This yields a nice
576+ speed improvement in strict mode.)
577+ + Simplify autolink parsing code, using Network.URI to test for
578+ URIs. Added dependency on network library to debian/control and
579+ pandoc.cabal.
580+ + More perspicuous definition of nonindentSpaces.
581+ + Removed unneeded 'try' in 'rawLine'.
582+ + Combined linebreak and whitespace into a new whitespace parser, to
583+ avoid unnecessary reparsing of space characters.
584+ + Removed unnecessary 'try' in 'codeBlock', 'ellipses', 'noteMarker',
585+ 'multilineRow', 'dashedLine', 'rawHtmlBlocks'.
586+ + Use lookAhead in parsers for setext headers and definition lists
587+ to see if the next line begins appropriately; if not, don't waste
588+ any more time parsing.
589+ + Don't require blank lines after code block. (It's sufficient to
590+ end code block with a nonindented line.)
591+ + Changed definition of 'emph': italics with '_' must not
592+ be followed by an alphanumeric character. This is to help
593+ prevent interpretation of e.g. [LC_TYPE]: my_type as
594+ '[LC<em>TYPE]:my</em>type'.
595+ + Improved Markdown.pl-compatibility in referenceLink: the two parts
596+ of a reference-style link may be separated by one space, but not
597+ more... [a] [link], [not] [a link].
598+ + Fixed markdown inline code parsing so it better accords with
599+ Markdown.pl: the marker for the end of the code section is a clump
600+ of the same number of `'s with which the section began, followed
601+ by a non-` character. So, for example,
602+ ` h ``` i ` -> <code>h ``` i</code>.
603+ + Split 'title' into 'linkTitle' and 'referenceTitle', since the
604+ rules are slightly different.
605+ + Rewrote 'para' for greater efficiency.
606+ + Rewrote link parsers for greater efficiency.
607+ + Removed redundant 'referenceLink' in definition of inline (it's
608+ already in 'link').
609+ + Refactored escapeChar so it doesn't need 'try'.
610+ + Refactored hrule for performance in Markdown reader.
611+ + More intelligent rearranging of 'inline' so that most frequently
612+ used parsers are tried first.
613+ + Removed tabchar parser, as whitespace handles tabs anyway.
614+
615+ * Text.Pandoc.CharacterReferences:
616+
617+ + Refactored.
618+ + Removed unnecessary 'try's for a speed improvement.
619+ + Removed unnecessary '&' and ';' from the entity table.
620+
621+ * Build process:
622+
623+ + Makefile: Get VERSION from cabal file, not Main.hs.
624+ + Modified MacPorts Portfile:
625+ - Depend on haddock
626+ - Build and install libraries and library documentation in
627+ addition to pandoc executable
628+ - Added template item for md5 sum in Portfile.in.
629+ - Incorporated changes from MacPorts repository (r28278).
630+ + FreeBSD port: Don't try to generate distinfo in Makefile.
631+ It can be made using 'make makesum' in FreeBSD.
632+ + Make both freebsd and macports targets depend on tarball.
633+
634+ * Website and documentation:
635+
636+ + Updated INSTALL instructions.
637+ + Added pandocwiki demo to website.
638+ + Removed local references to Portfile, since pandoc is now in the
639+ MacPorts repository.
640+
641+ -- Recai Oktaş <roktas@debian.org> Sun, 02 Sep 2007 15:50:11 +0300
642+
643+pandoc (0.42) unstable; urgency=low
644+
645+ [ John MacFarlane ]
646+
647+ * Main.hs: Use utf8 conversion on the extra files loaded with
648+ the -H, -C, -B, and -A options. This fixes problems with unicode
649+ characters in these files.
650+
651+ * Exposed Text.Pandoc.ASCIIMathML, since it is imported in
652+ Text.Pandoc.Readers.HTML and without it we get a linking error when
653+ using the library.
654+
655+ * Markdown reader:
656+
657+ + Added new rule for enhanced markdown ordered lists: if the list
658+ marker is a capital letter followed by a period (including a
659+ single-letter capital roman numeral), then it must be followed by
660+ at least two spaces. The point of this is to avoid accidentally
661+ treating people's initials as list markers: a paragraph might begin,
662+ "B. Russell was an English philosopher," and this shouldn't be
663+ treated as a list. Documented change in README.
664+ + Blocks that start with "p. " and a digit are no longer treated
665+ as ordered lists (it's a page number).
666+ + Added a needed 'try' to listItem.
667+ + Removed check for a following setext header in endline.
668+ A full test is too inefficient (doubles benchmark time), and the
669+ substitute we had before is not 100% accurate.
670+ + Don't use Code elements for autolinks if --strict specified.
671+
672+ * LaTeX writer: When a footnote ends with a Verbatim environment, the
673+ close } of the footnote cannot occur on the same line or an error occurs.
674+ Fixed this by adding a newline before the closing } of every footnote.
675+
676+ * HTML writer:
677+ + Removed incorrect "{}" around style information in HTML tables.
678+ Column widths now work properly in HTML.
679+ + If --strict option is specified (and --toc is not), don't include
680+ identifiers in headers, for better Markdown compatibility.
681+
682+ * Build process:
683+
684+ + Separated $(web_dest) and website targets.
685+ + In website, index.txt is now constructed from template index.txt.in.
686+ + Added freebsd target to Markefile. This creates the freebsd Makefile
687+ from Makefile.in, and creates distinfo. Removed Makefile and distinfo
688+ from the repository.
689+ + Added macport target to Makefile. Portfile is built from template
690+ Portfile.in.
691+ + Removed OSX package targets. (Too many difficulties involving
692+ dependencies on dynamic libraries.)
693+ + More complete INSTALL instructions for all architectures.
694+
695+ * Website:
696+ + Added a programming demo, pandocwiki.
697+
698+ [ Recai Oktaş ]
699+
700+ * Do not forget to close pandoc's ITP. Closes: #391666
701+
702+ -- Recai Oktaş <roktas@debian.org> Sun, 26 Aug 2007 22:51:32 +0300
703+
704+pandoc (0.41) unstable; urgency=low
705+
706+ [ John MacFarlane ]
707+
708+ * Fixed bugs in HTML reader:
709+ + Skip material at end *only if* </html> is present (previously,
710+ only part of the document would be parsed if an error was
711+ found; now a proper error message is given).
712+ + Added new constant eitherBlockOrInline with elements that may
713+ count either as block-level or as inline. Modified isInline and
714+ isBlock to take this into account.
715+ + Modified rawHtmlBlock to accept any tag (even an inline tag):
716+ this is innocuous, because rawHtmlBlock is tried only if a regular
717+ inline element can't be parsed.
718+ + Added a necessary 'try' in definition of 'para'.
719+
720+ * Fixed bug in markdown ordered list parsing. The problem was that
721+ anyOrderedListStart did not check for a space following the
722+ ordered list marker. So in 'A.B. 2007' the parser would be
723+ expecting a list item, but would not find one, causing an error.
724+ Fixed a similar bug in the RST reader. Resolves Issue #22.
725+
726+ * Refactored RST and Markdown readers using parseFromString.
727+
728+ * LaTeX reader will now skip anything after \end{document}.
729+
730+ * Fixed blockquote output in markdown writer: previously, block
731+ quotes in indented contexts would be indented only in the first
732+ line.
733+
734+ * Added note to INSTALL about variations in versions of the xhtml
735+ library that can lead to failed tests (thanks to Leif LeBaron).
736+
737+ -- Recai Oktaş <roktas@debian.org> Sun, 19 Aug 2007 23:26:07 +0300
738+
739+pandoc (0.4) unstable; urgency=low
740+
741+ [ John MacFarlane ]
742+
743+ * Added two new output formats: groff man pages and ConTeXt. By
744+ default, output files with extensions ".ctx" and ".context" are
745+ assumed to be ConTeXt, and output files with single-digit extensions
746+ are assumed to be man pages.
747+
748+ * Enhanced ordered lists (documented in README, under Lists):
749+ + The OrderedList block element now stores information about
750+ list number style, list number delimiter, and starting number.
751+ + The readers parse this information when possible.
752+ + The writers use this information to style ordered lists.
753+ + The enhancement can be disabled using the --strict option.
754+
755+ * Added support for tables (with a new Table block element). Two kinds
756+ of tables are supported: a simple table with one-line rows, and a
757+ more complex variety with multiline rows. All output formats are
758+ supported, but only markdown tables are parsed at the moment. The
759+ syntax is documented in README.
760+
761+ * Added support for definition lists (with a new DefinitionList block
762+ element). All output and input formats are supported. The syntax is
763+ documented in README.
764+
765+ * Added support for superscripts and subscripts (with new Superscript
766+ and Subscript inline elements). All input and output
767+ formats. The syntax is documented in README.
768+
769+ * Added support for strikeout (with a new Strikeout inline element).
770+ All input and output formats are supported. Thanks to Bradley Kuhn,
771+ who contributed a patch. The syntax is documented in README. Resolves
772+ Issue #18.
773+
774+ * Added a --toc|--table-of-contents option. This causes an automatically
775+ generated table of contents (or an instruction that creates one) to
776+ be inserted at the beginning of the document. Not supported in S5,
777+ DocBook, or man page writers.
778+
779+ * Modified the -m|--asciimathml option:
780+
781+ + If an optional URL argument is provided, a link is inserted
782+ instead of the contents of the ASCIIMathML.js script.
783+ + Nothing is inserted unless the document actually contains
784+ LaTeX math.
785+
786+ * Removed Blank block element as unnecessary.
787+
788+ * Removed Key and Note blocks from the Pandoc data structure. All
789+ links are now stored as explicit links, and note contents are
790+ stored with the (inline) notes.
791+
792+ + All link Targets are now explicit (URL, title) pairs; there
793+ is no longer a 'Ref' target.
794+ + Markdown and RST parsers now need to extract data from key and
795+ note blocks and insert them into the relevant inline elements.
796+ Other parsers have been simplified, since there is no longer any need
797+ to construct separate key and note blocks.
798+ + Markdown, RST, and HTML writers need to construct lists of
799+ notes; Markdown and RST writers need to construct lists of link
800+ references (when the --reference-links option is specified); and
801+ the RST writer needs to construct a list of image substitution
802+ references. All writers have been rewritten to use the State monad
803+ when state is required.
804+ + Several functions (generateReference, keyTable,
805+ replaceReferenceLinks, replaceRefLinksBlockList, and some auxiliaries
806+ used by them) have been removed from Text.Pandoc.Shared, since
807+ they are no longer needed. New functions and data structures
808+ (Reference, isNoteBlock, isKeyBlock, isLineClump) have been
809+ added. The functions inTags, selfClosingTag, inTagsSimple, and
810+ inTagsIndented have been moved to the DocBook writer, since that
811+ is now the only module that uses them. NoteTable is now exported
812+ in Text.Pandoc.Shared.
813+ + Added stateKeys and stateNotes to ParserState; removed stateKeyBlocks,
814+ stateKeysUsed, stateNoteBlocks, stateNoteIdentifiers, stateInlineLinks.
815+ + Added writerNotes and writerReferenceLinks to WriterOptions.
816+
817+ * Added Text.Pandoc module that exports basic readers, writers,
818+ definitions, and utility functions. This should export everything
819+ needed for most uses of Pandoc libraries. The haddock documentation
820+ includes a short example program.
821+
822+ * Text.Pandoc.ASCIIMathML is no longer an exported module.
823+
824+ * Added Text.Pandoc.Blocks module to help in printing markdown
825+ and RST tables. This module provides functions for working with
826+ fixed-width blocks of text--e.g., placing them side by side, as
827+ in a table row.
828+
829+ * Refactored to avoid reliance on Haskell's Text.Regex library, which
830+ (a) is slow, and (b) does not properly handle unicode. This fixed
831+ some strange bugs, e.g. in parsing S-cedilla, and improved performance.
832+
833+ + Replaced 'gsub' with a general list function 'substitute'
834+ that does not rely on Text.Regex.
835+ + Rewrote extractTagType in HTML reader so that it doesn't use
836+ regexs.
837+ + In Markdown reader, replaced email regex test with a custom email
838+ autolink parser (autoLinkEmail). Also replaced selfClosingTag regex
839+ with a custom function isSelfClosingTag.
840+ + Modified Docbook writer so that it doesn't rely on Text.Regex for
841+ detecting 'mailto' links.
842+ + Removed escapePreservingRegex and reamped entity-handling
843+ functions in Text.Pandoc.Shared and Text.Pandoc.CharacterReferences to
844+ avoid reliance on Text.Regex (see below on character reference
845+ handling changes).
846+
847+ * Renamed Text.Pandoc.Entities as Text.Pandoc.CharacterReferences.
848+
849+ * Changed handling of XML entities. Entities are now parsed (and unicode
850+ characters returned) in the Markdown and HTML readers, rather than being
851+ handled in the writers. In HTML and Docbook writers, UTF-8 is now used
852+ instead of entities for characters above 128. This makes the HTML and
853+ DocBook output much more readable and more easily editable.
854+
855+ + Removed sgmlHexEntity, sgmlDecimalEntity, sgmlNamedEntity, and
856+ sgmlCharacterEntity regexes from Text.Pandoc.Shared.
857+ + Renamed escapeSGMLChar to escapeCharForXML. Added escapeStringForXML.
858+ Moved both functions to Text.Pandoc.Writers.Docbook.
859+ + Added characterReference parser to Text.Pandoc.CharacterReferences.
860+ This parses a string and return a unicode character.
861+ + Rewrote decodeCharacterReferences to use the new parser instead of
862+ Text.Regex.
863+ + Added new charRef parser for Markdown and HTML, which replaces the
864+ old 'entity' parser. Added '&' as a special character in Markdown reader.
865+ + Modified HTML and Markdown readers to call decodeEntities on all raw
866+ strings (e.g. authors, dates, link titles), to ensure that no
867+ unprocessed entities are included in the native representation of
868+ the document. (In the HTML reader, most of this work is done by a
869+ change in extractAttributeName.)
870+ + In XML and Markdown output, escape unicode nonbreaking space as ' ',
871+ since a unicode non-breaking space is impossible to distinguish visually
872+ from a regular space. (Resolves Issue #3.)
873+ + Removed encodeEntitiesNumerical.
874+ + Use Data.Map for entityTable and (new) reverseEntityTable, for a
875+ slight performance boost over the old association list.
876+ + Removed unneeded decodeEntities from 'str' parser in HTML and
877+ Markdown readers.
878+
879+ * Text.Pandoc.UTF8: Renamed encodeUTF8 to toUTF8, decodeUTF8 to
880+ fromUTF8, for clarity.
881+
882+ * Replaced old haskell98 module names replaced by hierarchical module
883+ names, e.g. List by Data.List. Removed haskell98 from dependencies
884+ in pandoc.cabal, and added mtl (needed for state monad). Substituted
885+ xhtml for html.
886+
887+ * Refactored and cleaned up character escaping in writers, using
888+ backslashEscapes and escapeStringUsing functions.
889+
890+ * Instead of adding "\n\n" to the end of an input string in Main.hs,
891+ this is now done in the readers. This makes the libraries behave
892+ the way you'd expect from the pandoc program. Resolves Issue #10.
893+
894+ * URLs and email addresses in autolinks are now typeset as Code.
895+
896+ * In Main.hs, changed putStr to putStrLn -- mainly because MacOS X
897+ doesn't display the whole output unless there's a line ending.
898+
899+ * Major code cleanup in all modules, for greater consistency, concision,
900+ and readability.
901+
902+ * HTML reader:
903+
904+ + Fixed several bugs (extractTagType, attribute parsing).
905+ + Remove Null blocks in lists of blocks when possible.
906+ + Allow HTML comments as raw HTML inline.
907+
908+ * Markdown reader:
909+
910+ + Ordered list items may no longer begin with uppercase letters, or
911+ letters greater than 'n'. (This prevents first initials and page
912+ reference, e.g. 'p. 400', from being parsed as beginning lists.)
913+ Also, numbers beginning list items may no longer end with ')',
914+ which is now allowed only after letters. Note: These changes
915+ may cause documents to be parsed differently. Users should take
916+ care in upgrading.
917+ + Changed autoLink parsing to conform better to Markdown.pl's
918+ behavior. <google.com> is not treated as a link, but
919+ <http://google.com>, <ftp://google.com>, and <mailto:google@google.com>
920+ are.
921+ + Cleaned up handling of embedded quotes in link titles. Now these are
922+ stored as a '"' character, not as '"'.
923+ + Use lookAhead parser for the 'first pass' (looking for reference keys),
924+ instead of parsing normally, then using setInput to reset input. This
925+ yields a slight performance boost.
926+ + Fixed several bugs in smart quote recognition.
927+ + Fixed bug in indentSpaces (which didn't properly handle
928+ cases with mixed spaces and tabs).
929+ + Consolidated 'text', 'special', and 'inline' into 'inline'.
930+ + Fixed bug which allowed URL and title to be separated by multiple blank
931+ lines in links and reference keys. They can be on separate lines but
932+ can't have blank lines between them.
933+ + Correctly handle bracketed text inside inline footnotes and links,using
934+ new function inlinesInBalanced. Resolves Issue #14.
935+ + Fixed bug in footnotes: links in footnotes were not being
936+ processed. Solution: three-stage parse. First, get all the
937+ reference keys and add information to state. Next, get all the
938+ notes and add information to state. (Reference keys may be needed
939+ at this stage.) Finally, parse everything else.
940+ + Replaced named constants like 'emphStart' with literals.
941+ + Removed an extra occurance of escapedChar in definition of inline.
942+
943+ * RST reader:
944+
945+ + Allow the URI in a RST hyperlink target to start on the line
946+ after the reference key.
947+ + Added 'try' in front of 'string', where needed, or used a different
948+ parser. This fixes a bug where ````` would not be correctly parsed as
949+ a verbatim `.
950+ + Fixed slow performance in parsing inline literals in RST reader. The
951+ problem was that ``#`` was seen by 'inline' as a potential link or image.
952+ Fix: inserted 'notFollowedBy (char '`')' in link parsers.
953+ Resolves Issue #8.
954+ + Use lookAhead instead of getInput/setInput in RST reader. Removed
955+ unneeded getState call, since lookAhead automatically saves and
956+ restores the parser state.
957+ + Allow hyperlink target URIs to be split over multiple lines, and
958+ to start on the line after the reference. Resolves Issue #7.
959+ + Fixed handling of autolinks.
960+
961+ * LaTeX reader:
962+
963+ + Replaced 'choice [(try (string ...), ...]' idiom with 'oneOfStrings',
964+ for clarity.
965+ + Added clauses for tilde and caret. Tilde is \ensuremath{\sim}, and
966+ caret is \^{}, not \^ as before.
967+ + Added parsing for \url.
968+ + Parse \texttt{} as code, provided there's nothing fancy inside.
969+
970+ * HTML writer:
971+
972+ + Modified HTML writer to use the Text.XHtml library. This results
973+ in cleaner, faster code, and it makes it easier to use Pandoc in
974+ other projects, like wikis, which use Text.XHtml. Two functions are
975+ now provided, writeHtml and writeHtmlString: the former outputs an
976+ Html structure, the latter a rendered string. The S5 writer is also
977+ changed, in parallel ways (writeS5, writeS5String).
978+ + The Html header is now written programmatically, so it has been
979+ removed from the 'headers' directory. The S5 header is still
980+ needed, but the doctype and some of the meta declarations have
981+ been removed, since they are written programatically. This change
982+ introduces a new dependency on the xhtml package.
983+ + Fixed two bugs in email obfuscation involving improper escaping
984+ of '&' in the <noscript> section and in --strict mode. Resolves
985+ Issue #9.
986+ + Fixed another bug in email obfuscation: If the text to be obfuscated
987+ contains an entity, this needs to be decoded before obfuscation.
988+ Thanks to thsutton for the patch. Resolves Issue #15.
989+ + Changed the way the backlink is displayed in HTML footnotes.
990+ Instead of appearing on a line by itself, it now generally
991+ appears on the last line of the note. (Exception: when the
992+ note does not end with a Plain or Para block.) This saves space
993+ and looks better.
994+ + Added automatic unique identifiers to headers:
995+ - The identifier is derived from the header via a scheme
996+ documented in README.
997+ - WriterState now includes a list of header identifiers and a table
998+ of contents in addition to notes.
999+ - The function uniqueIdentifiers creates a list of unique identifiers
1000+ from a list of inline lists (e.g. headers).
1001+ - This list is part of WriterState and gets consumed by blockToHtml
1002+ each time a header is encountered.
1003+ + Include CSS for .strikethrough class in header only if strikethrough
1004+ text appears in the document.
1005+ + If the 'strict' option is specified, elements that do not appear in
1006+ standard markdown (like definition lists) are passed through as
1007+ raw HTML.
1008+ + Simplified treatment of autolinks, using pattern matching instead of
1009+ conditionals.
1010+
1011+ * Markdown writer:
1012+
1013+ + Links in markdown output are now printed as inline links by default,
1014+ rather than reference links. A --reference-links option has been added
1015+ that forces links to be printed as reference links. Resolves Issue #4.
1016+ + Use autolinks when possible. Instead of [site.com](site.com),
1017+ use <site.com>.
1018+
1019+ * LaTeX writer:
1020+
1021+ + Rewrote to use the State monad. The preamble now includes only those
1022+ packages that are actually required, given the document's content.
1023+ Thus, for example, if strikeout is not used, ulem is not required.
1024+ Modified LaTeXHeader accordingly.
1025+ + Modified LaTeX writer to insert '\,' between consecutive quotes.
1026+ + Removed unused function tableRowColumnWidths.
1027+ + Simplified code for escaping special characters.
1028+ + Leave extra blank line after \maketitle.
1029+ + Include empty '\author{}' when no author specified to avoid LaTeX
1030+ errors.
1031+ + Include fancyvrb code in header only if needed -- that is, only
1032+ if there is actually code in a footnote.
1033+ + Use \url{} for autolinks.
1034+ + Include [mathletters] option in ucs package, so that basic unicode
1035+ Greek letters will work correctly.
1036+
1037+ * RST writer: Force blank line before lists, so that sublists will
1038+ be handled correctly.
1039+
1040+ * Docbook writer: Fixed a bug: email links with text, like
1041+ [foo](me@bar.baz), were being incorrectly treated as autolinks.
1042+
1043+ * Removed Text.ParserCombinators.Pandoc and moved all its functions to
1044+ Text.Pandoc.Shared.
1045+
1046+ * Text.Pandoc.Shared:
1047+
1048+ + Added defaultWriterOptions.
1049+ + Added writerTableOfContents to WriterOptions.
1050+ + Added writerIgnoreNotes option to WriterOptions. This is needed
1051+ for processing header blocks for a table of contents, since notes on
1052+ headers should not appear in the TOC.
1053+ + Added prettyprinting for native Table format.
1054+ + Removed some unneeded imports.
1055+ + Moved escape and nullBlock parsers from
1056+ Text.ParserCombinators.Pandoc, since the latter is for
1057+ general-purpose parsers that don't depend on Text.Pandoc.Definition.
1058+ + Moved isHeaderBlock from Text.Pandoc.Writers.HTML.
1059+ + Moved Element, headerAtLeast, and hierarchicalize from Docbook
1060+ writer, because HTML writer now uses these in constructing a table
1061+ of contents.
1062+ + Added clauses for new inline elements (Strikeout, Superscript,
1063+ Subscript) to refsMatch.
1064+ + Removed backslashEscape; added new functions escapeStringUsing and
1065+ backslashEscapes.
1066+ + Moved failIfStrict from markdown reader, since it is now used also
1067+ by the HTML reader.
1068+ + Added a 'try' to the definition of indentSpaces.
1069+ + In definition of 'reference', added check to make sure it's not a note
1070+ reference.
1071+ + Added functions: camelCaseToHyphenated, toRomanNumeral,
1072+ anyOrderedListMarker, orderedListmarker, orderedListMarkers,
1073+ charsInBalanced', withHorizDisplacement, romanNumeral
1074+ + Fixed a bug in the anyLine parser. Previously it would parse an empty
1075+ string "", but it should fail on an empty string, or we get an error
1076+ when it is used inside "many" combinators.
1077+ + Removed followedBy' parser, replacing it with the lookAhead parser from
1078+ Parsec.
1079+ + Added some needed 'try's before multicharacter parsers, especially in
1080+ 'option' contexts.
1081+ + Removed the 'try' from the 'end' parser in 'enclosed', so that
1082+ 'enclosed' behaves like 'option', 'manyTill', etc.
1083+ + Added lineClump parser, which parses a raw line block up to and
1084+ including any following blank lines.
1085+ + Renamed parseFromStr to parseFromString.
1086+ + Added a 'try' to the 'end' parser in 'enclosed'. This makes errors in
1087+ the use of 'enclosed' less likely. Removed some now-unnecessary 'try's
1088+ in calling code.
1089+ + Removed unneeded 'try' in blanklines.
1090+ + Removed endsWith function and rewrote calling functions to use
1091+ isSuffixOf instead.
1092+ + Added >>~ combinator.
1093+ + Fixed bug in normalizeSpaces: Space:Str "":Space should compress to
1094+ Space.
1095+
1096+ * Refactored runtests.pl; added separate tests for tables.
1097+
1098+ * Shell scripts:
1099+
1100+ + Added -asxhtml flag to tidy in html2markdown. This will
1101+ perhaps help the parser, which expects closing tags.
1102+ + Modified markdown2pdf to run pdflatex a second time if --toc or
1103+ --table-of-contents was specified; otherwise the table of
1104+ contents won't appear.
1105+ + Modified markdown2pdf to print a helpful message if the 'ulem'
1106+ LaTeX package is required and not found.
1107+
1108+ * Changes to build process:
1109+
1110+ + Dropped support for compilation with GHC 6.4. GHC 6.6 or higher
1111+ is now required.
1112+ + Removed cabalize and Pandoc.cabal.in. The repository now contains
1113+ pandoc.cabal itself.
1114+ + Pandoc.cabal has been changed to pandoc.cabal, because HackageDB
1115+ likes the cabal file to have the same name as the tarball.
1116+ + Expanded and revised the package description in pandoc.cabal.
1117+ Revised the package synopsis.
1118+ + The tarball built by 'make tarball' now contains files built from
1119+ templates (including man pages and shell scripts), so pandoc can
1120+ be built directly using Cabal tools, without preprocessing.
1121+ + Executable binaries are now stripped before installing.
1122+ + Man pages are now generated from markdown sources, using pandoc's
1123+ man page writer.
1124+ + Use HTML version of README (instead of RTF) in Mac OS X installer.
1125+ + Instead of testing for the existence of a pandoc symlink in build-exec,
1126+ use ln -f.
1127+
1128+ * Documentation:
1129+
1130+ + Updated README and man pages with information on new features.
1131+ + Updated INSTALL instructions with some useful clarifications and
1132+ links.
1133+ + Updated web content.
1134+
1135+ * Added FreeBSD port.
1136+
1137+ [ Recai Oktaş ]
1138+
1139+ * debian/control:
1140+
1141+ + Changed pandoc's Build-Depends to include libghc6-mtl-dev and
1142+ libghc6-xhtml-dev. Removed libghc6-html-dev.
1143+ + Suggest texlive-latex-recommended | tetex-extra instead of
1144+ tetex-bin. This brings in fancyvrb and unicode support.
1145+
1146+ -- Recai Oktaş <roktas@debian.org> Tue, 16 Jan 2007 00:37:21 +0200
1147+
1148+pandoc (0.3) unstable; urgency=low
1149+
1150+ [ John MacFarlane ]
1151+
1152+ * Changes in pandoc options:
1153+
1154+ + Allow options to follow or precede arguments.
1155+ + Changed '--smartypants' to '--smart' and adjusted symbols accordingly.
1156+ + Added '--strict' option.
1157+ + Added '-o/--output' option.
1158+ + Added '--dump-args' and '--ignore-args' options (for use in wrappers).
1159+ + Modified '-v' and '-h' output to go to STDERR, not STDOUT, and return
1160+ error conditions. This is helpful for writing wrappers.
1161+ + Added copyright message to '-v' output, modeled after FSF messages.
1162+ + Reformatted usage message so that it doesn't wrap illegibly.
1163+ + Removed extra blanks after '-h' and '-D' output.
1164+
1165+ * Added docbook writer.
1166+
1167+ * Added implicit setting of default input and output format based
1168+ on input and output filename extensions. These defaults are
1169+ overridden if explicit input and output formats are specified using
1170+ '-t', '-f', '-r', or '-w' options. Documented in pandoc(1) man page
1171+ and README.
1172+
1173+ * Allow ordered list items to begin with (single) letters, as well
1174+ as numbers. The list item marker may now be terminated either by
1175+ '.' or by ')'. This extension to standard markdown is documented
1176+ in README.
1177+
1178+ * Revised footnote syntax. (See README for full details.) The
1179+ '[^1]' format now standard in markdown extensions is supported,
1180+ as are inline footnotes with this syntax: '^[My note.]'.
1181+ The earlier footnote syntax '^(1)' is no longer supported.
1182+
1183+ * Improved HTML representation of footnotes. All footnotes
1184+ are now auto-numbered and appear in an ordered list at the
1185+ end of the HTML document. Since the default appearance is now
1186+ acceptable, the old footnote styles have been removed from the
1187+ HTML header.
1188+
1189+ * Bug fixes:
1190+
1191+ + Fixed a serious bug in the markdown, LaTeX, and RST readers.
1192+ These readers ran 'runParser' on processed chunks of text to handle
1193+ embedded block lists in lists and quotation blocks. But then
1194+ any changes made to the parser state in these chunks was lost,
1195+ as the state is local to the parser. So, for example, footnotes
1196+ didn't work in quotes or list items. The fix: instead of calling
1197+ runParser on some raw text, use setInput to make it the input, then
1198+ parse it, then use setInput to restore the input to what it was
1199+ before. This is shorter and more elegant, and it fixes the problem.
1200+ + Fixed bug in notFollowedBy' combinator (adding 'try' before
1201+ 'parser'). Adjusted code that uses this combinator accordingly.
1202+ + Fixed bug in RTF writer that caused improper indentation on
1203+ footnotes occurring in indented blocks like lists.
1204+ + Fixed parsing of metadata in LaTeX reader. Now the title, author,
1205+ and date are parsed correctly. Everything else in the preamble
1206+ is skipped.
1207+ + Modified escapedChar in LaTeX reader to allow a '\' at the end of a
1208+ line to count as escaped whitespace.
1209+ + Modified LaTeX reader to produce inline links rather than reference
1210+ links. Otherwise, links in footnotes aren't handled properly.
1211+ + Fixed handling of titles in links in Markdown reader, so that
1212+ embedded quotation marks are now handled properly.
1213+ + Fixed Markdown reader's handling of embedded brackets in links.
1214+ + Fixed Markdown reader so that it only parses bracketed material
1215+ as a reference link if there is actually a corresponding key.
1216+ + Revised inline code parsing in Markdown reader to conform to
1217+ markdown standard. Now any number of `s can begin inline code,
1218+ which will end with the same number of `s. For example, to
1219+ have two backticks as code, write ``` `` ```. Modified Markdown
1220+ writer accordingly.
1221+ + Fixed bug in text-wrapping routine in Markdown and RST writers.
1222+ Now LineBreaks no longer cause wrapping problems.
1223+ + Supported hexadecimal numerical entity references as well as
1224+ decimal ones.
1225+ + Fixed bug in Markdown reader's handling of underscores and other
1226+ inline formatting markers inside reference labels: for example,
1227+ in '[A_B]: /url/a_b', the material between underscores was being
1228+ parsed as emphasized inlines.
1229+ + Changed Markdown reader's handling of backslash escapes so that
1230+ only non-alphanumeric characters can be escaped. Strict mode
1231+ follows Markdown.pl in only allowing a select group of punctuation
1232+ characters to be escaped.
1233+ + Modified HTML reader to skip a newline following a <br> tag.
1234+ Otherwise the newline will be treated as a space at the beginning
1235+ of the next line.
1236+
1237+ * Made handling of code blocks more consistent. Previously, some
1238+ readers allowed trailing newlines, while others stripped them.
1239+ Now, all readers strip trailing newlines in code blocks. Writers
1240+ insert a newline at the end of code blocks as needed.
1241+
1242+ * Modified readers to make spacing at the end of output more consistent.
1243+
1244+ * Minor improvements to LaTeX reader:
1245+
1246+ + '\thanks' now treated like a footnote.
1247+ + Simplified parsing of LaTeX command arguments and options.
1248+ commandArgs now returns a list of arguments OR options (in
1249+ whatever order they appear). The brackets are included, and
1250+ a new stripFirstAndLast function is provided to strip them off
1251+ when needed. This fixes a problem in dealing with \newcommand
1252+ and \newenvironment.
1253+
1254+ * Revised RTF writer:
1255+
1256+ + Default font is now Helvetica.
1257+ + An '\f0' is added to each '\pard', so that font resizing works
1258+ correctly.
1259+
1260+ * Moved handling of "smart typography" from the writers to the Markdown
1261+ and LaTeX readers. This allows great simplification of the writers
1262+ and more accurate smart quotes, dashes, and ellipses. DocBook can
1263+ now use '<quote>'. The '--smart' option now toggles an option in
1264+ the parser state rather than a writer option. Several new kinds
1265+ of inline elements have been added: Quoted, Ellipses, Apostrophe,
1266+ EmDash, EnDash.
1267+
1268+ * Changes in HTML writer:
1269+
1270+ + Include title block in header even when title is null.
1271+ + Made javascript obfuscation of emails even more obfuscatory,
1272+ by combining it with entity obfuscation.
1273+
1274+ * Changed default ASCIIMathML text color to black.
1275+
1276+ * Test suite:
1277+
1278+ + Added --strip-trailing-cr option to diff in runtests.pl, for
1279+ compatibility with Windows.
1280+ + Added regression tests with footnotes in quote blocks and lists.
1281+
1282+ * Makefile changes:
1283+
1284+ + osx-pkg target creates a Mac OS X package (directory). New osx
1285+ directory contains files needed for construction of the package.
1286+ + osx-dmg target creates a compressed disk image containing the package.
1287+ + win-pkg target creates Windows binary package.
1288+ + tarball target creates distribution source tarball.
1289+ + website target generates pandoc's website automatically, including
1290+ demos. New 'web' directory containts files needed for construction
1291+ of the website (which will be created as the 'pandoc' subdirectory
1292+ of 'web').
1293+ + Makefile checks to see if we're running Windows/Cygwin; if so,
1294+ a '.exe' extension is added to each executable in EXECS.
1295+
1296+ * Removed all wrappers except markdown2pdf and html2markdown.
1297+
1298+ * Added new wrapper hsmarkdown, to be used as a drop-in replacement
1299+ for Markdown.pl. hsmarkdown calls pandoc with the '--strict'
1300+ option and disables other options.
1301+
1302+ * Added code to html2markdown that tries to determine the character
1303+ encoding of an HTML file, by parsing the "Content-type" meta tag.
1304+
1305+ + If the encoding can't be determined, then if the content is local,
1306+ the local encoding is used; if it comes from a URL, UTF-8 is used
1307+ by default.
1308+ + If input is from STDIN, don't try to determine character encoding.
1309+ + Encoding can be specified explicitly using '-e' option.
1310+
1311+ * Improved warning messages in wrappers:
1312+
1313+ + Print warning if iconv not available
1314+ + More user-friendly error messages in markdown2pdf, when
1315+ pdflatex fails.
1316+
1317+ * Code cleanup:
1318+
1319+ + Renamed 'Text/Pandoc/HtmlEntities' module to
1320+ 'Text/Pandoc/Entities'. Also changed function names so as
1321+ not to be HTML-specific.
1322+ + Refactored SGML string escaping functions from HTML and Docbook
1323+ writers into Text/Pandoc/Shared. (escapeSGML, stringToSGML)
1324+ + Removed 'BlockQuoteContext' from ParserContext, as it isn't
1325+ used anywhere.
1326+ + Removed splitBySpace and replaced it with a general, polymorphic
1327+ splitBy function.
1328+ + Refactored LaTeX reader for clarity (added isArg function).
1329+ + Converted some CR's to LF's in src/ui/default/print.css.
1330+ + Added license text to top of source files.
1331+ + Added module data for haddock to source files.
1332+ + Reformatted code for consistency.
1333+
1334+ * Rewrote documentation and man pages. Split README into INSTALL
1335+ and README.
1336+
1337+ * Split LICENSE into COPYING and COPYRIGHT.
1338+
1339+ * Removed TODO, since we now maintain ToDo on the wiki.
1340+
1341+ * Made COPYRIGHT in top level a symlink to debian/copyright, to avoid
1342+ duplication.
1343+
1344+ [ Recai Oktaş ]
1345+
1346+ * Revamped build process to conform to debian standards and created
1347+ a proper debian package. Closes: #391666.
1348+
1349+ * Modified build process to support GHC 6.6.
1350+
1351+ + The package can still be compiled using GHC 6.4.2, though because
1352+ of dependencies the "make deb" target works only with GHC 6.6+.
1353+ + The script 'cabalize' is used to create an appropriate
1354+ 'Pandoc.cabal' from 'Pandoc.cabal.in', depending on the GHC and
1355+ Cabal versions.
1356+
1357+ * Refactored template processing (fillTemplates.pl).
1358+
1359+ * Modified wrapper scripts to make them more robust and portable.
1360+ To avoid code duplication and ensure consistency, wrappers are
1361+ generated via a templating system from templates in src/wrappers.
1362+
1363+ + Wrappers now accept multiple filenames, when appropriate.
1364+ + Spaces and tabs allowed in filenames.
1365+ + getopts shell builtin is used for portable option parsing.
1366+ + Improved html2markdown's web grabber code, making it more robust,
1367+ configurable and verbose. Added '-e', '-g' options.
1368+
1369+ -- Recai Oktaş <roktas@debian.org> Fri, 05 Jan 2007 09:41:19 +0200
1370+
1371+pandoc (0.2) unstable; urgency=low
1372+
1373+ * Fixed unicode/utf-8 translation
1374+
1375+ -- John MacFarlane <jgm@berkeley.edu> Mon, 14 Aug 2006 00:00:00 -0400
1376+
1377+pandoc (0.1) unstable; urgency=low
1378+
1379+ * Initial creation of debian package
1380+
1381+ -- John MacFarlane <jgm@berkeley.edu> Mon, 14 Aug 2006 00:00:00 -0400