diff options
author | Jonas Smedegaard <dr@jones.dk> | 2009-08-14 09:24:18 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2009-08-14 09:24:18 +0200 |
commit | d1fd18b8be55d8c45346bbc627dc0b75281a37c4 (patch) | |
tree | faee15c4dce6124569548ca2a9c057dc2906ee64 /debian | |
parent | 88b315ccee666385e1a4c52e2eb5fb0b0ffe8d60 (diff) |
Add debian/ subdir from 0.46+2+nmu1 release.
Diffstat (limited to 'debian')
-rw-r--r-- | debian/changelog | 1400 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 87 | ||||
-rw-r--r-- | debian/copyright | 82 | ||||
-rw-r--r-- | debian/pandoc-doc.doc-base | 11 | ||||
-rw-r--r-- | debian/pandoc-doc.docs | 1 | ||||
-rw-r--r-- | debian/pandoc.dirs | 1 | ||||
-rwxr-xr-x | debian/rules | 124 |
8 files changed, 1707 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..776699544 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,1400 @@ +pandoc (0.46+2+nmu1) unstable; urgency=low + + * Non-maintainer upload. + * Text/Pandoc/Definition.hs: Patch file to fix Haddock parse + error which led to FTBFS. Move annotation of type synonym to before the + definition. (Closes: #536960) + + -- Iain Lane <laney@ubuntu.com> Tue, 04 Aug 2009 14:22:55 +0100 + +pandoc (0.46+2) unstable; urgency=low + + [ Recai Oktaş ] + + * Debian packaging changes: + + + Remove bogus dependency on libghc6-uulib-dev. + + -- Recai Oktaş <roktas@debian.org> Sat, 09 Feb 2008 18:40:00 +0200 + +pandoc (0.46+1) unstable; urgency=low + + [ Recai Oktaş ] + + * Debian packaging changes: + + + Migrate to GHC 6.8.2. Closes: #461606 + + Add new dependencies libghc6-regex-compat-dev and libghc6-uulib-dev. + + Remove the code in debian/rules which attempts to remove empty ghc6.6 + include directory. This code may cause an installation failure for the + -dev package. Closes: #460658 + + Fix doc-base to prevent a lintian warning. + + -- Recai Oktaş <roktas@debian.org> Sat, 09 Feb 2008 04:41:46 +0200 + +pandoc (0.46) unstable; urgency=low + + [ John MacFarlane ] + + * Made -H, -A, and -B options cumulative: if they are specified + multiple times, multiple files will be included. + + * Added optional HTML sanitization using a whitelist. + When this option is specified (--sanitize-html on the command line), + unsafe HTML tags will be replaced by HTML comments, and unsafe HTML + attributes will be removed. This option should be especially useful + for those who want to use pandoc libraries in web applications, where + users will provide the input. + + + Main.hs: Added --sanitize-html option. + + + Text.Pandoc.Shared: Added stateSanitizeHTML to ParserState. + + + Text.Pandoc.Readers.HTML: + - Added whitelists of sanitaryTags and sanitaryAttributes. + - Added parsers to check these lists (and state) to see if a given + tag or attribute should be counted unsafe. + - Modified anyHtmlTag and anyHtmlEndTag to replace unsafe tags + with comments. + - Modified htmlAttribute to remove unsafe attributes. + - Modified htmlScript and htmlStyle to remove these elements if + unsafe. + + + Modified README and man pages to document new option. + + * Improved handling of email addresses in markdown and reStructuredText. + Consolidated uri and email address parsers. (Resolves Issue #37.) + + + New emailAddress and uri parsers in Text.Pandoc.Shared. + - uri parser uses parseURI from Network.URI. + - emailAddress parser properly handles email addresses with periods + in them. + + + Removed uri and emailAddress parsers from Text.Pandoc.Readers.RST + and Text.Pandoc.Readers.Markdown. + + * Markdown reader: + + + Fixed emph parser so that "*hi **there***" is parsed as a Strong + nested in an Emph. (A '*' is only recognized as the end of the + emphasis if it's not the beginning of a strong emphasis.) + + + Moved blockQuote parser before list parsers for performance. + + + Modified 'source' parser to allow backslash-escapes in URLs. + So, for example, [my](/url\(1\)) yields a link to /url(1). + Resolves Issue #34. + + + Disallowed links within links. (Resolves Issue #35.) + - Replaced inlinesInBalanced with inlinesInBalancedBrackets, which + instead of hard-coding the inline parser takes an inline parser + as a parameter. + - Modified reference and inlineNote to use inlinesInBalancedBrackets. + - Removed unneeded inlineString function. + - Added inlineNonLink parser, which is now used in the definition of + reference. + - Added inlineParsers list and redefined inline and inlineNonLink parsers + in terms of it. + - Added failIfLink parser. + + + Better handling of parentheses in URLs and quotation marks in titles. + - 'source' parser first tries to parse URL with balanced parentheses; + if that doesn't work, it tries to parse everything beginning with + '(' and ending with ')'. + - source parser now uses an auxiliary function source'. + - linkTitle parser simplified and improved, under assumption that it + will be called in context of source'. + + + Make 'block' conditional on strictness state, instead of using + failIfStrict in block parsers. Use a different ordering of parsers + in strict mode (raw HTML block before paragraph) for performance. + In non-strict mode use rawHtmlBlocks instead of htmlBlock. + Simplified htmlBlock, since we know it's only called in strict + mode. + + + Improved handling of raw HTML. (Resolves Issue #36.) + - Tags that can be either block or inline (e.g. <ins>) should + be treated as block when appropriate and as inline when + appropriate. Thus, for example, + <ins>hi</ins> + should be treated as a paragraph with inline <ins> tags, while + <ins> + hi + </ins> + should be treated as a paragraph within <ins> tags. + - Moved htmlBlock after para in list of block parsers. This ensures + that tags that can be either block or inline get parsed as inline + when appropriate. + - Modified rawHtmlInline' so that block elements aren't treated as + inline. + - Modified para parser so that paragraphs containing only HTML tags and + blank space are not allowed. Treat these as raw HTML blocks instead. + + + Fixed bug wherein HTML preceding a code block could cause it to + be parsed as a paragraph. The problem is that the HTML parser + used to eat all blank space after an HTML block, including the + indentation of the code block. (Resolves Issue #39.) + - In Text.Pandoc.Readers.HTML, removed parsing of following space + from rawHtmlBlock. + - In Text.Pandoc.Readers.Markdown, modified rawHtmlBlocks so that + indentation is eaten *only* on the first line after the HTML + block. This means that in + <div> + foo + <div> + the foo won't be treated as a code block, but in + <div> + + foo + + </div> + it will. This seems the right approach for least surprise. + + * RST reader: + + + Fixed bug in parsing explicit links (resolves Issue #44). + The problem was that we were looking for inlines until a '<' character + signaled the start of the URL; so, if you hit a reference-style link, + it would keep looking til the end of the document. Fix: change + inline => (notFollowedBy (char '`') >> inline). Note that this won't + allow code inlines in links, but these aren't allowed in resT anyway. + + + Cleaned up parsing of reference names in key blocks and links. + Allow nonquoted reference links to contain isolated '.', '-', '_', so + so that strings like 'a_b_' count as links. + + + Removed unnecessary check for following link in str. + This is unnecessary now that link is above str in the definition of + 'inline'. + + * HTML reader: + + + Modified rawHtmlBlock so it parses </html> and </body> tags. + This allows these tags to be handled correctly in Markdown. + HTML reader now uses rawHtmlBlock', which excludes </html> and </body>, + since these are handled in parseHtml. (Resolves Issue #38.) + + + Fixed bug (emph parser was looking for <IT> tag, not <I>). + + + Don't interpret contents of style tags as markdown. + (Resolves Issue #40.) + - Added htmlStyle, analagous to htmlScript. + - Use htmlStyle in htmlBlockElement and rawHtmlInline. + - Moved "script" from the list of tags that can be either block or + inline to the list of block tags. + + + Modified rawHtmlBlock to use anyHtmlBlockTag instead of anyHtmlTag + and anyHtmlEndTag. This fixes a bug in markdown parsing, where + inline tags would be included in raw HTML blocks. + + + Modified anyHtmlBlockTag to test for (not inline) rather than + directly for block. This allows us to handle e.g. docbook in + the markdown reader. + + * LaTeX reader: Properly recognize --parse-raw in rawLaTeXInline. + Updated LaTeX reader test to use --parse-raw. + + * HTML writer: + + + Modified rules for automatic HTML header identifiers to + ensure that identifiers begin with an alphabetic character. + The new rules are described in README. (Resolves Issue #33.) + + + Changed handling of titles in HTML writer so you don't get + "titleprefix - " followed by nothing. + + * ConTeXt writer: Use wrappers around Doc elements to ensure proper + spacing. Each block element is wrapped with either Pad or Reg. + Pad'ed elements are guaranteed to have a blank line in between. + + * RST writer: + + + Refactored RST writer to use a record instead of a tuple for state, + and to include options in state so it doesn't need to be passed as + a parameter. + + + Use an interpreted text role to render math in restructuredText. + See http://www.american.edu/econ/itex2mml/mathhack.rst for the + strategy. + + [ Recai Oktaş ] + + * Debian packaging changes: + + + Remove the empty 'include' directory in -dev package, which lintian + complains about. + + Bump Standarts-Version to 3.7.3. + + Use new 'Homepage:' field to specify the upstream URL on suggestion of + lintian. + + -- Recai Oktaş <roktas@debian.org> Tue, 08 Jan 2008 05:13:31 +0200 + +pandoc (0.45) unstable; urgency=low + + [ John MacFarlane ] + + * Simplified parsing of reference keys and notes in markdown and RST + readers: The Reference data structure from Text.Pandoc.Shared is no + longer needed, since referenceKey and noteBlock parses return strings + (as many blank lines as were occupied by the key or note) and update + state themselves. getPosition and setPosition are now used to ensure + that error messages will give the correct line number. This yields + cleaner (and slightly faster) code, with more accurate parsing error + messages. + + * Added new Math inline element: + + + Markdown and LaTeX readers now convert TeX math into Math elements, + not TeX. + + This allows math to be treated differently from raw TeX in output. + TeX elements are no longer printed in output formats other than + Markdown, LaTeX, and ConTeXt. But Math elements are always printed. + + * New default handling of math in writers: + + + New module Text.Pandoc.Readers.TeXMath exports readTeXMath, which + parses raw TeX math and outputs a string of Pandoc inlines that + tries to render it as far as possible using unicode characters, + lapsing into literal TeX when needed. + + readTeXMath is now used for default HTML output in HTML, S5, RTF, + and Docbook, if no other method for displaying math in HTML is + specified. Enclosing $'s are no longer printed by default. + + By default, math is put inside <span class="math">. This way it can be + distinguished from the surrounding text, e.g. put in a different + font. + + * New --gladtex and --mimetex options for display of math in HTML: + + + If --gladtex is specified, math is output between <eq> tags, so + it can be processed by gladTeX. + + If --mimetex is specified, math is put in <img> tags with a link + to the mimetex CGI script (or any other script that takes TeX math + as input and outputs an image). The URL of the script may be + specified, but defaults to /cgi-bin/mimetex.cgi. + + HTMLMathMethod structure in WriterOptions keeps track of how to + display math in HTML output. + + Updated README with a description of the four options for displaying + math in HTML. + + * HTML reader: + + + Fixed bug: parser for minimized attributes should not swallow + trailing spaces. + + Simplified HTML attribute parsing. + + Changed parsing of code blocks in HTML reader: <code> tag is no + longer needed. <pre> suffices. All HTML tags in the code block + (e.g. for syntax highlighting) are skipped, because they are not + portable to other output formats. A <code>...</code> block not + surrounded by <pre> now counts as inline HTML, not a code block. + + Remove just one leading and one trailing newline from contents of + <pre>...</pre> in codeBlock parser. + + * Markdown reader: + + + Removed support for box-style block quotes. + + Require space before title in links and references. + This fixes a bug in parsing URLs like http://silly/url(withparen). + + Improved and simplified setextHeader parser. + + Fixed logic in smart quote parsing, adding some needed 'try' + statements. + + Fixed smart quote parsing so that unicode characters 8216 and 8217 + are recognized as single quotes, and 8220 and 8221 as double quotes. + + * RST reader: + + + Fixed bug in parsing of code blocks. Previously a full tab indent + was required, but RST allows code to be indented any amount. + Resolves Issue #27. + + Allow field lists to be indented. + + Parse the contents of field lists instead of treating as a raw string. + + Represent field lists as definition lists instead of blockquotes. + + Fixed bug in which metadata would be overridden if the document + contained multiple field lists. + + Parse fields associated with '.. image::' blocks, and use 'alt' + field, if given, for image alt and title attributes. + + * LaTeX reader: + + + Modified specialChar so that '"' characters are parsed. + + Fixed a bug in parsing of \[ \] math blocks (thanks to Mark Kalderon). + + * HTML writer: + + + Changes in handling of math (see above). + + Don't produce HTML for table of contents if there are + no headers. (This would be an empty list, which is invalid XHTML.) + + * Markdown writer: + + + Don't print title attribute if title is empty. (This differs from + the behavior of Markdown.pl, and agrees with PHP Markdown. But John + Gruber has indicated that he prefers this behavior.) Adjusted test + suite accordingly. + + Fixed incorrect line wrapping in paragraphs including hard line + breaks. Resolves Issue #25. + + Fixed bug in markdown writer: If an ordered list item began with + a marker greater than 3 characters in width, and the item took more + than one line, it would appear on the line after the list marker, + e.g.: + + (12) + My list item. + Multiline. + + Now it works as follows: + + (12) My list item. + Multiline. + + * RST writer + + + Fixed bug in RST writer's handling of ordered lists. Previously, + list items with multiple lines would not always line up with + single-line list items. Now, list items are nested the length of + the list marker + 1. This looks better and ensures that list items + all line up. (Note that list markers are padded to the length of + the longest list marker in the series.) + + Use 3-space indent for unordered lists. + + If label for a link reference contains a colon, surround it by ` + signs so it won't be interpreted as the end of the link label. + + * LaTeX writer: + + + Cleaner output for footnotes. Footnotes now always begin on a new + line, and the final } is on a line by itself only when it needs to + be (i.e. only when the note ends with a Verbatim environment). + + Added writer options to state, so state doesn't need to be passed as + a parameter. + + Text wrapping now provided, using wrapTeXIfNeeded. + + * ConTeXt writer: many improvements for more idiomatic ConTeXt output + (thanks to Idris Samawi Hamid for suggestions). + + + PrettyPrint module now used for output. + + Writer options are now in state, so they don't have to be passed as + a parameter. + + Text wrapping now provided, using wrapTeXIfNeeded. + + Better treatment of footnotes: footnotes are always on lines by + themselves, and the final } is on a line by itself only when + it needs to be (after \stoptyping). + + Use \subject, \subsubject, ... or \section, \subsection, ... for headings, + depending on whether --number-sections option is selected. + + Extra blank line inserted after \stopitemize + + Use new, "official" definition of blockquote environment. Also, use + blank line after \startblockquote to balance blank line at the end. + + Both itemized and enumerated lists are now generated using + \start-stopitemize, with appropriate options. Removed definitions + of ltxenum and ltxitem, which are no longer needed. Provided + defaults for itemized lists in the preamble. State keeps track of + ordered list level, so that when default numbering is specified, + the appropriate scheme can be used. + + Changed \useurl to \useURL. + + Changed link color from red to blue. + + Use \subsubsubsubsection etc., since these are supported + (up to at least sub x 5). + + * Text.Pandoc.Shared: + + + Save and restore position in parseFromString, so that accurate + error messages can be given. + + Improved efficiency of romanNumeral parser. + + Added wrappedTeX and wrapTeXIfNeeded functions. These ensure + that footnotes occur on lines by themselves (to make them + easier to see and move) and do not screw up line wrapping. + + * Text.Pandoc.UTF8: modified fromUTF8 to strip out the BOM + if present. Windows Notepad and other applications insert a + BOM at the beginning of a UTF8 file. + + * Main.hs (tabFilter): Treat '\r' at end of line as newline (in + addition to "\r\n" and '\n'). + + * Added a writer option for wrapped text and a command-line option + '--no-wrap', which disables text wrapping and minimizes whitespace + in HTML. (Resolves Issue #26.) + + + Added support for '--no-wrap' to Main.hs. + + Added wrapIfNeeded function to Text.Pandoc.Shared. + + Use wrapIfNeeded instead of wrapped in the RST, Man, Docbook, and + Markdown writers. + + Added render and renderFragment helpers to HTML writer. + + * Modified html2markdown to run tidy only if the HTML cannot be + parsed. Previously html2markdown piped all input through tidy + before passing it to pandoc. This caused problems on certain pages + (e.g. http://daringfireball.com/markdown) which have well-formed + XHTML that causes tidy to choke. The solution is to pipe through + tidy only if pandoc cannot parse the input by itself. This means + that a temp file is now always used, even when input comes from a + local file or standard input. + + * Removed 'version' constant from Main.hs; added 'pandocVersion' to + Text.Pandoc library. + + * pandoc.cabal: + + + Modified to work with GHC 6.8 and Cabal configurations. (For GHC + 6.8, pretty and containers must be added to Build-Depends, and it + is desirable to use the -O2 compiler option.) Cabal configurations + allows one to select options depending on the compiler version. + For GHC 6.6, the splitBase option can be disabled. + + pandoc.cabal.ghc66 is provided for users with older versions of + Cabal, which do not support configurations. + + Use Ghc-Prof-Options to ensure that '-auto-all' is used when + '--enable-(executable|library)-profiling' is specified. Updated + PROFILING instructions accordingly. + + * Makefile: + + + Makefile now checks GHC version. If GHC is 6.6, pandoc.cabal.ghc66 + is copied to pandoc.cabal, and the old pandoc.cabal is copied + to pandoc.cabal.orig. Otherwise, pandoc.cabal is copied to + pandoc.cabal.orig but otherwise unmodified. This way, the Makefile + will work properly with either GHC 6.6 or 6.8. + + Changed BUILDCONF to point to dist/setup-config, not .setup-config. + This is where current versions of Cabal put it. + + Added $(BUILDCMD) target, so setup doesn't get compiled every time. + + Removed dependency of templates on ./templates, which is circular + now that templates is a subdirectory of the top-level. + + * MacPorts Portfile: + + + Modified to install the pandoc library in addition to programs. + + Installation must be done manually rather than using Makefile's + install-all. + + Note that the library must be registered in the activate phase, + after the library files have been copied out of the destroot. + Cabal generates a 'register.sh' script that will do this. + + * debian/control: Added libghc6-network-dev, libghc6-xhtml-dev, and + libghc6-mtl-dev as dependencies for libghc6-pandoc-dev. + Closes: #445235 + + * debian/rules: Converted to UTF-8. + + * Changed pandoc home page to http://johnmacfarlane.net/pandoc/. + + * Updated ASCIIMathML.js to latest version. + + * Directory structure: + + + Moved everything from src into the top-level directory. + + Changed references to source directory in Makefile and + pandoc.cabal.*. + + Moved ASCIIMathML.js, headers, and ui into templates directory. + + Modified fillTemplates.pl to reflect new paths. + + [ Recai Oktaş ] + + * Makefile: Fixed the issue of having two copies of the library + documentation under some usage scenarios. + + * Replaced 'ghc' with '$(GHC)' in Makefile, and made GHC + and GHC_PKG configurable through the environment, to support + unusual ghc installations. For example: + GHC=/opt/ghc/bin/ghc GHC_PKG=/opt/ghc/bin/ghc-pkg make + + -- Recai Oktaş <roktas@debian.org> Sun, 07 Oct 2007 20:51:43 +0300 + +pandoc (0.44) unstable; urgency=low + + [ John MacFarlane ] + + * Fixed bug in HTML writer: when --toc was used, anchors were put around + headers, which is invalid XHTML (block content within inline element). + Now the anchors are put inside the header tags. Resolves Issue #23. + + * Added xmlns attribute to html element in html writer tests. + This attribute is added by more recent versions of the + xhtml library (>= 3000), and is required for valid XHTML. + + [ Recai Oktaş ] + + * On configure, compile 'Setup.hs' to 'setup' and use 'setup' as the build + command instead of 'runhaskell', which, on some platforms (such as s390, + alpha, m68k), throws the following error: + + runhaskell Setup.hs configure --prefix=/usr + ghc-6.6.1: not built for interactive use + + This causes a serious FTBFS bug. Closes: #440668. + + -- Recai Oktaş <roktas@debian.org> Mon, 03 Sep 2007 18:24:02 +0300 + +pandoc (0.43) unstable; urgency=low + + [ John MacFarlane ] + + * The focus of this release is performance. The markdown parser + is about five times faster than in 0.42, based on benchmarks + with the TextMate manual. + + * Main.hs: Replaced CRFilter and tabFilter with single function + tabFilter, which operates on the whole string rather than breaking + it into lines, and handles dos-style line-endings as well as tabs. + + * Added separate LaTeX reader and native reader tests; removed + round-trip tests. + + * Text.Pandoc.Shared: + + + Removed tabsToSpaces and tabsInLine (they were used only in Main.hs.) + + General code cleanup (to elimante warnings when compiling with -Wall.) + + Added 'wrapped' function, which helps wrap text into paragraphs, + using the prettyprinting library. + + Rewrote charsInBalanced and charsInBalanced'. + - Documented restriction: open and close must be distinct characters. + - Rearranged options for greater efficiency. + - Bug fix: Changed inner call to charsInBalanced inside + charsInBalanced' to charsInBalanced'. + + anyLine now requires that the line end with a newline (not eof). + This is a harmless assumption, since we always add newlines to the + end of a block before parsing with anyLine, and it yields a 10% speed + boost. + + Removed unnecessary 'try' in anyLine. + + Removed unneeded 'try' from romanNumeral parser. + + Use notFollowedBy instead of notFollowedBy' in charsInBalanced. + + Removed unneeded 'try' in parseFromString. + + Removed unneeded 'try' from stringAnyCase. (Now it behaves + like 'string'.) + + Changed definition of 'enclosed' in Text.Pandoc.Shared so that + 'try' is not automatically applied to the 'end' parser. Added + 'try' in calls to 'enclosed' where needed. Slight speed increase. + + * Writers: + + + Replaced individual wrapping routines in RST, Man, and Markdown + writers with 'wrapped' from Text.Pandoc.Shared. + + Rewrote LaTeX writer to use the prettyprinting library, + so we get word wrapping, etc. + + Modified latex writer tests for new latex writer using prettyprinter. + + Fixed bug in LaTeX writer: autolinks would not cause + '\usepackage{url}' to be put in the document header. Also, changes + to state in enumerated list items would be overwritten. + + In Markdown writer, escape paragraphs that begin with ordered list + markers, so they don't get interpreted as ordered lists. + + * Text.Pandoc.Reades.LaTeX: + + + Fixed bug in LaTeX reader, which wrongly assumed that the roman + numeral after "enum" in "setcounter" would consist entirely of + "i"s. 'enumiv' is legitimate. + + LaTeX command and environment names can't contain numbers. + + Rearranged order of parsers in inline for slight speed improvement. + + Added '`' to special characters and 'unescapedChar'. + + * Text.Pandoc.Readers.RST: + + + Removed unneeded try's in RST reader; also minor code cleanup. + + Removed tabchar. + + Rearranged parsers in inline (doubled speed). + + * Text.Pandoc.Readers.Markdown: + + + Skip notes parsing if running in strict mode. (This yields a nice + speed improvement in strict mode.) + + Simplify autolink parsing code, using Network.URI to test for + URIs. Added dependency on network library to debian/control and + pandoc.cabal. + + More perspicuous definition of nonindentSpaces. + + Removed unneeded 'try' in 'rawLine'. + + Combined linebreak and whitespace into a new whitespace parser, to + avoid unnecessary reparsing of space characters. + + Removed unnecessary 'try' in 'codeBlock', 'ellipses', 'noteMarker', + 'multilineRow', 'dashedLine', 'rawHtmlBlocks'. + + Use lookAhead in parsers for setext headers and definition lists + to see if the next line begins appropriately; if not, don't waste + any more time parsing. + + Don't require blank lines after code block. (It's sufficient to + end code block with a nonindented line.) + + Changed definition of 'emph': italics with '_' must not + be followed by an alphanumeric character. This is to help + prevent interpretation of e.g. [LC_TYPE]: my_type as + '[LC<em>TYPE]:my</em>type'. + + Improved Markdown.pl-compatibility in referenceLink: the two parts + of a reference-style link may be separated by one space, but not + more... [a] [link], [not] [a link]. + + Fixed markdown inline code parsing so it better accords with + Markdown.pl: the marker for the end of the code section is a clump + of the same number of `'s with which the section began, followed + by a non-` character. So, for example, + ` h ``` i ` -> <code>h ``` i</code>. + + Split 'title' into 'linkTitle' and 'referenceTitle', since the + rules are slightly different. + + Rewrote 'para' for greater efficiency. + + Rewrote link parsers for greater efficiency. + + Removed redundant 'referenceLink' in definition of inline (it's + already in 'link'). + + Refactored escapeChar so it doesn't need 'try'. + + Refactored hrule for performance in Markdown reader. + + More intelligent rearranging of 'inline' so that most frequently + used parsers are tried first. + + Removed tabchar parser, as whitespace handles tabs anyway. + + * Text.Pandoc.CharacterReferences: + + + Refactored. + + Removed unnecessary 'try's for a speed improvement. + + Removed unnecessary '&' and ';' from the entity table. + + * Build process: + + + Makefile: Get VERSION from cabal file, not Main.hs. + + Modified MacPorts Portfile: + - Depend on haddock + - Build and install libraries and library documentation in + addition to pandoc executable + - Added template item for md5 sum in Portfile.in. + - Incorporated changes from MacPorts repository (r28278). + + FreeBSD port: Don't try to generate distinfo in Makefile. + It can be made using 'make makesum' in FreeBSD. + + Make both freebsd and macports targets depend on tarball. + + * Website and documentation: + + + Updated INSTALL instructions. + + Added pandocwiki demo to website. + + Removed local references to Portfile, since pandoc is now in the + MacPorts repository. + + -- Recai Oktaş <roktas@debian.org> Sun, 02 Sep 2007 15:50:11 +0300 + +pandoc (0.42) unstable; urgency=low + + [ John MacFarlane ] + + * Main.hs: Use utf8 conversion on the extra files loaded with + the -H, -C, -B, and -A options. This fixes problems with unicode + characters in these files. + + * Exposed Text.Pandoc.ASCIIMathML, since it is imported in + Text.Pandoc.Readers.HTML and without it we get a linking error when + using the library. + + * Markdown reader: + + + Added new rule for enhanced markdown ordered lists: if the list + marker is a capital letter followed by a period (including a + single-letter capital roman numeral), then it must be followed by + at least two spaces. The point of this is to avoid accidentally + treating people's initials as list markers: a paragraph might begin, + "B. Russell was an English philosopher," and this shouldn't be + treated as a list. Documented change in README. + + Blocks that start with "p. " and a digit are no longer treated + as ordered lists (it's a page number). + + Added a needed 'try' to listItem. + + Removed check for a following setext header in endline. + A full test is too inefficient (doubles benchmark time), and the + substitute we had before is not 100% accurate. + + Don't use Code elements for autolinks if --strict specified. + + * LaTeX writer: When a footnote ends with a Verbatim environment, the + close } of the footnote cannot occur on the same line or an error occurs. + Fixed this by adding a newline before the closing } of every footnote. + + * HTML writer: + + Removed incorrect "{}" around style information in HTML tables. + Column widths now work properly in HTML. + + If --strict option is specified (and --toc is not), don't include + identifiers in headers, for better Markdown compatibility. + + * Build process: + + + Separated $(web_dest) and website targets. + + In website, index.txt is now constructed from template index.txt.in. + + Added freebsd target to Markefile. This creates the freebsd Makefile + from Makefile.in, and creates distinfo. Removed Makefile and distinfo + from the repository. + + Added macport target to Makefile. Portfile is built from template + Portfile.in. + + Removed OSX package targets. (Too many difficulties involving + dependencies on dynamic libraries.) + + More complete INSTALL instructions for all architectures. + + * Website: + + Added a programming demo, pandocwiki. + + [ Recai Oktaş ] + + * Do not forget to close pandoc's ITP. Closes: #391666 + + -- Recai Oktaş <roktas@debian.org> Sun, 26 Aug 2007 22:51:32 +0300 + +pandoc (0.41) unstable; urgency=low + + [ John MacFarlane ] + + * Fixed bugs in HTML reader: + + Skip material at end *only if* </html> is present (previously, + only part of the document would be parsed if an error was + found; now a proper error message is given). + + Added new constant eitherBlockOrInline with elements that may + count either as block-level or as inline. Modified isInline and + isBlock to take this into account. + + Modified rawHtmlBlock to accept any tag (even an inline tag): + this is innocuous, because rawHtmlBlock is tried only if a regular + inline element can't be parsed. + + Added a necessary 'try' in definition of 'para'. + + * Fixed bug in markdown ordered list parsing. The problem was that + anyOrderedListStart did not check for a space following the + ordered list marker. So in 'A.B. 2007' the parser would be + expecting a list item, but would not find one, causing an error. + Fixed a similar bug in the RST reader. Resolves Issue #22. + + * Refactored RST and Markdown readers using parseFromString. + + * LaTeX reader will now skip anything after \end{document}. + + * Fixed blockquote output in markdown writer: previously, block + quotes in indented contexts would be indented only in the first + line. + + * Added note to INSTALL about variations in versions of the xhtml + library that can lead to failed tests (thanks to Leif LeBaron). + + -- Recai Oktaş <roktas@debian.org> Sun, 19 Aug 2007 23:26:07 +0300 + +pandoc (0.4) unstable; urgency=low + + [ John MacFarlane ] + + * Added two new output formats: groff man pages and ConTeXt. By + default, output files with extensions ".ctx" and ".context" are + assumed to be ConTeXt, and output files with single-digit extensions + are assumed to be man pages. + + * Enhanced ordered lists (documented in README, under Lists): + + The OrderedList block element now stores information about + list number style, list number delimiter, and starting number. + + The readers parse this information when possible. + + The writers use this information to style ordered lists. + + The enhancement can be disabled using the --strict option. + + * Added support for tables (with a new Table block element). Two kinds + of tables are supported: a simple table with one-line rows, and a + more complex variety with multiline rows. All output formats are + supported, but only markdown tables are parsed at the moment. The + syntax is documented in README. + + * Added support for definition lists (with a new DefinitionList block + element). All output and input formats are supported. The syntax is + documented in README. + + * Added support for superscripts and subscripts (with new Superscript + and Subscript inline elements). All input and output + formats. The syntax is documented in README. + + * Added support for strikeout (with a new Strikeout inline element). + All input and output formats are supported. Thanks to Bradley Kuhn, + who contributed a patch. The syntax is documented in README. Resolves + Issue #18. + + * Added a --toc|--table-of-contents option. This causes an automatically + generated table of contents (or an instruction that creates one) to + be inserted at the beginning of the document. Not supported in S5, + DocBook, or man page writers. + + * Modified the -m|--asciimathml option: + + + If an optional URL argument is provided, a link is inserted + instead of the contents of the ASCIIMathML.js script. + + Nothing is inserted unless the document actually contains + LaTeX math. + + * Removed Blank block element as unnecessary. + + * Removed Key and Note blocks from the Pandoc data structure. All + links are now stored as explicit links, and note contents are + stored with the (inline) notes. + + + All link Targets are now explicit (URL, title) pairs; there + is no longer a 'Ref' target. + + Markdown and RST parsers now need to extract data from key and + note blocks and insert them into the relevant inline elements. + Other parsers have been simplified, since there is no longer any need + to construct separate key and note blocks. + + Markdown, RST, and HTML writers need to construct lists of + notes; Markdown and RST writers need to construct lists of link + references (when the --reference-links option is specified); and + the RST writer needs to construct a list of image substitution + references. All writers have been rewritten to use the State monad + when state is required. + + Several functions (generateReference, keyTable, + replaceReferenceLinks, replaceRefLinksBlockList, and some auxiliaries + used by them) have been removed from Text.Pandoc.Shared, since + they are no longer needed. New functions and data structures + (Reference, isNoteBlock, isKeyBlock, isLineClump) have been + added. The functions inTags, selfClosingTag, inTagsSimple, and + inTagsIndented have been moved to the DocBook writer, since that + is now the only module that uses them. NoteTable is now exported + in Text.Pandoc.Shared. + + Added stateKeys and stateNotes to ParserState; removed stateKeyBlocks, + stateKeysUsed, stateNoteBlocks, stateNoteIdentifiers, stateInlineLinks. + + Added writerNotes and writerReferenceLinks to WriterOptions. + + * Added Text.Pandoc module that exports basic readers, writers, + definitions, and utility functions. This should export everything + needed for most uses of Pandoc libraries. The haddock documentation + includes a short example program. + + * Text.Pandoc.ASCIIMathML is no longer an exported module. + + * Added Text.Pandoc.Blocks module to help in printing markdown + and RST tables. This module provides functions for working with + fixed-width blocks of text--e.g., placing them side by side, as + in a table row. + + * Refactored to avoid reliance on Haskell's Text.Regex library, which + (a) is slow, and (b) does not properly handle unicode. This fixed + some strange bugs, e.g. in parsing S-cedilla, and improved performance. + + + Replaced 'gsub' with a general list function 'substitute' + that does not rely on Text.Regex. + + Rewrote extractTagType in HTML reader so that it doesn't use + regexs. + + In Markdown reader, replaced email regex test with a custom email + autolink parser (autoLinkEmail). Also replaced selfClosingTag regex + with a custom function isSelfClosingTag. + + Modified Docbook writer so that it doesn't rely on Text.Regex for + detecting 'mailto' links. + + Removed escapePreservingRegex and reamped entity-handling + functions in Text.Pandoc.Shared and Text.Pandoc.CharacterReferences to + avoid reliance on Text.Regex (see below on character reference + handling changes). + + * Renamed Text.Pandoc.Entities as Text.Pandoc.CharacterReferences. + + * Changed handling of XML entities. Entities are now parsed (and unicode + characters returned) in the Markdown and HTML readers, rather than being + handled in the writers. In HTML and Docbook writers, UTF-8 is now used + instead of entities for characters above 128. This makes the HTML and + DocBook output much more readable and more easily editable. + + + Removed sgmlHexEntity, sgmlDecimalEntity, sgmlNamedEntity, and + sgmlCharacterEntity regexes from Text.Pandoc.Shared. + + Renamed escapeSGMLChar to escapeCharForXML. Added escapeStringForXML. + Moved both functions to Text.Pandoc.Writers.Docbook. + + Added characterReference parser to Text.Pandoc.CharacterReferences. + This parses a string and return a unicode character. + + Rewrote decodeCharacterReferences to use the new parser instead of + Text.Regex. + + Added new charRef parser for Markdown and HTML, which replaces the + old 'entity' parser. Added '&' as a special character in Markdown reader. + + Modified HTML and Markdown readers to call decodeEntities on all raw + strings (e.g. authors, dates, link titles), to ensure that no + unprocessed entities are included in the native representation of + the document. (In the HTML reader, most of this work is done by a + change in extractAttributeName.) + + In XML and Markdown output, escape unicode nonbreaking space as ' ', + since a unicode non-breaking space is impossible to distinguish visually + from a regular space. (Resolves Issue #3.) + + Removed encodeEntitiesNumerical. + + Use Data.Map for entityTable and (new) reverseEntityTable, for a + slight performance boost over the old association list. + + Removed unneeded decodeEntities from 'str' parser in HTML and + Markdown readers. + + * Text.Pandoc.UTF8: Renamed encodeUTF8 to toUTF8, decodeUTF8 to + fromUTF8, for clarity. + + * Replaced old haskell98 module names replaced by hierarchical module + names, e.g. List by Data.List. Removed haskell98 from dependencies + in pandoc.cabal, and added mtl (needed for state monad). Substituted + xhtml for html. + + * Refactored and cleaned up character escaping in writers, using + backslashEscapes and escapeStringUsing functions. + + * Instead of adding "\n\n" to the end of an input string in Main.hs, + this is now done in the readers. This makes the libraries behave + the way you'd expect from the pandoc program. Resolves Issue #10. + + * URLs and email addresses in autolinks are now typeset as Code. + + * In Main.hs, changed putStr to putStrLn -- mainly because MacOS X + doesn't display the whole output unless there's a line ending. + + * Major code cleanup in all modules, for greater consistency, concision, + and readability. + + * HTML reader: + + + Fixed several bugs (extractTagType, attribute parsing). + + Remove Null blocks in lists of blocks when possible. + + Allow HTML comments as raw HTML inline. + + * Markdown reader: + + + Ordered list items may no longer begin with uppercase letters, or + letters greater than 'n'. (This prevents first initials and page + reference, e.g. 'p. 400', from being parsed as beginning lists.) + Also, numbers beginning list items may no longer end with ')', + which is now allowed only after letters. Note: These changes + may cause documents to be parsed differently. Users should take + care in upgrading. + + Changed autoLink parsing to conform better to Markdown.pl's + behavior. <google.com> is not treated as a link, but + <http://google.com>, <ftp://google.com>, and <mailto:google@google.com> + are. + + Cleaned up handling of embedded quotes in link titles. Now these are + stored as a '"' character, not as '"'. + + Use lookAhead parser for the 'first pass' (looking for reference keys), + instead of parsing normally, then using setInput to reset input. This + yields a slight performance boost. + + Fixed several bugs in smart quote recognition. + + Fixed bug in indentSpaces (which didn't properly handle + cases with mixed spaces and tabs). + + Consolidated 'text', 'special', and 'inline' into 'inline'. + + Fixed bug which allowed URL and title to be separated by multiple blank + lines in links and reference keys. They can be on separate lines but + can't have blank lines between them. + + Correctly handle bracketed text inside inline footnotes and links,using + new function inlinesInBalanced. Resolves Issue #14. + + Fixed bug in footnotes: links in footnotes were not being + processed. Solution: three-stage parse. First, get all the + reference keys and add information to state. Next, get all the + notes and add information to state. (Reference keys may be needed + at this stage.) Finally, parse everything else. + + Replaced named constants like 'emphStart' with literals. + + Removed an extra occurance of escapedChar in definition of inline. + + * RST reader: + + + Allow the URI in a RST hyperlink target to start on the line + after the reference key. + + Added 'try' in front of 'string', where needed, or used a different + parser. This fixes a bug where ````` would not be correctly parsed as + a verbatim `. + + Fixed slow performance in parsing inline literals in RST reader. The + problem was that ``#`` was seen by 'inline' as a potential link or image. + Fix: inserted 'notFollowedBy (char '`')' in link parsers. + Resolves Issue #8. + + Use lookAhead instead of getInput/setInput in RST reader. Removed + unneeded getState call, since lookAhead automatically saves and + restores the parser state. + + Allow hyperlink target URIs to be split over multiple lines, and + to start on the line after the reference. Resolves Issue #7. + + Fixed handling of autolinks. + + * LaTeX reader: + + + Replaced 'choice [(try (string ...), ...]' idiom with 'oneOfStrings', + for clarity. + + Added clauses for tilde and caret. Tilde is \ensuremath{\sim}, and + caret is \^{}, not \^ as before. + + Added parsing for \url. + + Parse \texttt{} as code, provided there's nothing fancy inside. + + * HTML writer: + + + Modified HTML writer to use the Text.XHtml library. This results + in cleaner, faster code, and it makes it easier to use Pandoc in + other projects, like wikis, which use Text.XHtml. Two functions are + now provided, writeHtml and writeHtmlString: the former outputs an + Html structure, the latter a rendered string. The S5 writer is also + changed, in parallel ways (writeS5, writeS5String). + + The Html header is now written programmatically, so it has been + removed from the 'headers' directory. The S5 header is still + needed, but the doctype and some of the meta declarations have + been removed, since they are written programatically. This change + introduces a new dependency on the xhtml package. + + Fixed two bugs in email obfuscation involving improper escaping + of '&' in the <noscript> section and in --strict mode. Resolves + Issue #9. + + Fixed another bug in email obfuscation: If the text to be obfuscated + contains an entity, this needs to be decoded before obfuscation. + Thanks to thsutton for the patch. Resolves Issue #15. + + Changed the way the backlink is displayed in HTML footnotes. + Instead of appearing on a line by itself, it now generally + appears on the last line of the note. (Exception: when the + note does not end with a Plain or Para block.) This saves space + and looks better. + + Added automatic unique identifiers to headers: + - The identifier is derived from the header via a scheme + documented in README. + - WriterState now includes a list of header identifiers and a table + of contents in addition to notes. + - The function uniqueIdentifiers creates a list of unique identifiers + from a list of inline lists (e.g. headers). + - This list is part of WriterState and gets consumed by blockToHtml + each time a header is encountered. + + Include CSS for .strikethrough class in header only if strikethrough + text appears in the document. + + If the 'strict' option is specified, elements that do not appear in + standard markdown (like definition lists) are passed through as + raw HTML. + + Simplified treatment of autolinks, using pattern matching instead of + conditionals. + + * Markdown writer: + + + Links in markdown output are now printed as inline links by default, + rather than reference links. A --reference-links option has been added + that forces links to be printed as reference links. Resolves Issue #4. + + Use autolinks when possible. Instead of [site.com](site.com), + use <site.com>. + + * LaTeX writer: + + + Rewrote to use the State monad. The preamble now includes only those + packages that are actually required, given the document's content. + Thus, for example, if strikeout is not used, ulem is not required. + Modified LaTeXHeader accordingly. + + Modified LaTeX writer to insert '\,' between consecutive quotes. + + Removed unused function tableRowColumnWidths. + + Simplified code for escaping special characters. + + Leave extra blank line after \maketitle. + + Include empty '\author{}' when no author specified to avoid LaTeX + errors. + + Include fancyvrb code in header only if needed -- that is, only + if there is actually code in a footnote. + + Use \url{} for autolinks. + + Include [mathletters] option in ucs package, so that basic unicode + Greek letters will work correctly. + + * RST writer: Force blank line before lists, so that sublists will + be handled correctly. + + * Docbook writer: Fixed a bug: email links with text, like + [foo](me@bar.baz), were being incorrectly treated as autolinks. + + * Removed Text.ParserCombinators.Pandoc and moved all its functions to + Text.Pandoc.Shared. + + * Text.Pandoc.Shared: + + + Added defaultWriterOptions. + + Added writerTableOfContents to WriterOptions. + + Added writerIgnoreNotes option to WriterOptions. This is needed + for processing header blocks for a table of contents, since notes on + headers should not appear in the TOC. + + Added prettyprinting for native Table format. + + Removed some unneeded imports. + + Moved escape and nullBlock parsers from + Text.ParserCombinators.Pandoc, since the latter is for + general-purpose parsers that don't depend on Text.Pandoc.Definition. + + Moved isHeaderBlock from Text.Pandoc.Writers.HTML. + + Moved Element, headerAtLeast, and hierarchicalize from Docbook + writer, because HTML writer now uses these in constructing a table + of contents. + + Added clauses for new inline elements (Strikeout, Superscript, + Subscript) to refsMatch. + + Removed backslashEscape; added new functions escapeStringUsing and + backslashEscapes. + + Moved failIfStrict from markdown reader, since it is now used also + by the HTML reader. + + Added a 'try' to the definition of indentSpaces. + + In definition of 'reference', added check to make sure it's not a note + reference. + + Added functions: camelCaseToHyphenated, toRomanNumeral, + anyOrderedListMarker, orderedListmarker, orderedListMarkers, + charsInBalanced', withHorizDisplacement, romanNumeral + + Fixed a bug in the anyLine parser. Previously it would parse an empty + string "", but it should fail on an empty string, or we get an error + when it is used inside "many" combinators. + + Removed followedBy' parser, replacing it with the lookAhead parser from + Parsec. + + Added some needed 'try's before multicharacter parsers, especially in + 'option' contexts. + + Removed the 'try' from the 'end' parser in 'enclosed', so that + 'enclosed' behaves like 'option', 'manyTill', etc. + + Added lineClump parser, which parses a raw line block up to and + including any following blank lines. + + Renamed parseFromStr to parseFromString. + + Added a 'try' to the 'end' parser in 'enclosed'. This makes errors in + the use of 'enclosed' less likely. Removed some now-unnecessary 'try's + in calling code. + + Removed unneeded 'try' in blanklines. + + Removed endsWith function and rewrote calling functions to use + isSuffixOf instead. + + Added >>~ combinator. + + Fixed bug in normalizeSpaces: Space:Str "":Space should compress to + Space. + + * Refactored runtests.pl; added separate tests for tables. + + * Shell scripts: + + + Added -asxhtml flag to tidy in html2markdown. This will + perhaps help the parser, which expects closing tags. + + Modified markdown2pdf to run pdflatex a second time if --toc or + --table-of-contents was specified; otherwise the table of + contents won't appear. + + Modified markdown2pdf to print a helpful message if the 'ulem' + LaTeX package is required and not found. + + * Changes to build process: + + + Dropped support for compilation with GHC 6.4. GHC 6.6 or higher + is now required. + + Removed cabalize and Pandoc.cabal.in. The repository now contains + pandoc.cabal itself. + + Pandoc.cabal has been changed to pandoc.cabal, because HackageDB + likes the cabal file to have the same name as the tarball. + + Expanded and revised the package description in pandoc.cabal. + Revised the package synopsis. + + The tarball built by 'make tarball' now contains files built from + templates (including man pages and shell scripts), so pandoc can + be built directly using Cabal tools, without preprocessing. + + Executable binaries are now stripped before installing. + + Man pages are now generated from markdown sources, using pandoc's + man page writer. + + Use HTML version of README (instead of RTF) in Mac OS X installer. + + Instead of testing for the existence of a pandoc symlink in build-exec, + use ln -f. + + * Documentation: + + + Updated README and man pages with information on new features. + + Updated INSTALL instructions with some useful clarifications and + links. + + Updated web content. + + * Added FreeBSD port. + + [ Recai Oktaş ] + + * debian/control: + + + Changed pandoc's Build-Depends to include libghc6-mtl-dev and + libghc6-xhtml-dev. Removed libghc6-html-dev. + + Suggest texlive-latex-recommended | tetex-extra instead of + tetex-bin. This brings in fancyvrb and unicode support. + + -- Recai Oktaş <roktas@debian.org> Tue, 16 Jan 2007 00:37:21 +0200 + +pandoc (0.3) unstable; urgency=low + + [ John MacFarlane ] + + * Changes in pandoc options: + + + Allow options to follow or precede arguments. + + Changed '--smartypants' to '--smart' and adjusted symbols accordingly. + + Added '--strict' option. + + Added '-o/--output' option. + + Added '--dump-args' and '--ignore-args' options (for use in wrappers). + + Modified '-v' and '-h' output to go to STDERR, not STDOUT, and return + error conditions. This is helpful for writing wrappers. + + Added copyright message to '-v' output, modeled after FSF messages. + + Reformatted usage message so that it doesn't wrap illegibly. + + Removed extra blanks after '-h' and '-D' output. + + * Added docbook writer. + + * Added implicit setting of default input and output format based + on input and output filename extensions. These defaults are + overridden if explicit input and output formats are specified using + '-t', '-f', '-r', or '-w' options. Documented in pandoc(1) man page + and README. + + * Allow ordered list items to begin with (single) letters, as well + as numbers. The list item marker may now be terminated either by + '.' or by ')'. This extension to standard markdown is documented + in README. + + * Revised footnote syntax. (See README for full details.) The + '[^1]' format now standard in markdown extensions is supported, + as are inline footnotes with this syntax: '^[My note.]'. + The earlier footnote syntax '^(1)' is no longer supported. + + * Improved HTML representation of footnotes. All footnotes + are now auto-numbered and appear in an ordered list at the + end of the HTML document. Since the default appearance is now + acceptable, the old footnote styles have been removed from the + HTML header. + + * Bug fixes: + + + Fixed a serious bug in the markdown, LaTeX, and RST readers. + These readers ran 'runParser' on processed chunks of text to handle + embedded block lists in lists and quotation blocks. But then + any changes made to the parser state in these chunks was lost, + as the state is local to the parser. So, for example, footnotes + didn't work in quotes or list items. The fix: instead of calling + runParser on some raw text, use setInput to make it the input, then + parse it, then use setInput to restore the input to what it was + before. This is shorter and more elegant, and it fixes the problem. + + Fixed bug in notFollowedBy' combinator (adding 'try' before + 'parser'). Adjusted code that uses this combinator accordingly. + + Fixed bug in RTF writer that caused improper indentation on + footnotes occurring in indented blocks like lists. + + Fixed parsing of metadata in LaTeX reader. Now the title, author, + and date are parsed correctly. Everything else in the preamble + is skipped. + + Modified escapedChar in LaTeX reader to allow a '\' at the end of a + line to count as escaped whitespace. + + Modified LaTeX reader to produce inline links rather than reference + links. Otherwise, links in footnotes aren't handled properly. + + Fixed handling of titles in links in Markdown reader, so that + embedded quotation marks are now handled properly. + + Fixed Markdown reader's handling of embedded brackets in links. + + Fixed Markdown reader so that it only parses bracketed material + as a reference link if there is actually a corresponding key. + + Revised inline code parsing in Markdown reader to conform to + markdown standard. Now any number of `s can begin inline code, + which will end with the same number of `s. For example, to + have two backticks as code, write ``` `` ```. Modified Markdown + writer accordingly. + + Fixed bug in text-wrapping routine in Markdown and RST writers. + Now LineBreaks no longer cause wrapping problems. + + Supported hexadecimal numerical entity references as well as + decimal ones. + + Fixed bug in Markdown reader's handling of underscores and other + inline formatting markers inside reference labels: for example, + in '[A_B]: /url/a_b', the material between underscores was being + parsed as emphasized inlines. + + Changed Markdown reader's handling of backslash escapes so that + only non-alphanumeric characters can be escaped. Strict mode + follows Markdown.pl in only allowing a select group of punctuation + characters to be escaped. + + Modified HTML reader to skip a newline following a <br> tag. + Otherwise the newline will be treated as a space at the beginning + of the next line. + + * Made handling of code blocks more consistent. Previously, some + readers allowed trailing newlines, while others stripped them. + Now, all readers strip trailing newlines in code blocks. Writers + insert a newline at the end of code blocks as needed. + + * Modified readers to make spacing at the end of output more consistent. + + * Minor improvements to LaTeX reader: + + + '\thanks' now treated like a footnote. + + Simplified parsing of LaTeX command arguments and options. + commandArgs now returns a list of arguments OR options (in + whatever order they appear). The brackets are included, and + a new stripFirstAndLast function is provided to strip them off + when needed. This fixes a problem in dealing with \newcommand + and \newenvironment. + + * Revised RTF writer: + + + Default font is now Helvetica. + + An '\f0' is added to each '\pard', so that font resizing works + correctly. + + * Moved handling of "smart typography" from the writers to the Markdown + and LaTeX readers. This allows great simplification of the writers + and more accurate smart quotes, dashes, and ellipses. DocBook can + now use '<quote>'. The '--smart' option now toggles an option in + the parser state rather than a writer option. Several new kinds + of inline elements have been added: Quoted, Ellipses, Apostrophe, + EmDash, EnDash. + + * Changes in HTML writer: + + + Include title block in header even when title is null. + + Made javascript obfuscation of emails even more obfuscatory, + by combining it with entity obfuscation. + + * Changed default ASCIIMathML text color to black. + + * Test suite: + + + Added --strip-trailing-cr option to diff in runtests.pl, for + compatibility with Windows. + + Added regression tests with footnotes in quote blocks and lists. + + * Makefile changes: + + + osx-pkg target creates a Mac OS X package (directory). New osx + directory contains files needed for construction of the package. + + osx-dmg target creates a compressed disk image containing the package. + + win-pkg target creates Windows binary package. + + tarball target creates distribution source tarball. + + website target generates pandoc's website automatically, including + demos. New 'web' directory containts files needed for construction + of the website (which will be created as the 'pandoc' subdirectory + of 'web'). + + Makefile checks to see if we're running Windows/Cygwin; if so, + a '.exe' extension is added to each executable in EXECS. + + * Removed all wrappers except markdown2pdf and html2markdown. + + * Added new wrapper hsmarkdown, to be used as a drop-in replacement + for Markdown.pl. hsmarkdown calls pandoc with the '--strict' + option and disables other options. + + * Added code to html2markdown that tries to determine the character + encoding of an HTML file, by parsing the "Content-type" meta tag. + + + If the encoding can't be determined, then if the content is local, + the local encoding is used; if it comes from a URL, UTF-8 is used + by default. + + If input is from STDIN, don't try to determine character encoding. + + Encoding can be specified explicitly using '-e' option. + + * Improved warning messages in wrappers: + + + Print warning if iconv not available + + More user-friendly error messages in markdown2pdf, when + pdflatex fails. + + * Code cleanup: + + + Renamed 'Text/Pandoc/HtmlEntities' module to + 'Text/Pandoc/Entities'. Also changed function names so as + not to be HTML-specific. + + Refactored SGML string escaping functions from HTML and Docbook + writers into Text/Pandoc/Shared. (escapeSGML, stringToSGML) + + Removed 'BlockQuoteContext' from ParserContext, as it isn't + used anywhere. + + Removed splitBySpace and replaced it with a general, polymorphic + splitBy function. + + Refactored LaTeX reader for clarity (added isArg function). + + Converted some CR's to LF's in src/ui/default/print.css. + + Added license text to top of source files. + + Added module data for haddock to source files. + + Reformatted code for consistency. + + * Rewrote documentation and man pages. Split README into INSTALL + and README. + + * Split LICENSE into COPYING and COPYRIGHT. + + * Removed TODO, since we now maintain ToDo on the wiki. + + * Made COPYRIGHT in top level a symlink to debian/copyright, to avoid + duplication. + + [ Recai Oktaş ] + + * Revamped build process to conform to debian standards and created + a proper debian package. Closes: #391666. + + * Modified build process to support GHC 6.6. + + + The package can still be compiled using GHC 6.4.2, though because + of dependencies the "make deb" target works only with GHC 6.6+. + + The script 'cabalize' is used to create an appropriate + 'Pandoc.cabal' from 'Pandoc.cabal.in', depending on the GHC and + Cabal versions. + + * Refactored template processing (fillTemplates.pl). + + * Modified wrapper scripts to make them more robust and portable. + To avoid code duplication and ensure consistency, wrappers are + generated via a templating system from templates in src/wrappers. + + + Wrappers now accept multiple filenames, when appropriate. + + Spaces and tabs allowed in filenames. + + getopts shell builtin is used for portable option parsing. + + Improved html2markdown's web grabber code, making it more robust, + configurable and verbose. Added '-e', '-g' options. + + -- Recai Oktaş <roktas@debian.org> Fri, 05 Jan 2007 09:41:19 +0200 + +pandoc (0.2) unstable; urgency=low + + * Fixed unicode/utf-8 translation + + -- John MacFarlane <jgm@berkeley.edu> Mon, 14 Aug 2006 00:00:00 -0400 + +pandoc (0.1) unstable; urgency=low + + * Initial creation of debian package + + -- John MacFarlane <jgm@berkeley.edu> Mon, 14 Aug 2006 00:00:00 -0400 diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +4 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..08040cc3f --- /dev/null +++ b/debian/control @@ -0,0 +1,87 @@ +Source: pandoc +Section: text +Priority: optional +Maintainer: Recai Oktaş <roktas@debian.org> +Build-Depends: debhelper (>= 4.0.0), haskell-devscripts (>=0.5.12), ghc6 (>= 6.8.2-1), libghc6-xhtml-dev, libghc6-mtl-dev, libghc6-network-dev, libghc6-regex-compat-dev, perl +Build-Depends-Indep: haddock +Standards-Version: 3.7.3 +Homepage: http://johnmacfarlane.net/pandoc/ +XS-Vcs-Svn: http://pandoc.googlecode.com/svn/trunk +XS-Vcs-Browser: http://pandoc.googlecode.com/svn/trunk + +Package: pandoc +Section: text +Architecture: any +Depends: ${shlibs:Depends} +Suggests: texlive-latex-recommended | tetex-extra, tidy, wget | w3m +Description: general markup converter + Pandoc is a Haskell library for converting from one markup format to + another, and a command-line tool that uses this library. It can read + markdown and (subsets of) reStructuredText, HTML, and LaTeX, and it + can write markdown, reStructuredText, HTML, LaTeX, ConTeXt, DocBook, + RTF, groff man pages, and S5 HTML slide shows. + . + Pandoc extends standard markdown syntax with footnotes, embedded LaTeX, + tables, definition lists, and other features. A compatibility mode is + provided for those who need a drop-in replacement for Markdown.pl. + Included wrapper scripts make it easy to convert markdown documents to + PDFs and to convert web pages to markdown documents. + . + In contrast to existing tools for converting markdown to HTML, which + use regex substitutions, pandoc has a modular design: it consists of a + set of readers, which parse text in a given format and produce a native + representation of the document, and a set of writers, which convert + this native representation into a target format. Thus, adding an input + or output format requires only adding a reader or writer. + +Package: libghc6-pandoc-dev +Section: libdevel +Architecture: any +Depends: ${haskell:Depends}, libghc6-xhtml-dev, libghc6-mtl-dev, libghc6-network-dev, libghc6-regex-compat-dev +Suggests: pandoc-doc +Description: general markup converter + Pandoc is a Haskell library for converting from one markup format to + another, and a command-line tool that uses this library. It can read + markdown and (subsets of) reStructuredText, HTML, and LaTeX, and it + can write markdown, reStructuredText, HTML, LaTeX, ConTeXt, DocBook, + RTF, groff man pages, and S5 HTML slide shows. + . + Pandoc extends standard markdown syntax with footnotes, embedded LaTeX, + tables, definition lists, and other features. A compatibility mode is + provided for those who need a drop-in replacement for Markdown.pl. + Included wrapper scripts make it easy to convert markdown documents to + PDFs and to convert web pages to markdown documents. + . + In contrast to existing tools for converting markdown to HTML, which + use regex substitutions, pandoc has a modular design: it consists of a + set of readers, which parse text in a given format and produce a native + representation of the document, and a set of writers, which convert + this native representation into a target format. Thus, adding an input + or output format requires only adding a reader or writer. + . + This package contains the libraries compiled for GHC 6. + +Package: pandoc-doc +Section: doc +Architecture: all +Description: general markup converter + Pandoc is a Haskell library for converting from one markup format to + another, and a command-line tool that uses this library. It can read + markdown and (subsets of) reStructuredText, HTML, and LaTeX, and it + can write markdown, reStructuredText, HTML, LaTeX, ConTeXt, DocBook, + RTF, groff man pages, and S5 HTML slide shows. + . + Pandoc extends standard markdown syntax with footnotes, embedded LaTeX, + tables, definition lists, and other features. A compatibility mode is + provided for those who need a drop-in replacement for Markdown.pl. + Included wrapper scripts make it easy to convert markdown documents to + PDFs and to convert web pages to markdown documents. + . + In contrast to existing tools for converting markdown to HTML, which + use regex substitutions, pandoc has a modular design: it consists of a + set of readers, which parse text in a given format and produce a native + representation of the document, and a set of writers, which convert + this native representation into a target format. Thus, adding an input + or output format requires only adding a reader or writer. + . + This package contains the library documentation for Pandoc. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..d5511ed59 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,82 @@ +Pandoc +Copyright (C) 2006-7 John MacFarlane <jgm at berkeley dot edu> + +This code is released under the [GPL], version 2 or later: + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +The GNU General Public License is available in the file COPYING in +the source distribution. On Debian systems, the complete text of the +GPL can be found in `/usr/share/common-licenses/GPL`. + +[GPL]: http://www.gnu.org/copyleft/gpl.html + +Pandoc's complete source code is available from the [Pandoc home page]. + +[Pandoc home page]: http://johnmacfarlane.net/pandoc/ + +Pandoc includes some code from other authors. The copyright and license +statements for these sources are included below. All are GPL-compatible +licenses. + +---------------------------------------------------------------------- +UTF8.hs +Copyright (c) 2003, OGI School of Science & Engineering, Oregon Health & +Science University, All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + +- Neither the name of OGI or OHSU nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +This version of UTF8.hs was Modified by Martin Norbäck, to pass illegal +utf-8 sequences through unchanged. + +---------------------------------------------------------------------- +ASCIIMathML.js +Copyright 2005, Peter Jipsen, Chapman University +<http://www1.chapman.edu/~jipsen/mathml/asciimath.html> + +Released under the GPL. + +---------------------------------------------------------------------- +S5 slides.js and css files +by Eric A. Meyer +<http://meyerweb.com/eric/tools/s5 + +Released under an explicit Public Domain License diff --git a/debian/pandoc-doc.doc-base b/debian/pandoc-doc.doc-base new file mode 100644 index 000000000..6979bc6d3 --- /dev/null +++ b/debian/pandoc-doc.doc-base @@ -0,0 +1,11 @@ +Document: pandoc-doc +Title: Pandoc documentation +Author: John MacFarlane +Abstract: This is the documentation of Pandoc, which includes the API + documentation of the Pandoc library and documentation for the Pandoc + tools. +Section: Apps/Programming + +Format: html +Index: /usr/share/doc/pandoc-doc/html/pandoc/index.html +Files: /usr/share/doc/pandoc-doc/html/pandoc/*.html diff --git a/debian/pandoc-doc.docs b/debian/pandoc-doc.docs new file mode 100644 index 000000000..1936cc1d4 --- /dev/null +++ b/debian/pandoc-doc.docs @@ -0,0 +1 @@ +html diff --git a/debian/pandoc.dirs b/debian/pandoc.dirs new file mode 100644 index 000000000..e77248175 --- /dev/null +++ b/debian/pandoc.dirs @@ -0,0 +1 @@ +usr/bin diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..35f02c99a --- /dev/null +++ b/debian/rules @@ -0,0 +1,124 @@ +#!/usr/bin/make -f +# +# debian/rules for pandoc. +# Copyright © 2006 Recai Oktaş <roktasATdebian.org> +# +# This file is based on John Goerzen's Cabal Debian template. +# See http://www.n-heptane.com/nhlab/repos/cabalDebianTemplate/ +# +# Licensed under the GNU General Public License, version 2. +# See the file 'http://www.gnu.org/copyleft/gpl.txt'. + +THIS := $(shell sed -ne 's/^Source: \(.*\)/\1/p' debian/control) +PREFIX := /usr +DESTDIR := debian/$(THIS) +DATADIR := $(THIS) +DOCDIR := doc/$(THIS) + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +ifeq (1,$(DH_VERBOSE)) +HCFLAGS+=-v +endif + +# Handle noopt in DEB_BUILD_OPTIONS. Emulate CFLAGS (as HCFLAGS). +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +HCFLAGS+=-O0 +else +# No optimisation seems optimum. +HCFLAGS+=-O0 +endif + +# Export all variables which will be used in various stages of build process. +export PREFIX DESTDIR DATADIR DOCDIR HCFLAGS + +configure: configure-stamp +configure-stamp: + dh_testdir + $(MAKE) configure + + touch $@ + +build: build-stamp +build-stamp: configure-stamp + dh_testdir + + touch $@ + +clean: + dh_testdir + dh_testroot + $(MAKE) clean + rm -rf setup Setup.hi Setup.ho Setup.o .*config* dist html + rm -f build-stamp configure-stamp + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs -a + + dh_haskell -a + + # Hack! Cabal builds executables while building libraries. Move these + # files to top dir where the Makefile install target expects to find. + # See "BUGS" section at the following document: + # http://www.n-heptane.com/nhlab/repos/cabalDebianTemplate/INSTRUCTIONS.txt + find debian/libghc6-$(THIS)-dev -type d -name 'bin' -true | \ + while read bin; do mv $$bin/* .; rm -rf $$bin; done + $(MAKE) install-program + +build-indep: build-indep-stamp +build-indep-stamp: + dh_testdir + $(MAKE) build-lib-doc + +install-indep: build-indep + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs -i + + dh_haskell -i + +# Build architecture-independent files here. +binary-indep: build-indep install-indep + dh_testdir + dh_testroot + dh_installchangelogs -i + dh_installdocs -i + dh_installexamples -i + dh_installman -i + dh_link -i + dh_strip -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_shlibdeps -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs -a + dh_installdocs -a + dh_installexamples -a + dh_installman -a + dh_link -a + dh_strip -a -Xhtml2 -Xmarkdown2 -Xlatex2 -Xrst2 + dh_compress -a + dh_fixperms -a + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install build-indep install-indep |