4154 lines
168 KiB
Text
4154 lines
168 KiB
Text
pandoc (1.9.4)
|
|
|
|
* Simplified `Text.Pandoc.Biblio` and fixed bugs with citations inside
|
|
footnotes and captions. We now handle note citations by inserting
|
|
footnotes during initial citation processing, and doing a separate
|
|
pass later to remove notes inside notes.
|
|
|
|
* Added 'zenburn' highlight style from highlighting-kate.
|
|
|
|
* Added Slideous writer. Slideous is an HTML + javascript slide show
|
|
format, similar to Slidy, but works with IE 7. (Jonas Smedegaard)
|
|
|
|
* LaTeX writer:
|
|
|
|
+ Ensure we don't have extra blank lines at ends of cells.
|
|
This can cause LaTeX errors, as they are interpreted as new paragraphs.
|
|
+ More consistent interblock spacing.
|
|
+ Require highlighting-kate >= 0.5.1, for proper highlighted inline
|
|
code in LaTeX. Closes #527.
|
|
+ Ensure that a Verbatim at the end of a footnote is followed by
|
|
a newline. (Fixes a regression in the previous version.)
|
|
|
|
* ConTeXt writer:
|
|
|
|
+ Escape `%` as `\letterpercent{}` not `\letterpercent `,
|
|
to avoid gobbling spaces after the `%` sign.
|
|
+ Ensure space after `\stopformula`.
|
|
|
|
* Markdown writer:
|
|
|
|
+ Use `:` form instead of `~` in definition lists, for better
|
|
compatibility with other markdown implementations.
|
|
+ Don't wrap the term, because it breaks definition lists.
|
|
+ Use a nonzero space to prevent false recognition
|
|
of list marker in ordered lists. Closes #516.
|
|
|
|
* Org writer: Add space before language name. Closes #523.
|
|
|
|
* Docx writer: Simplified bullet characters so they work properly
|
|
with Word 2007. Closes #520.
|
|
|
|
* LaTeX reader: Support `\centerline`.
|
|
|
|
* RST reader: handle figures. Closes #522.
|
|
|
|
* Textile reader: fix for `<notextile>` and `==`. Closes #517.
|
|
(Paul Rivier)
|
|
|
|
pandoc (1.9.3)
|
|
|
|
* Fixed bug in `fromEntities`. The previous version would turn
|
|
`hi & low you know;` into `hi &`.
|
|
|
|
* HTML reader:
|
|
|
|
+ Don't skip nonbreaking spaces.
|
|
Previously a paragraph containing just ` ` would be rendered
|
|
as an empty paragraph. Thanks to Paul Vorbach for pointing out the bug.
|
|
+ Support `<col>` and `<caption>` in tables. Closes #486.
|
|
|
|
* Markdown reader:
|
|
|
|
+ Don't recognize references inside delimited code blocks.
|
|
+ Allow list items to begin with lists.
|
|
|
|
* Added basic docbook reader (John MacFarlane and Mauro Bieg).
|
|
|
|
* LaTeX reader:
|
|
|
|
+ Handle `\bgroup`, `\egroup`, `\begingroup`, `\endgroup`.
|
|
+ Control sequences can't be followed by a letter.
|
|
This fixes a bug where `\begingroup` was parsed as `\begin`
|
|
followed by `group`.
|
|
+ Parse 'dimension' arguments to unknown commands. e.g. `\parindent0pt`
|
|
+ Make `\label` and `\ref` sensitive to `--parse-raw`.
|
|
If `--parse-raw` is selected, these will be parsed as raw latex
|
|
inlines, rather than bracketed text.
|
|
+ Don't crash on unknown block commands (like `\vspace{10pt}`)
|
|
inside `\author`; just skip them. Closes #505.
|
|
|
|
* Textile reader:
|
|
|
|
+ Implemented literal escapes with `==` and `<notextile>`. Closes #473.
|
|
+ Added support for LaTeX blocks and inlines (Paul Rivier).
|
|
+ Better conformance to RedCloth inline parsing (Paul Rivier).
|
|
+ Parse '+text+' as emphasized (should be underlined, but this
|
|
is better than leaving literal plus characters in the output.
|
|
|
|
* Docx writer: Fixed multi-paragraph list items. Previously they each
|
|
got a list marker. Closes #457.
|
|
|
|
* LaTeX writer:
|
|
|
|
+ Added `--no-tex-ligatures` option to avoid replacing
|
|
quotation marks and dashes with TeX ligatures.
|
|
+ Use `fixltx2e` package to provide '\textsubscript'.
|
|
+ Improve spacing around LaTeX block environments:
|
|
quote, verbatim, itemize, description, enumerate.
|
|
Closes #502.
|
|
+ Use blue instead of pink for URL links in latex/pdf output.
|
|
|
|
* ConTeXt writer: Fixed escaping of `%`.
|
|
In text, `%` needs to be escaped as `\letterpercent`, not `\%`
|
|
Inside URLs, `%` needs to be escaped as `\%`
|
|
Thanks to jmarca and adityam for the fix. Closes #492.
|
|
|
|
* Texinfo writer: Escape special characters in node titles.
|
|
This fixes a problem pointed out by Joost Kremers. Pandoc used
|
|
to escape an '@' in a chapter title, but not in the corresponding
|
|
node title, leading to invalid texinfo.
|
|
|
|
* Fixed document encoding in texinfo template.
|
|
Resolves Debian Bug #667816.
|
|
|
|
* Markdown writer:
|
|
|
|
+ Don't force delimited code blocks to be flush left.
|
|
Fixes bug with delimited code blocks inside lists etc.
|
|
+ Escape `<` and `$`.
|
|
|
|
* LaTeX writer: Use `\hyperref[ident]{text}` for internal links.
|
|
Previously we used `\href{\#ident}{text}`, which didn't work on
|
|
all systems. Thanks to Dirk Laurie.
|
|
|
|
* RST writer: Don't wrap link references. Closes #487.
|
|
|
|
* Updated to use latest versions of blaze-html, mtl.
|
|
|
|
|
|
pandoc (1.9.2)
|
|
|
|
* LaTeX reader:
|
|
|
|
+ Made `lstlisting` work as a proper verbatim environment.
|
|
+ Fixed bug parsing LaTeX tables with one column.
|
|
|
|
* LaTeX writer:
|
|
|
|
+ Use `{}` around `ctable` caption, so that formatting can be used.
|
|
+ Don't require eurosym package unless document has a €.
|
|
|
|
* LaTeX template: Added variables for `geometry`, `romanfont`,
|
|
`sansfont`, `mathfont`, `mainfont` so users can more easily
|
|
customize fonts.
|
|
|
|
* PDF writer:
|
|
|
|
+ Run latex engine at least two times, to ensure
|
|
that PDFs will have hyperlinked bookmarks.
|
|
+ Added PDF metadata (title,author) in LaTeX standalone + PDF output.
|
|
|
|
* Texinfo writer: retain directories in image paths. (Peter Wang)
|
|
|
|
* RST writer: Better handling of inline formatting, in accord
|
|
with docutils' "inline markup recognition rules" (though we don't
|
|
implement the unicode rules fully). Now `hi*there*hi` gets
|
|
rendered properly as `hi\ *there*\ hi`, and unnecessary
|
|
`\ ` are avoided around `:math:`, `:sub:`, `:sup:`.
|
|
|
|
* RST reader:
|
|
|
|
+ Parse `\ ` as null, not escaped space.
|
|
+ Allow `` :math:`...` `` even when not followed by blank
|
|
or `\`. This does not implement the complex rule docutils follows,
|
|
but it should be good enough for most purposes.
|
|
+ Add support for the rST default-role directive. (Greg Maslov)
|
|
|
|
* Text.Pandoc.Parsing: Added `stateRstDefaultRole` field to `ParserState`.
|
|
(Greg Maslov)
|
|
|
|
* Markdown reader: Properly handle citations nested in other inline
|
|
elements.
|
|
|
|
* Markdown writer: don't replace empty alt in image with "image".
|
|
|
|
* DZSlides: Updated template.html and styles in default template.
|
|
Removed bizarre CSS for `q` in dzslides template.
|
|
|
|
* Avoid repeated `id` attribute in section and header in HTML slides.
|
|
|
|
* README improvements: new instructions on internal links,
|
|
removed misleading note on reST math.
|
|
|
|
* Build system:
|
|
|
|
+ Fixed Windows installer so that dzslides works.
|
|
+ Removed stripansi.sh.
|
|
+ Added .travis.yml for Travis continuous integration support..
|
|
+ Fixed upper bound for zlib (Sergei Trofimovich).
|
|
+ Fixed upper bound for test-framework.
|
|
+ Updated haddocks for haddock-2.10 (Sergei Trofimovich).
|
|
|
|
pandoc (1.9.1.2)
|
|
|
|
* Added `beamer+lhs` as output format.
|
|
|
|
* Don't escape `<` in `<style>` tags with `--self-contained`.
|
|
This fixes a bug which prevented highlighting from working
|
|
when using `--self-contained`.
|
|
|
|
* PDF: run latex engine three times if `--toc` specified.
|
|
This fixes page numbers in the table of contents.
|
|
|
|
* Docx writer: Added TableNormal style to tables.
|
|
|
|
* LaTeX math environment fixes. `aligned` is now used instead of
|
|
the nonexistent `aligned*`. `multline` instead of the nonexistent
|
|
`multiline`.
|
|
|
|
* LaTeX writer: Use `\textasciitilde` for literal `~`.
|
|
|
|
* HTML writer: Don't escape contents of EQ tags with --gladtex.
|
|
This fixes a regression from 1.8.
|
|
|
|
* Use `<q>` tags for Quoted items for HTML5 output.
|
|
The quote style can be changed by modifying the template
|
|
or including a css file. A default quote style is included.
|
|
|
|
* LaTeX reader: Fixed accents (\~{a}, `\c{c}`).
|
|
Correctly handle \^{}. Support "minted" as a LaTeX verbatim block.
|
|
|
|
* Updated LaTeX template for better language support.
|
|
Use `polyglossia` instead of `babel` with xetex.
|
|
Set `lang` as documentclass option.
|
|
`\setmainlanguage` will use the last of a comma-separated
|
|
list of languages. Thanks to François Gannaz.
|
|
|
|
* Fixed default LaTeX template so `\euro` and `€` work. The
|
|
`eurosym` package is needed if you are using pdflatex.
|
|
|
|
* Fixed escaping of period in man writer (thanks to Michael Thompson).
|
|
|
|
* Fixed list label positions in beamer.
|
|
|
|
* Set `mainlang` variable in context writer.
|
|
This parallels behavior of latex writer. `mainlang` is the last
|
|
of a comma-separated list of languages in lang.
|
|
|
|
* EPUB language metadat: convert e.g. `en_US` from locale to `en-US`.
|
|
|
|
* Changed `-V` so that you can specify a key without a value.
|
|
Such keys get the value `true`.
|
|
|
|
* Fixed permissions on installed man pages - thanks Magnus Therning.
|
|
|
|
* Windows installer: require XP or higher. The installer is
|
|
now compiled on a Windows 7 machine, which fixes a problem
|
|
using citation functions on Windows 7.
|
|
|
|
* OSX package: Check for 64-bit Intel CPU before installing.
|
|
|
|
pandoc (1.9.1.1)
|
|
|
|
* Better handling of raw latex environments in markdown. Now
|
|
|
|
\begin{equation}
|
|
a_1
|
|
\end{equation}
|
|
|
|
turns into a raw latex block as expected.
|
|
|
|
* Improvements to LaTeX reader:
|
|
|
|
+ Skip options after block commands.
|
|
+ Correctly handle `{\\}` in braced.
|
|
+ Added a needed 'try'.
|
|
+ Citations: add `, ` to suffix if it doesn't start with space or
|
|
punctuation. Otherwise we get no space between the year and the
|
|
suffix in author-date styles.
|
|
|
|
* Added two needed data files for S5. This fixes a problem with
|
|
`pandoc -t s5 --self-contained`. Also removed `slides.min.js`,
|
|
which was no longer being used.
|
|
|
|
* Fixed some minor problems in `reference.docx`:
|
|
name on "Date" style, `xCs` instead of `xIs`.
|
|
|
|
* Fixed a problem creating docx files using a reference docx
|
|
modified using Word. The problem seems to be that Word
|
|
modifies `_rels/.rels`, changing the Type of the Relationship to
|
|
`docProps/core.xml`. Pandoc now changes this back to the correct
|
|
value if it has been altered, fixing the problem.
|
|
|
|
* Fixed html5 template so it works properly with highlighting.
|
|
|
|
pandoc (1.9.1)
|
|
|
|
* LaTeX reader:
|
|
|
|
+ Fixed regression in 1.9; properly handle escaped $ in latex math.
|
|
+ Put LaTeX verse environments in blockquotes.
|
|
|
|
* Markdown reader:
|
|
|
|
+ Limit nesting of strong/emph. This avoids exponential lookahead
|
|
in parasitic cases, like `a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**`.
|
|
+ Improved attributes syntax (inn code blocks/spans):
|
|
(1) Attributes can contain line breaks. (2) Values in key-value
|
|
attributes can be surrounded by either double or single quotes, or
|
|
left unquoted if they contain no spaces.
|
|
|
|
* Don't wrap headers in markdown or RST writers.
|
|
|
|
* Added `stateMaxNestingLevel` to `ParserState`.
|
|
We set this to 6, so you can still have `Emph` inside `Emph`,
|
|
just not indefinitely.
|
|
|
|
* More efficient implementation of `nowrap` in `Text.Pandoc.Pretty`.
|
|
|
|
* `Text.Pandoc.PDF`: Only run latex twice if `\tableofcontents`
|
|
is present.
|
|
|
|
* Require highlighting-kate >= 0.5.0.2, texmath >= 0.6.0.2.
|
|
|
|
pandoc (1.9.0.5)
|
|
|
|
* Changed cabal file so that build-depends for the test program
|
|
are not required unless the tests flag is used.
|
|
|
|
* LaTeX writer: insert `{}` between adjacent hyphens so they don't
|
|
form ligatures (dashes) in code spans.
|
|
|
|
pandoc (1.9.0.4)
|
|
|
|
* Raised version bound on test-framework to avoid problems
|
|
compiling tests on GHC 7.4.1.
|
|
|
|
* LaTeX reader: Use raw LaTeX as fallback inline text for Cites,
|
|
so citations don't just disappear unless you process with
|
|
citeproc. Ignore `\bibliographystyle`, `\nocite`.
|
|
|
|
* Simplified tex2pdf; it will always run latex twice to
|
|
resolve table of contents and hyperrefs.
|
|
|
|
pandoc (1.9.0.3)
|
|
|
|
* Require Cabal >= 1.10.
|
|
* Tweaked cabal file to meet Cabal 1.10 requirements.
|
|
|
|
pandoc (1.9.0.2)
|
|
|
|
* Allow build with json 0.4 or 0.5. Otherwise we can't build with
|
|
ghc 6.12.
|
|
|
|
pandoc (1.9)
|
|
|
|
[new features]
|
|
|
|
* Added a Microsoft Word `docx` writer. The writer includes support
|
|
for highlighted code and for math (which is converted from TeX to OMML,
|
|
Office's native math markup language, using texmath's new OMML module).
|
|
A new option `--reference-docx` allows the user to customize the
|
|
styles.
|
|
|
|
* Added an `asciidoc` writer (<http://www.methods.co.nz/asciidoc/>).
|
|
|
|
* Better support for slide shows:
|
|
|
|
+ Added a `dzslides` writer. DZSlides is a lightweight HTML5/javascript
|
|
slide show format due to Paul Rouget (<http://paulrouget.com/dzslides/>).
|
|
|
|
+ Added a LaTeX `beamer` writer. Beamer is a LaTeX package for creating
|
|
slide presentations.
|
|
|
|
+ New, flexible rules for dividing documents into sections and slides
|
|
(see the "Structuring the slide show" in the User's Guide). These
|
|
are backward-compatible with the old rules, but they allow slide
|
|
shows to be organized into sections and subsections containing
|
|
multiple slides.
|
|
|
|
+ A new `--slide-level` option allows users to override defaults
|
|
and select a slide level below the first header level with content.
|
|
|
|
* A new `--self-contained` option produces HTML output that does not
|
|
depend on an internet connection or the presence of any external
|
|
files. Linked images, CSS, and javascript is downloaded (or fetched
|
|
locally) and encoded in `data:` URIs. This is useful for making portable
|
|
`HTML slide shows. The --offline` option has been deprecated and is now
|
|
`treated as a synonym or --self-contained`.
|
|
|
|
* Support for PDF output:
|
|
|
|
+ Removed the old `markdown2pdf`.
|
|
+ `pandoc` can now create PDFs (assuming you have latex and a set of
|
|
appropriate packages installed): just specify an output file with the
|
|
`.pdf` extension.
|
|
+ A new option `--latex-engine` allows you to specify `pdflatex`,
|
|
`xelatex`, or `lualatex` as the processor.
|
|
|
|
* Highlighting changes:
|
|
|
|
+ Syntax highlighting is now a standard feature; the `highlighting`
|
|
flag is no longer needed when compiling.
|
|
+ A new `--no-highlight` option allows highlighting to be disabled.
|
|
+ Highlighting now works in `docx`, `latex`, and `epub`, as well as
|
|
`html`, `html5`, `dzslides`, `s5`, and `slidy`.
|
|
+ A new `--highlight-style` option selects between various highlighting
|
|
color themes.
|
|
|
|
* Internal links to sections now work in ConTeXt and LaTeX as well as HTML.
|
|
|
|
* LaTeX `\include` and `\usepackage` commands are now processed,
|
|
provided the files are in the working directory.
|
|
|
|
* EPUB improvements:
|
|
|
|
+ Internal and external links now work in EPUB.
|
|
+ Raw HTML is allowed.
|
|
+ New `--epub-embed-font` option.
|
|
+ Customizable templates for EPUB pages offer more control over
|
|
formatting: `epub-page.html`, `epub-coverimage.html`,
|
|
`epub-titlepage.html`.
|
|
|
|
* `--mathml` now works with DocBook.
|
|
|
|
* Added support for math in RST reader and writer. Inline math uses the
|
|
`` :math:`...` `` construct. Display math uses
|
|
|
|
.. math:: ...
|
|
|
|
or if the math is multiline,
|
|
|
|
.. math::
|
|
|
|
...
|
|
|
|
These constructions are now supported now by `rst2latex.py`.
|
|
|
|
* Github syntax for fenced code blocks is supported in pandoc's
|
|
markdown. You can now write
|
|
|
|
```ruby
|
|
x = 2
|
|
```
|
|
|
|
instead of
|
|
|
|
~~~ {.ruby}
|
|
x = 2
|
|
~~~~
|
|
|
|
* Easier scripting: a new `toJsonFilter` function makes it easier to
|
|
write Haskell scripts to manipulate the Pandoc AST.
|
|
|
|
[behavior changes]
|
|
|
|
* Fixed parsing of consecutive lists in markdown.
|
|
Pandoc previously behaved like Markdown.pl for consecutive
|
|
lists of different styles. Thus, the following would be parsed
|
|
as a single ordered list, rather than an ordered list followed
|
|
by an unordered list:
|
|
|
|
1. one
|
|
2. two
|
|
|
|
- one
|
|
- two
|
|
|
|
This change makes pandoc behave more sensibly, parsing this as
|
|
two lists. Any change in list type (ordered/unordered) or in
|
|
list number style will trigger a new list. Thus, the following
|
|
will also be parsed as two lists:
|
|
|
|
1. one
|
|
2. two
|
|
|
|
a. one
|
|
b. two
|
|
|
|
Since we regard this as a bug in Markdown.pl, and not something
|
|
anyone would ever rely on, we do not preserve the old behavior
|
|
even when `--strict` is selected.
|
|
|
|
* Dashes work differently with `--smart`: `---` is always em-dash,
|
|
and `--` is always en-dash. Pandoc no longer tries to guess when
|
|
`-` should be en-dash. *Note:* This may change how existing documents
|
|
look when processed with pandoc. A new option, `--old-dashes`,
|
|
is provided for legacy documents.
|
|
|
|
* The markdown writer now uses setext headers for levels 1-2.
|
|
The old behavior (ATX headers for all levels) can be restored
|
|
using the new `--atx-headers` option.
|
|
|
|
* Links are now allowed in markdown image captions. They are also
|
|
allowed in links, but will appear there as regular text. So,
|
|
|
|
[link with [link](/url)](/url)
|
|
|
|
will turn into
|
|
|
|
<p><a href="/url">link with link</a></p>
|
|
|
|
* Improved handling of citations using `citeproc-hs-0.3.4`.
|
|
Added `--citation-abbreviations` option.
|
|
|
|
* Citation keys can no longer end with a punctuation character.
|
|
This means that `@item1.` will be parsed as a citation with key
|
|
'item1', followed by a period, instead of a citation with key
|
|
'item1.', as was the case previously.
|
|
|
|
* In HTML output, citations are now put in a span with class `citation`.
|
|
|
|
* The markdown reader now recognizes DocBook block and inline tags.
|
|
It was always possible to include raw DocBook tags in a markdown
|
|
document, but now pandoc will be able to distinguish block from
|
|
inline tags and behave accordingly. Thus, for example,
|
|
|
|
<sidebar>
|
|
hello
|
|
</sidebar>
|
|
|
|
will not be wrapped in `<para>` tags.
|
|
|
|
* The LaTeX parser has been completely rewritten; it is now much more
|
|
accurate, robust, and extensible. However, there are two important
|
|
changes in how it treats unknown LaTeX. (1) Previously, unknown
|
|
environments became BlockQuote elements; now, they are treated
|
|
as "transparent", so `\begin{unknown}xyz\end{unknown}` is the
|
|
same as `xyz`. (2) Previously, arguments of unknown commands
|
|
were passed through with their braces; now the braces are stripped
|
|
off.
|
|
|
|
* `--smart` is no longer selected automatically with `man` output.
|
|
|
|
* The deprecated `--xetex` option has been removed.
|
|
|
|
* The `--html5`/`-5` option has been deprecated. Use `-t html5`
|
|
instead. `html5` and `html5+lhs` are now separate output formats.
|
|
|
|
* Single quotes are no longer escaped in HTML output. They do not
|
|
need to be escaped outside of attributes.
|
|
|
|
* Pandoc will no longer transform leading newlines in code
|
|
blocks to `<br/>` tags.
|
|
|
|
* The ODT writer now sizes images appropriately, using the image
|
|
size and DPI information embedded in the image.
|
|
|
|
* `--standalone` is once again implicitly for a non-text output format
|
|
(ODT, EPUB). You can again do `pandoc test.txt -o test.odt`
|
|
and get a standalone ODT file.
|
|
|
|
* The Docbook writer now uses `<sect1>`, `<sect2>`, etc. instead of
|
|
`<section>`.
|
|
|
|
* The HTML writer now uses `<del>` for strikeout.
|
|
|
|
* In HTML output with `--section-divs`, the classes `section` and
|
|
`level[1,2,..6]` are put on the `div` tags so they can be styled.
|
|
In HTML 5 output with `--section-divs`, the classes
|
|
`level[1,2,...6]` are put on `section` tags.
|
|
|
|
* EPUB writer changes:
|
|
|
|
+ The `lang` variable now sets the language
|
|
in the metadata (if it is not set, we default to the locale).
|
|
+ EPUB: UTF-8 is used rather than decimal entities.
|
|
|
|
* Added `titleslide` class to title slide in S5 template.
|
|
|
|
* In HTML, EPUB, and docx metadata, the date is normalized into
|
|
YYYY-MM-DD format if possible. (This is required for validation.)
|
|
|
|
* Attributes in highlighted code blocks are now preserved in HTML.
|
|
The container element will have the classes, id, and key-value attributes
|
|
you specified in the delimited code block. Previously these were stripped
|
|
off.
|
|
|
|
* The reference backlink in the HTML writer no longer has a special
|
|
`footnoteBacklink` class.
|
|
|
|
* The HTML template has been split into `html` and `html5` templates.
|
|
|
|
* Author and date are treated more consistently in HTML templates.
|
|
Authors are now `<h2>`, date `<h3>`.
|
|
|
|
* URLs are hyphenated in the ConTeXt writer (B. Scott Michel).
|
|
|
|
* In `Text.Pandoc.Builder`, `+++` has been replaced by `<>`.
|
|
|
|
[bug fixes]
|
|
|
|
* Better support for combining characters and East Asian wide characters
|
|
in markdown and reST.
|
|
|
|
* Better handling of single quotes with `--smart`.
|
|
Previously `D'oh l'*aide*` would be parsed with left and right single
|
|
quotes instead of apostrophes. This kind of error is now fixed.
|
|
|
|
* Highlighting: Use `reads` instead of `read` for better error handling.
|
|
Fixes crash on `startNum="abc"`.
|
|
|
|
* Added blank comment after directives in rst template.
|
|
|
|
* Unescape entities in citation `refId`. The `refId`s coming
|
|
from citeproc contain XML numeric entities, and these don't match with the
|
|
citation keys parsed by pandoc. Solution is to unescape them.
|
|
|
|
* HTML reader: Fixed bug parsing tables with both thead and tbody.
|
|
|
|
* Markdown reader:
|
|
|
|
+ Better handling of escapes in link URLs and titles.
|
|
+ Fixed backslash escapes in reference links.
|
|
+ Fixed bug in table/hrule parsing, by checking that the top
|
|
line of a table is not followed by a blank line. This bug caused
|
|
slowdowns on some files with hrules and tables, as pandoc tried to
|
|
interpret the hrules as the tops of multiline tables.
|
|
+ Fixed bug in code block attribute parser. Previously the ID attribute
|
|
got lost if it didn't come first. Now attributes can come in any order.
|
|
|
|
* RST reader: allow footnotes followed by newline without space characters.
|
|
|
|
* LaTeX reader:
|
|
|
|
+ Ignore empty groups {}, { }.
|
|
+ LaTeX reader: Handle \@.
|
|
+ LaTeX reader: Don't crash on commands like `\itemsep`.
|
|
+ LaTeX reader: Better handling of letter environments.
|
|
|
|
* RST writer: Fixed bug involving empty table cells. isSimple was being
|
|
calculated in a way that assumed there were no non-empty cells.
|
|
|
|
* ConTeXt writer:
|
|
|
|
+ Made `--toc` work even without `--number-sections`.
|
|
+ Escape # in link URLs.
|
|
+ Use buffering for footnotes containing code blocks.
|
|
+ Changed 'descr' to 'description', fixed alignment.
|
|
|
|
* LaTeX writer:
|
|
|
|
+ Escape euro character.
|
|
+ Don't escape ~ inside href{...}.
|
|
+ Escape # in href URLs.
|
|
+ Improved detection of book classes. We now check the
|
|
`documentclass` variable, and if that is not set, we look through
|
|
the template itself. Also, we have added the KOMA classes scrreprt
|
|
and scrbook. You can now make a book using
|
|
`pandoc -V documentclass:book mybook.txt -o mybook.pdf`
|
|
+ LHS files now set the "listings" variable, so that the definition
|
|
of the `code` environment will be included in the template.
|
|
+ Links are colored blue by default (this can be changed by
|
|
modifying `hyperref` settings in the template).
|
|
+ Added `lang` variable to LaTeX template.
|
|
|
|
* HTML writer:
|
|
|
|
+ Fixed bug in HTML template with html5 and mathml.
|
|
+ Don't use self-closing img, br, hr tags for HTML5.
|
|
+ Use `<section>` for footnotes if HTML5.
|
|
+ Update HTML templates to use Content-Style-Type meta tag.
|
|
+ Use separate variables for meta-date, meta-author.
|
|
This makes footnotes work in author and date fields.
|
|
+ Use 'vertical-align:middle' in WebTeX math for better alignment.
|
|
|
|
* S5/slidy writer: Make footnotes appear on separate slide at end.
|
|
|
|
* MIME: Added 'layout-cache' to getMimeType. This ensures that the
|
|
META-INF/manifest.xml for ODT files will have everything it needs, so
|
|
that ODT files modified by LibreOffice can be used as `--reference-odt`.
|
|
|
|
* `Text.Pandoc.Templates`: Return empty string for json template.
|
|
|
|
* `Text.Pandoc.Biblio`:
|
|
|
|
+ Expand citations recursively inside nested inlines.
|
|
+ Treat `\160` as space when parsing locator and suffix.
|
|
This fixes a bug with "p. 33" when `--smart` is used. Previously
|
|
the whole "p. 33" would be included in the suffix, with no locator.
|
|
+ Put whole author-in-text citation in a Cite. Previously just the
|
|
date and other info went in the Cite.
|
|
+ Don't add comma+space to prefix if it ends in punctuation.
|
|
|
|
* Updated chicago-author-date.csl. The old version did not work
|
|
properly for edited volumes with no author.
|
|
|
|
* EPUB writer:
|
|
|
|
+ Add date to EPUB titlepage and metadata.
|
|
+ Added TOC identifier in EPUB page template.
|
|
+ Don't generate superfluous file `cover-image.jpg`.
|
|
|
|
[under the hood improvements]
|
|
|
|
* Modified `make_osx_package.sh` to use cabal-dev.
|
|
Items are no longer installed as root.
|
|
Man pages are zipped and given proper permissions.
|
|
|
|
* Modified windows installer generater to use cabal-dev.
|
|
|
|
* Setup: Making man pages now works with cabal-dev (at least on OSX). In
|
|
Setup.hs we now invoke 'runghc' in a way that points it to the correct
|
|
package databases, instead of always falling back to the default user
|
|
package db.
|
|
|
|
* Updated to work with GHC 7.4.1.
|
|
|
|
* Removed dependency on old-time.
|
|
|
|
* Removed dependency on dlist.
|
|
|
|
* New slidy directory for "self-contained."
|
|
|
|
* TeXMath writer: Use unicode thin spaces for thin spaces.
|
|
|
|
* Markdown citations: don't strip off initial space in locator.
|
|
|
|
[API changes]
|
|
|
|
* Removed `Apostrophe`, `EmDash`, `EnDash`, and `Ellipses`
|
|
from the native `Inline` type in pandoc-types. Now we use `Str`
|
|
elements with unicode.
|
|
|
|
* Improvements to `Text.Pandoc.Builder`:
|
|
|
|
+ `Inlines` and `Blocks` are now newtypes (not synonyms for
|
|
sequences).
|
|
+ Instances are defined for `IsString`, `Show`, `Read`, `Monoid`,
|
|
and a new `Listable` class, which allows these to be manipulated
|
|
to some extent like lists. Monoid append includes automatic
|
|
normalization.
|
|
+ `+++` has been replaced by `<>` (mappend).
|
|
|
|
* Use blaze-html instead of xhtml for HTML generation.
|
|
This changes the type of `writeHtml`.
|
|
|
|
* `Text.Pandoc.Shared`:
|
|
|
|
+ Added `warn` and `err`.
|
|
+ Removed `unescapeURI`, modified `escapeURI`.
|
|
(See under [behavior changes], above.)
|
|
|
|
* Changes in URI escaping: Previously the readers escaped URIs by
|
|
converting unicode characters to octets and then percent encoding.
|
|
Now unicode characters are left as they are, and `escapeURI` only
|
|
percent-encodes space characters. This gives more readable
|
|
URIs, and works well with modern user agents. URIs are no longer unescaped
|
|
at all on conversion to `markdown`, `asciidoc`, `rst`, `org`.
|
|
|
|
* New module `Text.Pandoc.SelfContained`.
|
|
|
|
* New module `Text.Pandoc.Docx`.
|
|
|
|
* New module `Text.Pandoc.PDF`.
|
|
|
|
* Added `writerBeamer` to `WriterOptions`.
|
|
|
|
* Added `normalizeDate` to `Text.Pandoc.Shared`.
|
|
|
|
* Added `splitStringWithIndices` in `Text.Pandoc.Shared`.
|
|
This is like `splitWithIndices`, but it is sensitive to distinctions
|
|
between wide, combining, and regular characters.
|
|
|
|
* `Text.Pandoc.Pretty`:
|
|
|
|
+ Added `chomp` combinator.
|
|
+ Added `beforeNonBreak` combinator. This allows you to include
|
|
something conditionally on it being before a nonblank.
|
|
Used for RST inline math.
|
|
+ Added `charWidth` function. All characters marked W or F in the unicode
|
|
spec EastAsianWidth.txt get width 2.
|
|
+ Added `realLength`, based on `charWidth`. `realLength` is now
|
|
used in calculating offsets.
|
|
|
|
* New module `Text.Pandoc.Slides`, for common functions for breaking
|
|
a document into slides.
|
|
|
|
* Removed `Text.Pandoc.S5`, which is no longer needed.
|
|
|
|
* Removed `Text.Pandoc.CharacterReferences`. Moved
|
|
`characterReference` to `Text.Pandoc.Parsing`.
|
|
`decodeCharacterReferences` is replaced by `fromEntities`
|
|
in `Text.Pandoc.XML`.
|
|
|
|
* Added `Text.Pandoc.ImageSize`. This is intened for use
|
|
in `docx` and `odt` writers, so the size and dpi of images
|
|
can be calculated.
|
|
|
|
* Removed `writerAscii` in `WriterOptions`.
|
|
|
|
* Added `writerHighlight` to `WriterOptions`.
|
|
|
|
* Added `DZSlides` to `HTMLSlideVariant`.
|
|
|
|
* `writeEPUB` has a new argument for font files to embed.
|
|
|
|
* Added `stateLastStrPos` to `ParserState`. This lets us keep track
|
|
of whether we're parsing the position immediately after a regular
|
|
(non-space, non-symbol) string, which is useful for distinguishing
|
|
apostrophes from single quote starts.
|
|
|
|
* `Text.Pandoc.Parsing`:
|
|
|
|
+ `escaped` now returns a `Char`.
|
|
+ Removed `charsInBalanced'`, added a character parser as
|
|
a parameter of `charsInBalanced`. This is needed for
|
|
proper handling of escapes, etc.
|
|
+ Added `withRaw`.
|
|
|
|
* Added `toEntities` to `Text.Pandoc.XML`.
|
|
|
|
* `Text.Pandoc.Readers.LaTeX`:
|
|
|
|
+ Export `handleIncludes`.
|
|
+ Export `rawLaTeXBlock` instead of `rawLaTeXEnvironment'`.
|
|
|
|
* Added `ToJsonFilter` class and `toJsonFilter` function to
|
|
`Text.Pandoc`, deprecating the old `jsonFilter` function.
|
|
|
|
* `Text.Pandoc.Highlighting`:
|
|
|
|
+ Removed `highlightHtml`, `defaultHighlightingCss`.
|
|
+ Export `formatLaTeXInline`, `formatLaTeXBlock`, and `highlight`, plus
|
|
key functions from highlighting-kate.
|
|
+ Changed types of highlighting function. `highlight` returns a
|
|
`Maybe`, not an `Either`.
|
|
|
|
pandoc (1.8.2.1)
|
|
|
|
* Relaxed cabal consntraints for test-framework (S. Trofimovich).
|
|
|
|
* Relaxed cabal constraints for pandoc-types.
|
|
|
|
* Adjusted Arbitrary instance to help avoid timeouts in tests.
|
|
|
|
* Added `Tests.Writers.Markdown` to cabal file.
|
|
|
|
pandoc (1.8.2)
|
|
|
|
* Added script to produce OS X package.
|
|
|
|
* Made `templates` directory a git submodule. This should make it
|
|
easier for people to revise their custom templates when the default
|
|
templates change.
|
|
|
|
* Changed template naming scheme: `FORMAT.template` -> `default.FORMAT`.
|
|
**Note:** If you have existing templates in `~/.pandoc/templates`, you
|
|
must rename them to conform to the new scheme!
|
|
|
|
* Fixed smart quotes bug, now handling `'...hi'` properly.
|
|
|
|
* RST reader:
|
|
|
|
+ Partial support for labeled footnotes.
|
|
+ Improved accuracy of `simpleReferenceName` parser.
|
|
|
|
* HTML reader:
|
|
|
|
+ Substitute correct unicode characters for
|
|
characters in the 128..159 range, which are often found even in
|
|
HTML that purports to be UTF-8.
|
|
|
|
* LaTeX reader: Handle `\subtitle` command (a subtitle is added
|
|
to the title, after a colon and linebreak). Closes #280.
|
|
|
|
* Leaner `reference.odt`.
|
|
|
|
* Added unexported module `Text.Pandoc.MIME` for use in
|
|
the ODT writer.
|
|
|
|
* ODT writer: Construct `manifest.xml` based on archive contents.
|
|
This fixes a bug in ODTs containing images. Recent versions of
|
|
LibreOffice would reject these as corrupt, because `manifest.xml`
|
|
did not contain a reference to the image files.
|
|
|
|
* LaTeX writer:
|
|
|
|
+ Make verbatim environments flush to avoid spurious
|
|
blank lines. Closes #277.
|
|
+ Use `\texttt` and escapes insntead of `\verb!...!`, which
|
|
is too fragile (doesn't work in command arguments).
|
|
+ Use `\enquote{}` for quotes if the template includes
|
|
the `csquotes` package. This provides better support for
|
|
local quoting styles. (Thanks to Andreas Wagner for the idea.)
|
|
|
|
* ConTeXt writer: Make `\starttyping`/`\stoptyping` flush with
|
|
margin, preventing spurious blank lines.
|
|
|
|
* Slidy writer:
|
|
|
|
+ Use non-minimized version of `slidy.css` with `--offline`
|
|
option, so users can more easily edit it.
|
|
+ Also fixed a bug in the CSS that prevented proper centering
|
|
of title (now reported and fixed upstream).
|
|
|
|
* S5 writer:
|
|
|
|
+ Replaced `s5/default/slides.js.{comment,packed}` with
|
|
new compressed `s5/default/slides.min.js`.
|
|
+ Use `data:` protocol to embed S5 CSS in `<link>` tags,
|
|
when `--offline` is specified. Using inline CSS didn't
|
|
work with Chrome or Safari. This fixes offline
|
|
S5 on those browsers.
|
|
|
|
* HTML writer: Removed English title on footnote backlinks.
|
|
This is incongrous in non-English documents.
|
|
|
|
* Docbook writer:
|
|
|
|
+ Use CALS tables. (Some older docbook software does not work
|
|
well with XHTML tables.) Closes #77.
|
|
+ Use `programlisting` tags (instead of `screen`) for code blocks.
|
|
|
|
* `markdown2pdf`:
|
|
|
|
+ Calls latex with `-halt-on-error -interaction nonstopmode` instead
|
|
of `-interaction=batchmode`, which essentially just ignored errors,
|
|
leading to bad results. Better to know when something is wrong.
|
|
+ Fixed issues with non-UTF-8 output of `pdflatex`.
|
|
+ Better error reporting.
|
|
|
|
* `--mathjax` now takes an optional URL argument. If it is not
|
|
provided, pandoc links directly to the (secure) mathjax CDN,
|
|
as now recommended (thanks to dsanson).
|
|
|
|
* Deprecated `--xetex` option in `pandoc`. It is no longer needed,
|
|
since the LaTeX writer now produces a file that can be processed by
|
|
`latex`, `pdflatex`, `lualatex`, or `xelatex`.
|
|
|
|
* Introduced `--luatex` option to `markdown2pdf`. This causes `lualatex`
|
|
to be used to create the PDF.
|
|
|
|
* If a template specified with `--template` is not found, look for it
|
|
in `datadir`. Also, if no extension is provided, supply one based
|
|
on the writer. So now you can put your `special.latex` template in
|
|
`~/.pandoc/templates`, and use it from any directory via
|
|
`pandoc -t latex --template special`.
|
|
|
|
* Default template improvements:
|
|
|
|
+ HTML: Display author and date after title.
|
|
+ HTML: Made table of contents more customizable. The container
|
|
for the TOC is now in the template, so users can insert a header
|
|
or other styling. (Thanks to Bruce D'Arcus for the suggestion.)
|
|
+ HTML, Slidy, S5: Enclose scripts in CDATA tags.
|
|
+ Slidy, S5: Added `s5-url` and `slidy-url` variables, instead of
|
|
hard-coding. If you want to put your slidy files in the slidy
|
|
subdirectory, for example, you can do
|
|
`pandoc -t slidy -V slidy-url=slidy -s`.
|
|
+ LaTeX: Use `\and` to separate authors in LaTeX documents (reader
|
|
& writer). Closes #279.
|
|
+ LaTeX: Use different `hyperref` options for `xetex`, fixing
|
|
problems with unicode bookmarks (thanks to CircleCode).
|
|
+ LaTeX: Removed `ucs` package, use `utf8` rather than `utf8x`
|
|
with `inputenc`. This covers fewer characters but is more
|
|
robust with other packages, and `ucs` is unmaintained. Users
|
|
who need better unicode support should use xelatex or lualatex.
|
|
|
|
pandoc (1.8.1.2)
|
|
|
|
* Added `--epub-cover-image` option.
|
|
|
|
* Documented `--biblatex` and `--natbib` options.
|
|
|
|
* Allow `--section-divs` with slidy output. Resolves Issue #296.
|
|
|
|
* Disallow notes within notes in reST and markdown.
|
|
These previously caused infinite looping and stack overflows.
|
|
For example:
|
|
|
|
[^1]
|
|
|
|
[^1]: See [^1]
|
|
|
|
Note references are allowed in reST notes, so this isn't a full
|
|
implementation of reST. That can come later. For now we need to
|
|
prevent the stack overflows. Partially resolves Issue #297.
|
|
|
|
* EPUB writer: Allow non-plain math methods.
|
|
|
|
* Forbid ()s in citation item keys. Resolves Issue #304: problems with
|
|
`(@item1; @item2)` because the final paren was being parsed as part of
|
|
the item key.
|
|
|
|
* Changed URI parser so it doesn't include trailing punctuation.
|
|
So, in RST, `http://google.com.` should be parsed as a link followed by a
|
|
period. The parser is smart enough to recognize balanced parentheses, as
|
|
often occur in wikipedia links: `http://foo.bar/baz_(bam)`.
|
|
|
|
* Markdown+lhs reader: Require space after inverse bird tracks, so that
|
|
HTML tags can be used freely at the left margin of a markdown+lhs document.
|
|
Thanks to Conal Elliot for the suggestion.
|
|
|
|
* Markdown reader:
|
|
|
|
+ Improved emph/strong parsing; fixes bug found by Perry Wagle.
|
|
+ Fixed bug in footnote order (reported by CircleCode).
|
|
|
|
* RST reader:
|
|
+ Fixed bug in in field lists with multi-line items at the
|
|
end of the list.
|
|
+ Added parentheses to RST `specialChars`, so
|
|
`(http://google.com)` will be parsed as a link in parens.
|
|
Resolves Issue #291.
|
|
+ Allow `|` followed by newline in RST line block.
|
|
|
|
* LaTeX reader:
|
|
+ Support `\dots`.
|
|
+ Gobble option & space after linebreak `\\[10pt]`.
|
|
|
|
* Textile reader:
|
|
+ Make it possible to have colons after links. (qerub)
|
|
+ Make it possible to have colons after links. (Christoffer Sawicki)
|
|
|
|
* HTML reader:
|
|
+ Skip spaces after `<b>`, `<emph>`, etc.
|
|
+ Handle tbody, thead in simple tables. Closes #274.
|
|
+ Implicit `Para`s instead of `Plains` in some contexts.
|
|
|
|
* OpenDocument writer: Use special `First paragraph` style for
|
|
first paragraph after most non-paragraph blocks. This allows users to
|
|
specify e.g. that only paragraphs after the first paragraph of a block are
|
|
to be indented. Thanks to Andrea Rossato for the patch. Closes #20.
|
|
|
|
* LaTeX writer: use `deVerb` on table and picture captions.
|
|
Otherwise LaTeX complains about `\verb` inside command argument.
|
|
Thanks to bbanier for reporting the bug.
|
|
|
|
* Markdown writer: Insert HTML comment btw list and indented code block.
|
|
This prevents the code block from being interpreted as part of the list.
|
|
|
|
* EPUB writer: Add a meta element specify the cover.
|
|
Some EPUB e-readers, such as the Nook, require a meta element inside the
|
|
OPF metadata block to ensure the cover image is properly displayed.
|
|
(Kelsey Hightower)
|
|
|
|
* HTML writer: Use embed tag for images with non-image extensions.
|
|
(e.g. PDFs). Closes #264.
|
|
|
|
* LaTeX writer: Improved tables.
|
|
|
|
+ More space between lines, top-align cells.
|
|
+ Use ctable package, which allows footnotes and
|
|
provides additional options.
|
|
+ Made cell alignments work in multiline tables.
|
|
+ Closes #271, #272.
|
|
|
|
* Un-URI-escape image filenames in LaTeX, ConTeXt, RTF, Texinfo.
|
|
Also do this when copying image files into EPUBs and ODTs.
|
|
Closes #263.
|
|
|
|
* Changed to github issue tracker.
|
|
|
|
* Added failing emph/strong markdown test case due to Perry Wagle.
|
|
|
|
* Slidy improvements:
|
|
+ Updated to use Slidy2.
|
|
+ Fixed bug, unclosed div tag.
|
|
+ Added `duration` variable in template.
|
|
Setting this activates the timer.
|
|
+ Use 'titlepage' instead of 'cover' for title div.
|
|
|
|
pandoc (1.8.1.1)
|
|
|
|
* `markdown2pdf`: Removed some debugging lines accidentally included
|
|
in the 1.8.1 release. With those lines, the temp directory is created
|
|
in the working directory, and it is not deleted. This fix restores
|
|
the original behavior.
|
|
|
|
pandoc (1.8.1)
|
|
|
|
* Added `--ascii` option. Currently supported only in HTML writer,
|
|
which it causes to use numerical entities instead of UTF-8.
|
|
|
|
* EPUB writer: `--toc` now works to provide a table of contents
|
|
at the beginning of each chapter.
|
|
|
|
* LaTeX writer: Change figure defaults to `htbp`.
|
|
This prevents "too many unprocessed floats." Resolves
|
|
Issue #285.
|
|
|
|
* `Text.Pandoc.UTF8`: Encode filenames even when using recent
|
|
base.
|
|
|
|
* `markdown2pdf`: Fixed filename encoding issues. With help from Paulo
|
|
Tanimoto. Resolves Issue #286.
|
|
|
|
* HTML writer: Put line breaks in section divs.
|
|
|
|
* `Text.Pandoc.Shared`: Make `writerSectionDivs` default to False.
|
|
|
|
pandoc (1.8.0.3)
|
|
|
|
* Fixed Source-repository stanza in cabal file.
|
|
|
|
pandoc (1.8.0.2)
|
|
|
|
* HTML writer:
|
|
|
|
+ Stringify alt text instead of converting to HTML.
|
|
+ Break lines after block elements, not inside tags.
|
|
HTML output now closely resembles that of tidy. Resolves Issue #134.
|
|
|
|
* Markdown reader: Fixed bug in footnote block parser (pointed out
|
|
by Jesse Rosenthal). The problem arose when the blank line
|
|
at the end of a footnote block contained indenting spaces.
|
|
|
|
* Shared: Improved 'normalize' function so it normalizes Spaces too.
|
|
In normal form, Space elements only occur to separate two non-Space
|
|
elements. So, we never have [Space], or [, ..., Space].
|
|
|
|
* Tests:
|
|
|
|
+ Improved Arbitrary instance.
|
|
+ Added timeout for test instances.
|
|
|
|
* README:
|
|
|
|
+ Added section on four-space rule for lists. Resolves Issue #283.
|
|
+ Clarified optional arguments on math options.
|
|
|
|
* markdown2pdf: Fixed bug with output file extensions.
|
|
Previously `markdown2pdf test.txt -o test.en.pdf` would produce
|
|
`test.pdf`, not `test.en.pdf`. Thanks to Paolo Tanimoto for the fix.
|
|
|
|
pandoc (1.8.0.1)
|
|
|
|
* Revised Interact.hs so that it works with the CPP macros
|
|
in the UTF8 module.
|
|
|
|
* Revised Setup.hs so that we don't call MakeManPage.hs unless
|
|
the man pages are out of date.
|
|
|
|
pandoc (1.8)
|
|
|
|
[new features]
|
|
|
|
* Support for citations using Andrea Rossato's `citeproc-hs` 0.3.
|
|
You can now write, for example,
|
|
|
|
Water is wet [see @doe99, pp. 33-35; also @smith04, ch. 1].
|
|
|
|
and, when you process your document using `pandoc`, specifying
|
|
a citation style using `--csl` and a bibliography using `--bibliography`,
|
|
the citation will be replaced by an appropriately formatted
|
|
citation, and a list of works cited will be added to the end
|
|
of the document.
|
|
|
|
This means that you can switch effortlessly between different citation
|
|
and bibliography styles, including footnote, numerical, and author-date
|
|
formats. The bibliography can be in any of the following formats: MODS,
|
|
BibTeX, BibLaTeX, RIS, EndNote, EndNote XML, ISI, MEDLINE, Copac, or JSON.
|
|
See the README for further details.
|
|
|
|
Citations are supported in the markdown reader, using a special
|
|
syntax, and in the LaTeX reader, using natbib or biblatex syntax.
|
|
(Thanks to Nathan Gass for the natbib and biblatex support.)
|
|
|
|
* New `textile` reader and writer. Thanks to Paul Rivier for contributing
|
|
the `textile` reader, an almost complete implementation of the textile
|
|
syntax used by the ruby [RedCloth library](http://redcloth.org/textile).
|
|
Resolves Issue #51.
|
|
|
|
* New `org` writer, for Emacs Org-mode, contributed by Puneeth Chaganti.
|
|
|
|
* New `json` reader and writer, for reading and writing a JSON
|
|
representation of the native Pandoc AST. These are much faster
|
|
than the `native` reader and writer, and should be used for
|
|
serializing Pandoc to text. To convert between the JSON representation
|
|
and native Pandoc, use `encodeJSON` and `decodeJSON` from
|
|
`Text.JSON.Generic`.
|
|
|
|
* A new `jsonFilter` function in `Text.Pandoc` makes it easy
|
|
to write scripts that transform a JSON-encoded pandoc document.
|
|
For example:
|
|
|
|
-- removelinks.hs - removes links from document
|
|
import Text.Pandoc
|
|
main = interact $ jsonFilter $ bottomUp removeLink
|
|
where removeLink (Link xs _) = Emph xs
|
|
removeLink x = x
|
|
|
|
To use this to remove links while translating markdown to LaTeX:
|
|
|
|
pandoc -t json | runghc removelinks.hs | pandoc -f json -t latex
|
|
|
|
* Attributes are now allowed in inline `Code` elements, for example:
|
|
|
|
In this code, `ulist ! [theclass "special"] << elts`{.haskell} is...
|
|
|
|
The attribute syntax is the same as for delimited code blocks.
|
|
`Code` inline has an extra argument place for attributes, just like
|
|
`CodeBlock`. Inline code will be highlighted in HTML output, if pandoc
|
|
is compiled with highlighting support. Resolves Issue #119.
|
|
|
|
* New `RawBlock` and `RawInline` elements (replacing `RawHtml`,
|
|
`HtmlInline`, and `TeX`) provide lots of flexibility in writing
|
|
scripts to transform Pandoc documents. Scripts can now change
|
|
how each element is rendered in each output format.
|
|
|
|
* You can now define LaTeX macros in markdown documents, and pandoc
|
|
will apply them to TeX math. For example,
|
|
|
|
\newcommand{\plus}[2]{#1 + #2}
|
|
$\plus{3}{4}$
|
|
|
|
yields `3+4`. Since the macros are applied in the reader, they
|
|
will work in every output format, not just LaTeX.
|
|
|
|
* LaTeX macros can also be used in LaTeX documents (both in math
|
|
and in non-math contexts).
|
|
|
|
* A new `--mathjax` option has been added for displaying
|
|
math in HTML using MathJax. Resolves issue #259.
|
|
|
|
* Footnotes are now supported in the RST reader. (Note, however,
|
|
that unlike docutils, pandoc ignores the numeral or symbol used in
|
|
the note; footnotes are put in an auto-numbered ordered list.)
|
|
Resolves Issue #258.
|
|
|
|
* A new `--normalize` option causes pandoc to normalize the AST
|
|
before writing the document. This means that, for example,
|
|
`*hi**there*` will be rendered as `<em>hithere</em>`
|
|
instead of `<em>hi</em><em>there</em>`. This is not the default,
|
|
because there is a significant performance penalty.
|
|
|
|
* A new `--chapters` command-line option causes headers
|
|
in DocBook, LaTeX, and ConTeXt to start with "chapter" (level one).
|
|
Resolves Issue #265.
|
|
|
|
* In DocBook output, `<chapter>` is now used for top-level
|
|
headers if the template contains `<book>`. Resolves Issue #265.
|
|
|
|
* A new `--listings` option in `pandoc` and `markdown2pdf` causes
|
|
the LaTeX writer to use the listings package for code blocks.
|
|
(Thanks to Josef Svennigsson for the pandoc patch, and Etienne
|
|
Millon for the markdown2pdf patch.)
|
|
|
|
* `markdown2pdf` now supports `--data-dir`.
|
|
|
|
* URLs in autolinks now have class "url" so they can be styled.
|
|
|
|
* Improved prettyprinting in most formats. Lines will be wrapped
|
|
more evenly and duplicate blank lines avoided.
|
|
|
|
* New `--columns` command-line option sets the column width for
|
|
line wrapping and relative width calculations for tables.
|
|
|
|
* Made `--smart` work in HTML, RST, and Textile readers, as well
|
|
as markdown.
|
|
|
|
* Added `--html5` option for HTML5 output.
|
|
|
|
* Added support for listings package in LaTeX reader
|
|
(Puneeth Chaganti).
|
|
|
|
* Added support for simple tables in the LaTeX reader.
|
|
|
|
* Added support for simple tables in the HTML reader.
|
|
|
|
* Significant performance improvements in many readers and writers.
|
|
|
|
[API and program changes]
|
|
|
|
* Moved `Text.Pandoc.Definition` from the `pandoc` package to a new
|
|
auxiliary package, `pandoc-types`. This will make it possible for other
|
|
programs to supply output in Pandoc format, without depending on the whole
|
|
pandoc package.
|
|
|
|
* Added `Attr` field to `Code`.
|
|
|
|
* Removed `RawHtml`, `HtmlInline`, and `TeX` elements; added generic
|
|
`RawBlock` and `RawInline`.
|
|
|
|
* Moved generic functions to `Text.Pandoc.Generic`. Deprecated
|
|
`processWith`, replacing it with two functions, `bottomUp` and `topDown`.
|
|
Removed previously deprecated functions `processPandoc` and `queryPandoc`.
|
|
|
|
* Added `Text.Pandoc.Builder`, for building `Pandoc` structures.
|
|
|
|
* `Text.Pandoc` now exports association lists `readers` and `writers`.
|
|
|
|
* Added `Text.Pandoc.Readers.Native`, which exports `readNative`.
|
|
`readNative` can now read full pandoc documents, block lists, blocks,
|
|
inline lists, or inlines. It will interpret `Str "hi"`
|
|
as if it were `Pandoc (Meta [] [] []) [Plain [Str "hi"]]`.
|
|
This should make testing easier.
|
|
|
|
* Removed deprecated `-C/--custom-header` option.
|
|
Use `--template` instead.
|
|
|
|
* `--biblio-file` has been replaced by `--bibliography`.
|
|
`--biblio-format` has been removed; pandoc now guesses the format
|
|
from the file extension (see README).
|
|
|
|
* pandoc will treat an argument as a URI only if it has an
|
|
`http(s)` scheme. Previously pandoc would treat some
|
|
Windows pathnames beginning with `C:/` as URIs.
|
|
|
|
* The `--sanitize-html` option and the `stateSanitize` field in
|
|
`ParserState` have been removed. Sanitization is better done in the
|
|
resulting HTML using `xss-sanitize`, which is based on pandoc's
|
|
sanitization, but improved.
|
|
|
|
* pandoc now adds a newline to the end of its output in fragment
|
|
mode (= not `--standalone`).
|
|
|
|
* Added support for `lang` in `html` tag in the HTML template,
|
|
so you can do `pandoc -s -V lang=es`, for example.
|
|
|
|
* `highlightHtml` in `Text.Pandoc.Highlighting` now takes
|
|
a boolean argument that selects between "inline" and
|
|
"block" HTML.
|
|
|
|
* `Text.Pandoc.Writers.RTF` now exports `rtfEmbedImage`.
|
|
Images are embedded in RTF output when possible (png, jpeg).
|
|
Resolves Issue #275.
|
|
|
|
* Added `Text.Pandoc.Pretty`. This is better suited for pandoc than the
|
|
`pretty` package. Changed all writers that used
|
|
`Text.PrettyPrint.HughesPJ` to use `Text.Pandoc.Pretty` instead.
|
|
|
|
* Rewrote `writeNative` using the new prettyprinting module. It is
|
|
now much faster. The output has been made more consistent and compressed.
|
|
`writeNative` is also now sensitive to writerStandalone`, and will simply
|
|
`print a block list if writerStandalone` is False.
|
|
|
|
* Removed `Text.Pandoc.Blocks`. `Text.Pandoc.Pretty` allows you to define
|
|
blocks and concatenate them, so a separate module is no longer needed.
|
|
|
|
* `Text.Pandoc.Shared`:
|
|
|
|
+ Added `writerColumns`, `writerChapters`, and `writerHtml5` to
|
|
`WriterOptions`.
|
|
+ Added `normalize`.
|
|
+ Removed unneeded prettyprinting functions:
|
|
`wrapped`, `wrapIfNeeded`, `wrappedTeX`, `wrapTeXIfNeeded`, `hang'`,
|
|
`BlockWrapper`, `wrappedBlocksToDoc`.
|
|
+ Made `splitBy` take a test instead of an element.
|
|
+ Added `findDataFile`, refactored `readDataFile`.
|
|
+ Added `stringify`. Rewrote `inlineListToIdentifier` using `stringify`.
|
|
+ Fixed `inlineListToIdentifier` to treat '\160' as ' '.
|
|
|
|
* `Text.Pandoc.Readers.HTML`:
|
|
|
|
+ Removed `rawHtmlBlock`, `anyHtmlBlockTag`, `anyHtmlInlineTag`,
|
|
`anyHtmlTag`, `anyHtmlEndTag`, `htmlEndTag`, `extractTagType`,
|
|
`htmlBlockElement`, `htmlComment`
|
|
+ Added `htmlTag`, `htmlInBalanced`, `isInlineTag`, `isBlockTag`,
|
|
`isTextTag`
|
|
|
|
* Moved `smartPunctuation` from `Text.Pandoc.Readers.Markdown`
|
|
to `Text.Pandoc.Readers.Parsing`, and parameterized it with
|
|
an inline parser.
|
|
|
|
* Added `nonspaceChar` to `Text.Pandoc.Parsing`.
|
|
|
|
* Ellipses are no longer allowed to contain spaces.
|
|
Previously we allowed '. . .', ' . . . ', etc. This caused
|
|
too many complications, and removed author's flexibility in
|
|
combining ellipses with spaces and periods.
|
|
|
|
* Allow linebreaks in URLs (treat as spaces). Also, a string of
|
|
consecutive spaces or tabs is now parsed as a single space. If you have
|
|
multiple spaces in your URL, use `%20%20`.
|
|
|
|
* `Text.Pandoc.Parsing`:
|
|
|
|
+ Removed `refsMatch`.
|
|
+ Hid `Key` constructor.
|
|
+ Removed custom `Ord` and `Eq` instances for `Key`.
|
|
+ Added `toKey` and `fromKey` to convert between `Key` and `[Inline]`.
|
|
+ Generalized type on `readWith`.
|
|
|
|
* Small change in calculation of relative widths of table columns.
|
|
If the size of the header > the specified column width, use
|
|
the header size as 100% for purposes of calculating
|
|
relative widths of columns.
|
|
|
|
* Markdown writer now uses some pandoc-specific features when `--strict`
|
|
is not specified: `\` newline is used for a hard linebreak instead of
|
|
two spaces then a newline. And delimited code blocks are used when
|
|
there are attributes.
|
|
|
|
* HTML writer: improved gladTeX output by setting ENV appropriately
|
|
for display or inline math (Jonathan Daugherty).
|
|
|
|
* LaTeX writer: Use `\paragraph`, `\subparagraph` for level 4,5 headers.
|
|
|
|
* LaTeX reader:
|
|
|
|
+ `\label{foo}` and `\ref{foo}` now become `{foo}` instead of `(foo)`.
|
|
+ `\index{}` commands are skipped.
|
|
|
|
* Added `fontsize` variable to default LaTeX template.
|
|
This makes it easy to set the font size using `markdown2pdf`:
|
|
`markdown2pdf -V fontsize=12pt input.txt`.
|
|
|
|
* Fixed problem with strikeout in LaTeX headers when using
|
|
hyperref, by adding a command to the default LaTeX template
|
|
that disables `\sout` inside pdf strings. Thanks to Joost Kremers
|
|
for the fix.
|
|
|
|
* The `COLUMNS` environment variable no longer has any effect.
|
|
|
|
[under-the-hood improvements]
|
|
|
|
* Pandoc now compiles with GHC 7. (This alone leads to a
|
|
significant performance improvement, 15-20%.)
|
|
|
|
* Completely rewrote HTML reader using tagsoup as a lexer. The
|
|
new reader is faster and more accurate. Unlike the
|
|
old reader, it does not get bogged down on some input
|
|
(Issues #277, 255). And it handles namespaces in tags
|
|
(Issue #274).
|
|
|
|
* Replaced `escapeStringAsXML` with a faster version.
|
|
|
|
* Rewrote `spaceChar` and some other parsers in Text.Pandoc.Parsing
|
|
for a significant performance boost.
|
|
|
|
* Improved performance of all readers by rewriting parsers.
|
|
|
|
* Simplified Text.Pandoc.CharacterReferences by using
|
|
entity lookup functions from TagSoup.
|
|
|
|
* `Text.Pandoc.UTF8` now uses the unicode-aware IO functions
|
|
from `System.IO` if base >= 4.2. This gives support for
|
|
windows line endings on windows.
|
|
|
|
* Remove duplications in documentation by generating the
|
|
pandoc man page from README, using `MakeManPage.hs`.
|
|
|
|
* README now includes a full description of markdown syntax,
|
|
including non-pandoc-specific parts. A new `pandoc_markdown`
|
|
man page is extracted from this, so you can look up markdown
|
|
syntax by doing `man pandoc_markdown`.
|
|
|
|
* Completely revised test framework (with help from Nathan Gass).
|
|
The new test framework is built when the `tests` Cabal flag is set. It
|
|
includes the old integration tests, but also some new unit and quickcheck
|
|
tests. Test output has been much improved, and you can now specify a glob
|
|
pattern after `cabal test` to indicate which tests should be run;
|
|
for example `cabal test citations` will run all the citation tests.
|
|
|
|
* Added a shell script, `stripansi.sh`, for filtering ANSI control
|
|
sequences from test output: `cabal test | ./stripansi.sh > test.log`.
|
|
|
|
* Added `Interact.hs` to make it easier to use ghci while developing.
|
|
`Interact.hs` loads `ghci` from the `src` directory, specifying
|
|
all the options needed to load pandoc modules (including
|
|
specific package dependencies, which it gets by parsing
|
|
dist/setup-config).
|
|
|
|
* Added `Benchmark.hs`, testing all readers + writers using criterion.
|
|
|
|
* Added `stats.sh`, to make it easier to collect and archive
|
|
benchmark and lines-of-code stats.
|
|
|
|
* Added upper bounds to all cabal dependencies.
|
|
|
|
* Include man pages in extra-source-files. This allows users to
|
|
install pandoc from the tarball without needing to build the man
|
|
pages.
|
|
|
|
[bug fixes]
|
|
|
|
* Filenames are encoded as UTF8. Resolves Issue #252.
|
|
|
|
* Handle curly quotes better in `--smart` mode. Previously, curly quotes
|
|
were just parsed literally, leading to problems in some output formats.
|
|
Now they are parsed as `Quoted` inlines, if `--smart` is specified.
|
|
Resolves Issue #270.
|
|
|
|
* Text.Pandoc.Parsing: Fixed bug in grid table parser.
|
|
Spaces at end of line were not being stripped properly,
|
|
resulting in unintended LineBreaks.
|
|
|
|
* Markdown reader:
|
|
|
|
+ Allow HTML comments as inline elements in markdown.
|
|
So, `aaa <!-- comment --> bbb` can be a single paragraph.
|
|
+ Fixed superscripts with links: `^[link](/foo)^` gets
|
|
recognized as a superscripted link, not an inline note followed by
|
|
garbage.
|
|
+ Fixed regression, making markdown reference keys case-insensitive again.
|
|
Resolves Issue #272.
|
|
+ Properly handle abbreviations (like `Mr.`) at the end of a line.
|
|
+ Better handling of intraword underscores, avoiding exponential
|
|
slowdowns in some cases. Resolves Issue #182.
|
|
+ Fixed bug in alignments in tables with blank rows in the header.
|
|
|
|
* RST reader:
|
|
|
|
+ Field lists now allow spaces in field names, and
|
|
block content in field values. (Thanks to Lachlan Musicman
|
|
for pointing out the bug.)
|
|
+ Definition list items are now always `Para` instead of
|
|
`Plain`, matching behavior of `rst2xml.py`.
|
|
+ In image blocks, the description is parsed properly and
|
|
used for the alt attribute, not also the title.
|
|
+ Skip blank lines at beginning of file. Resolves
|
|
Debian #611328.
|
|
|
|
* LaTeX reader:
|
|
|
|
+ Improved parsing of preamble.
|
|
Previously you'd get unexpected behavior on a document that
|
|
contained `\begin{document}` in, say, a verbatim block.
|
|
+ Allow spaces between `\begin` or `\end` and `{`.
|
|
+ Support `\L` and `\l`.
|
|
+ Skip comments inside paragraphs.
|
|
|
|
* LaTeX writer:
|
|
|
|
+ Escape strings in `\href{..}`.
|
|
+ In nonsimple tables, put cells in `\parbox`.
|
|
|
|
* OpenDocument writer: don't print raw TeX.
|
|
|
|
* Markdown writer:
|
|
|
|
+ Fixed bug in `Image`. URI was getting unescaped twice!
|
|
+ Avoid printing extra blank lines at the end if there are
|
|
no notes or references.
|
|
|
|
* LaTeX and ConTeXt: Escape `[` and `]` as `{[}` and `{]}`.
|
|
This avoids unwanted interpretation as an optional argument.
|
|
|
|
* ConTeXt writer: Fixed problem with inline code. Previously
|
|
`}` would be rendered `\type{}}`. Now we check the string for '}' and '{'.
|
|
If it contains neither, use `\type{}`; otherwise use `\mono{}`
|
|
with an escaped version of the string.
|
|
|
|
* `:` now allowed in HTML tags. Resolves Issue #274.
|
|
|
|
pandoc (1.6)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* New EPUB and HTML Slidy writers. (Issue #122)
|
|
|
|
- EPUB is a standard ebook format, used in Apple's iBooks for
|
|
the iPad and iPhone, Barnes and Noble's nook reader, the Sony
|
|
reader, and many other devices.
|
|
- Slidy, like S5, is a system for producing HTML+javascript slide
|
|
shows.
|
|
|
|
* All input is assumed to be UTF-8, no matter what the locale and ghc
|
|
version, and all output is UTF-8. This reverts to pre-1.5 behavior.
|
|
Also, a BOM, if present, is stripped from the input.
|
|
|
|
* Markdown now supports grid tables, whose cells can contain
|
|
arbitrary block elements. (Issue #43)
|
|
|
|
* Sequentially numbered example lists in markdown with `@` marker.
|
|
|
|
* Markdown table captions can begin with a bare colon and no longer need
|
|
to include the English word "table." Also, a caption can now occur
|
|
either before or after the table. (Issue #227)
|
|
|
|
* New command-line options:
|
|
|
|
- `--epub-stylesheet` allows you to specify a CSS file that will
|
|
be used to style your ebook.
|
|
- `--epub-metadata` allows you to specify metadata for the ebook.
|
|
- `--offline` causes the generated HTML slideshow to include all
|
|
needed scripts and stylesheets.
|
|
- `--webtex` causes TeX math to be converted to images using the
|
|
Google Charts API (unless a different URL is specified).
|
|
- `--section-divs` causes div tags to be added around each section
|
|
in an HTML document. (Issue #230, 239)
|
|
|
|
* Default behavior of S5 writer in standalone mode has changed:
|
|
previously, it would include all needed scripts and stylesheets
|
|
in the generated HTML; now, only links are included unless
|
|
the `--offline` option is used.
|
|
|
|
* Default behavior of HTML writer has changed. Between 1.2 and 1.5,
|
|
pandoc would enclose sections in div tags with identifiers on the
|
|
div tags, so that the sections can be manipulated in javascript.
|
|
This caused undesirable interactions with raw HTML div tags. So,
|
|
starting with 1.6, the default is to put the identifiers directly
|
|
on the header tags, and not to include the divs. The `--section-divs`
|
|
option selects the 1.2-1.5 behavior.
|
|
|
|
* API changes:
|
|
|
|
- `HTMLMathMethod`: Added `WebTeX`, removed `MimeTeX`.
|
|
- `WriterOptions`: Added `writerUserDataDir`, `writerSourceDirectory`,
|
|
`writerEPUBMetadata` fields. Removed `writerIncludeBefore`,
|
|
`writerIncludeAfter`.
|
|
- Added `headerShift` to `Text.Pandoc.Shared`.
|
|
- Moved parsing code and `ParserState` from `Text.Pandoc.Shared`
|
|
to a new module, `Text.Pandoc.Parsing`.
|
|
- Added `stateHasChapters` to `ParserState`.
|
|
- Added `HTMLSlideVariant`.
|
|
- Made `KeyTable` a map instead of an association list.
|
|
- Added accessors for `Meta` fields (`docTitle`, `docAuthors`,
|
|
`docDate`).
|
|
- `Pandoc`, `Meta`, `Inline`, and `Block` have been given `Ord`
|
|
instances.
|
|
- Reference keys now have a type of their own (`Key`), with its
|
|
own `Ord` instance for case-insensitive comparison.
|
|
- Added `Text.Pandoc.Writers.EPUB`.
|
|
- Added `Text.Pandoc.UUID`.
|
|
- Removed `Text.Pandoc.ODT`, added `Text.Pandoc.Writers.ODT`.
|
|
Removed `saveOpenDocumentAsODT`, added `writeODT`.
|
|
- Added `Text.Pandoc.Writers.Native` and `writeNative`.
|
|
Removed `prettyPandoc`.
|
|
- Added `Text.Pandoc.UTF8` for portable UTF8 string IO.
|
|
- Removed `Text.Pandoc.Writers.S5` and the `writeS5` function.
|
|
Moved `s5Includes` to a new module, `Text.Pandoc.S5`.
|
|
To write S5, you now use `writeHtml` with `writerSlideVariant`
|
|
set to `S5Slides` or `SlidySlides`.
|
|
|
|
* Template changes. If you use custom templates, please update them,
|
|
particularly if you use syntax highlighting with pandoc. The old HTML
|
|
templates hardcoded highlighting CSS that will no longer work with
|
|
the most recent version of highlighting-kate.
|
|
|
|
- HTML template: avoid empty meta tag if no date.
|
|
- HTML template: Use default highlighting CSS from highlighting-kate
|
|
instead of hard-coding the CSS into the template.
|
|
- HTML template: insert-before text goes before the title, and
|
|
immediately after the <body> tag, as documented. (Issue #241)
|
|
- Added slidy and s5 templates.
|
|
- Added amssymb to preamble of latex template. (github Issue 1)
|
|
|
|
* Removed excess newlines at the end of output. Note: because output
|
|
will not contain an extra newline, you may need to make adjustments
|
|
if you are inserting pandoc's output into a template.
|
|
|
|
* In S5 and slidy, horizontal rules now cause a new slide, so you
|
|
are no longer limited to one slide per section.
|
|
|
|
* Improved handling of code in man writer. Inline code is now monospace,
|
|
not bold, and code blocks now use .nf (no fill) and .IP (indented para).
|
|
|
|
* HTML reader parses `<tt>` as Code. (Issue #247)
|
|
|
|
* html+lhs output now contains bird tracks, even when compiled without
|
|
highlighting support. (Issue #242)
|
|
|
|
* Colons are now no longer allowed in autogenerated XML/HTML identifiers,
|
|
since they have a special meaning in XML.
|
|
|
|
* Code improvements in ODT writer. Remote images are now replaced with
|
|
their alt text rather than a broken link.
|
|
|
|
* LaTeX reader improvements:
|
|
|
|
- Made latex `\section`, `\chapter` parsers more forgiving of
|
|
whitespace.
|
|
- Parse `\chapter{}` in latex.
|
|
- Changed `rawLaTeXInline` to accept `\section`, `\begin`, etc.
|
|
- Use new `rawLaTeXInline'` in LaTeX reader, and export `rawLaTeXInline`
|
|
for use in markdown reader.
|
|
- Fixes bug wherein `\section{foo}` was not recognized as raw TeX
|
|
in markdown document.
|
|
|
|
* LaTeX writer: images are automatically shrunk if they would extend
|
|
beyond the page margin.
|
|
|
|
* Plain, markdown, RST writers now use unicode for smart punctuation.
|
|
|
|
* Man writer converts math to unicode when possible, as in other writers.
|
|
|
|
* `markdown2pdf` can now recognize citeproc options.
|
|
|
|
* Command-line arguments are converted to UTF-8. (Issue #234)
|
|
|
|
* `Text.Pandoc.TeXMath` has been rewritten to use texmath's parser.
|
|
This allows it to handle a wider range of formulas. Also, if a formula
|
|
cannot be converted, it is left in raw TeX; formulas are no longer
|
|
partially converted.
|
|
|
|
* Unicode curly quotes are left alone when parsing smart quotes. (Issue
|
|
#143)
|
|
|
|
* Cabal file changes:
|
|
|
|
- Removed parsec < 3 restriction.
|
|
- Added 'threaded' flag for architectures where GHC lacks a threaded
|
|
runtime.
|
|
- Use 'threaded' only for markdown2pdf; it is not needed for pandoc.
|
|
- Require highlighting-kate 0.2.7.
|
|
|
|
* Use explicit imports from `Data.Generics`. Otherwise we have a
|
|
conflict with the 'empty' symbol, introduced in syb >= 0.2. (Issue #237)
|
|
|
|
* New data files: slidy/slidy.min.js, slidy/slidy.min.css, epub.css.
|
|
|
|
pandoc (1.5.1.1)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Fixed uniqueIdent in Shared so that header identifiers work as
|
|
advertized in the README and are are valid XHTML names.
|
|
|
|
pandoc (1.5.1)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Fixed treatment of unicode characters in URIs.
|
|
+ Shared now exports escapeURI and unescapeURI. These handle
|
|
UTF8 encoding and decoding as well as URI escaping/unescaping.
|
|
+ Shared: uri and emailAddress now return a pair of the original
|
|
parsed text and the escaped URI (in the latter case, with
|
|
the mailto: prefix).
|
|
+ HTML reader: unsanitaryURI has been modified to allow unicode
|
|
high characters in a URI.
|
|
+ Readers: All link and image URIs are now escaped using
|
|
escapeURI.
|
|
+ Markdown and RST writers: unescapeURI is used so that URIs
|
|
in these formats are human-readable.
|
|
|
|
* Setup.hs: Don't assume that the build directory is "dist".
|
|
Instead, get it from localBuildInfo.
|
|
|
|
* OpenDocument writer: Use a Map for stTextStyleAttr.
|
|
This avoids duplicates (and invalid xml). Resolves Issue #222.
|
|
|
|
pandoc (1.5.0.1)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* HTML writer: Fixed error in math writer (with MathML option)
|
|
that caused an infinite loop for unparsable MathML.
|
|
|
|
pandoc (1.5)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Added --mathml option. When this is selected, pandoc will convert
|
|
TeX math into MathML.
|
|
+ Added data/MathMLinHTML.js, which is included when no URL is
|
|
provided for --mathml. This allows MathML to be displayed (in
|
|
better browsers) as text/html.
|
|
+ Removed Text.Pandoc.LaTeXMathML. The module was no longer
|
|
necessary; it was replaced by two lines in pandoc.hs.
|
|
+ Replaced LaTeXMathML.js.commend and LaTeXMathML.js.packed with a
|
|
single combined file, LaTeXMathML.js.
|
|
|
|
* Added --data-dir option.
|
|
This specifies a user data directory. If not specified, will default
|
|
to ~/.pandoc on unix or Application Data\pandoc on Windows.
|
|
Files placed in the user data directory will override system default
|
|
data files.
|
|
|
|
* Added Maybe datadir parameter to readDataFile, saveOpenDocumentAsODT,
|
|
latexMathMLScript, s5HeaderIncludes, and getDefaultTemplate. If
|
|
Nothing, no user directory is searched for an override.
|
|
|
|
* Added 'plain' output format. This is similar to markdown, but
|
|
removes links, pictures, inline formatting, and most anything that
|
|
looks even vaguely markupish. The function writePlain is exported by
|
|
Text.Pandoc.Writers.Markdown, with which it shares most of its code.
|
|
|
|
* Allow multi-line titles and authors in meta block.
|
|
Titles may span multiple lines, provided continuation lines
|
|
begin with a space character. Separate authors may be put on
|
|
multiple lines, provided each line after the first begins with
|
|
a space character. Each author must fit on one line. Multiple
|
|
authors on a single line may still be separated by a semicolon.
|
|
Based on a patch by Justin Bogner.
|
|
|
|
* When given an absolute URI as parameter, pandoc will try to fetch
|
|
the content via HTTP. So you can do:
|
|
'pandoc -r html -w markdown http://www.fsf.org'
|
|
Adds dependency on HTTP.
|
|
|
|
* Made HTML reader much more forgiving.
|
|
+ Incorporated idea (from HXT) that an element can be closed
|
|
by an open tag for another element.
|
|
+ Javascript is partially parsed to make sure that a <script>
|
|
section is not closed by a </script> in a comment or string.
|
|
+ More lenient non-quoted attribute values.
|
|
Now we accept anything but a space character, quote, or <>.
|
|
This helps in parsing e.g. www.google.com!
|
|
+ Bare & signs are now parsed as a string. This is a common
|
|
HTML mistake.
|
|
+ Skip a bare < in malformed HTML.
|
|
|
|
* Removed html2markdown and hsmarkdown.
|
|
+ html2markdown is no longer needed, since you can now pass URI
|
|
arguments to pandoc and directly convert web pages. (Note,
|
|
however, that pandoc assumes the pages are UTF8. html2markdown
|
|
made an attempt to guess the encoding and convert them.)
|
|
+ hsmarkdown is pointless -- a large executable that could be
|
|
replaced by 'pandoc --strict'.
|
|
|
|
* In most writers, an image in a paragraph by itself is now rendered
|
|
as a figure, with the alt text as the caption. (Texinfo, HTML, RST,
|
|
MediaWiki, Docbook, LaTeX, ConTeXt, HTML.) Other images are
|
|
rendered inline.
|
|
|
|
* Depend on extensible-exceptions. This allows pandoc to be compiled
|
|
on GHC 6.8.
|
|
|
|
* Added --base-header-level option. For example, --base-header-level=2
|
|
will change level 1 headers to level 2, level 2 to level 3, etc.
|
|
Closes Debian #563416.
|
|
|
|
* Incomplete support for RST tables (simple and grid).
|
|
Thanks to Eric Kow. Colspans and rowspans not yet supported.
|
|
|
|
* Added accessors (docTitle, docAuthors, docDate) to Meta type.
|
|
|
|
* MediaWiki writer: format links with relative URLs as wikilinks.
|
|
The new rule: If the link target is an absolute URL, an external
|
|
link is created. Otherwise, a wikilink is created.
|
|
|
|
* Text.Pandoc.Shared: Export uniqueIdent, and don't allow tilde in
|
|
identifier. Note: This may break links to sections that involve
|
|
tildes.
|
|
|
|
* Markdown(+lhs) reader: handle "inverse bird tracks."
|
|
Inverse bird tracks (<) are used for haskell example code that is not
|
|
part of the literate Haskell program. Resolves Issue #211.
|
|
|
|
* LaTeX reader:
|
|
+ Recognize '\ ' (interword space).
|
|
+ Recognize nonbreaking space '~'.
|
|
+ Ignore \section, \pdfannot, \pdfstringdef. Ignore alt title in
|
|
section headers. Don't treat \section as inline LaTeX.
|
|
Resolves Issue #202.
|
|
+ LaTeX reader: allow any special character to be escaped.
|
|
Resolves Issue #221.
|
|
+ LaTeX reader: treat \paragraph and \subparagraph as level 4, 5
|
|
headers. Resolves Issue #207.
|
|
|
|
* Use template variables for include-before/after.
|
|
+ These options now imply -s; previously they worked also in fragment
|
|
mode.
|
|
+ Users can now adjust position of include-before and include-after
|
|
text in the templates.
|
|
+ Default position of include-before moved back (as it was before 1.4)
|
|
before table of contents.
|
|
+ Resolves Issue #217.
|
|
|
|
* Don't print an empty table header: (all writers).
|
|
Resolves Issue #210.
|
|
|
|
* HTML, Docbook writer: Use tbody, thead, and cols in tables.
|
|
|
|
* HTML writer: Don't include TOC div if table of contents is empty.
|
|
|
|
* Markdown writer: Fixed citations.
|
|
Previously the markdown writer printed raw citation codes, e.g.
|
|
[geach1970], rather than the expanded citations provided by
|
|
citeproc, e.g. (Geach 1970). Now it prints the expanded citations.
|
|
This means that the document produced can be processed as a markdown
|
|
document without citeproc. Thanks to dsanson for reporting, and
|
|
Andrea Rossato for the patch.
|
|
|
|
* Improved and simplified title block in context template.
|
|
Previously it caused an error if there was no title.
|
|
This method should also be easier for users to customize.
|
|
|
|
* Markdown reader:
|
|
+ Treat p., pp., sec., ch., as abbreviations in smart mode.
|
|
+ Disallow blank lines in inline code span.
|
|
+ Allow footnotes to be indented < 4 spaces.
|
|
This fixes a regression. A test case has been added.
|
|
+ Escape spaces in URLs as %20. Previously they were incorrectly
|
|
escaped as +, which is appropriate only for the query part of
|
|
a URL. Resolves Issue #220.
|
|
+ Require two spaces after capital letter + period for list item.
|
|
Otherwise "E. coli" starts a list. This might change the semantics
|
|
of some existing documents, since previously the two-space
|
|
requirement was only enforced when the second word started
|
|
with a capital letter. But it is consistent with the existing
|
|
documentation and follows the principle of least surprise.
|
|
Resolves Issue #212.
|
|
|
|
* LaTeX template: redefine labelwidth when using enumerate package.
|
|
Otherwise the list labels (numbers) often extend past the left
|
|
margin, which looks bad.
|
|
|
|
* Mediawiki writer: Don't print a "== Notes ==" header before
|
|
references. This is too English-centric. Writers can provide their
|
|
own header at the end of the document.
|
|
|
|
* Promoted mediawiki headers. '= head =' is now level 1, '== head =='
|
|
level 2, etc. This seems to be correct; it's only by convention
|
|
that wikipedia articles have level 2 headers at most.
|
|
Patch due to Eric Kow.
|
|
|
|
* RunTests.hs: Set LANG to a UTF-8 locale. Use 'pandoc --data-dir=' so
|
|
data files don't need to have been installed. This removes the need to
|
|
set HOME.
|
|
|
|
* HTML reader:
|
|
+ Handle spaces before <html>. Resolves Issue #216.
|
|
+ Be forgiving in parsing a bare list within a list.
|
|
The following is not valid xhtml, but the intent is clear:
|
|
<ol>
|
|
<li>one</li>
|
|
<ol><li>sub</li></ol>
|
|
<li>two</li>
|
|
</ol>
|
|
We'll treat the <ol> as if it's in a <li>. Resolves Issue #215.
|
|
|
|
* Updated INSTALL instructions. cabal method is now promoted.
|
|
|
|
* Updated markdown2pdf man page. It no longer says all pandoc options
|
|
are accepted.
|
|
|
|
* README/man pages: Removed advice to pipe through tidy before HTML
|
|
reader. This is obsolete, now that we have a forgiving HTML parser.
|
|
|
|
* LaTeX writer: set numbersections template variable, so
|
|
the section numbering options work again.
|
|
|
|
* Removed obsolete Makefile.
|
|
|
|
* Website: renamed index.txt.in -> index.txt.
|
|
|
|
* New batch file to make-windows-installer.
|
|
+ Removed old Makefile.windows
|
|
+ Added make-windows-installer.bat
|
|
+ Modified default installer name in pandoc-setup.iss
|
|
|
|
* Removed freebsd and macports directories.
|
|
They are no longer up to date.
|
|
|
|
* Setup.hs:
|
|
+ Made man page building sensitive to build verbosity.
|
|
+ Improved detection of highlighting support in test hook.
|
|
+ Install wrapper scripts into cabal bin directory.
|
|
+ Also simplified installManpages.
|
|
+ Setup.hs: install manpages to mandir. Code borrowed from darcs.
|
|
|
|
* Changed default of writerXeTeX to False.
|
|
|
|
* HTML writer: don't include empty UL if --toc but no sections.
|
|
Resolves Issue #199.
|
|
|
|
* LaTeX writer:
|
|
|
|
+ If book, report, or memoir documentclass, use \chapter{}
|
|
for first-level headers. Otherwise use \section{}.
|
|
+ Removed stLink, link template variable. Reason: we now always
|
|
include hyperref in the template.
|
|
|
|
* LaTeX template:
|
|
|
|
+ Only show \author if there are some.
|
|
+ Always include hyperref package. It is used not just for links but
|
|
for toc, section heading bookmarks, footnotes, etc. Also added
|
|
unicode=true on hyperref options.
|
|
|
|
* markdown2pdf: always do at least two runs. hyperref bookmarks
|
|
require this.
|
|
|
|
* cabal file: Removed unneeded dependency on template-haskell.
|
|
|
|
* Windows installer - fixed bug in data file locations.
|
|
Resolves Issue #197.
|
|
|
|
* Deprecated --custom-header in documentation.
|
|
Removed old "Custom Headers" section in README.
|
|
|
|
pandoc (1.4)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Pandoc will now compile with either GHC 6.10 or 6.12.
|
|
+ Don't use System.IO.UTF8 when compiling with 6.12
|
|
+ Use -fno-warn-unused-do-bind option when compiling with 6.12
|
|
|
|
* Replaced old headers with templates. Now users have much more
|
|
control over the way documents appear in --standalone mode,
|
|
and writer code is simplified. Resolves Issues #59, 147.
|
|
Every effort has been made to retain backwards compatibilty.
|
|
So, the --custom-header option should still work as before.
|
|
|
|
+ Added Text.Pandoc.Templates. This provides functions for
|
|
retrieving default templates and for rendering templates.
|
|
+ System templates (in the pandoc data directory) can be
|
|
overridden by user templates in $HOME/.pandoc/templates.
|
|
+ Removed Text.Pandoc.DefaultHeaders.
|
|
+ Removed data/headers directory.
|
|
+ Added templates directory.
|
|
+ Added writerTemplate and writerVariables fields to WriterOptions.
|
|
+ Removed writerTitlePrefix, writerHeader fields from WriterOptions.
|
|
+ Changed --print-default-header to --print-default-template.
|
|
+ Added --template option.
|
|
+ Added -V/--variable option to set custom template variables.
|
|
|
|
* Pandoc no longer requires Template Haskell. Resolves Issue #186.
|
|
|
|
+ Removed need for TH in ODT module. Instead get reference.odt from
|
|
data file at run time.
|
|
+ Removed TH dependency from S5 module. S5 module now exports
|
|
s5HeaderIncludes, which pandoc.hs includes if writer is s5 and
|
|
standalone.
|
|
+ Refactored LaTeXMathML not to use TH.
|
|
|
|
* Meta is now Meta [Inline] [[Inline]] [Inline] rather than
|
|
Meta [Inline] [String] String. Authors and date in Meta are now lists
|
|
of Inline elements rather than raw strings. This means that they can
|
|
be formatted and can include footnotes. NOTE: This may be a breaking
|
|
change for those using pandoc as a library.
|
|
|
|
* Added readDataFile to Text.Pandoc.Shared. This retrieves
|
|
a data file from the user pandoc data directory (~/.pandoc
|
|
on unix), or, if not found there, from the system data
|
|
directory ($CABALDIR/shared/pandoc-VERSION/). All data
|
|
files, including templates, LaTeXMathML.js, s5 styles,
|
|
and reference.odt, can be overridden by the user.
|
|
|
|
* s5 files moved from data/ui/default to s5/default.
|
|
|
|
* Use unicode instead of entities in HTML and XML output. Resolves
|
|
Issue #163.
|
|
|
|
* Prettier HTML footnote references: put anchor inside sup,
|
|
instead of other way. Resolves Issue #191. Thanks to
|
|
infinity0x.
|
|
|
|
* Added --xetex option to pandoc and markdown2pdf.
|
|
If --xetex is specified, pandoc produces latex suitable for
|
|
processing by xelatex, and markdown2pdf uses xelatex to create
|
|
the PDF. Resolves Issue #185.
|
|
|
|
* RTF writer: multiple authors now occupy multiple paragraphs rather
|
|
than using a line break.
|
|
|
|
* Man writer: now the "--after-body" will come after the "AUTHORS"
|
|
section, whereas before it would come before it. This is a
|
|
slight break from backwards compatibility.
|
|
|
|
* Added --reference-odt option, so users may customize the styles
|
|
used in pandoc-generated ODT files. Users may also place a
|
|
default reference.odt in the ~\.pandoc directory.
|
|
|
|
* ODT writer:
|
|
+ Indented and line-broke styles.xml so it can be modified more easily.
|
|
+ Omitted some unnecessary style declarations.
|
|
+ Don't wrap text in OpenDocument writer. The tags are too long, making
|
|
wrapping ugly and pointless.
|
|
|
|
* LaTeX reader: use \\ to separate multiple authors.
|
|
|
|
* Markdown reader: use ; as separator between authors.
|
|
This allows you to use ',' within author names: e.g. "John Jones, Jr."
|
|
|
|
* S5 writer: use linebreak to separate authors in title page.
|
|
|
|
* RST reader: Allow :: before lhs code block. The RST spec requires the
|
|
:: before verbatim blocks. This :: should not be treated as literal
|
|
colons. Resolves Issue #189.
|
|
|
|
* Documented pandoc 1.3's new definition list syntax in README.
|
|
(An oversight in the last release.)
|
|
|
|
* markdown2pdf.hs:
|
|
+ interpret ! in a log as an error line.
|
|
+ --toc now works properly.
|
|
|
|
* Changes in RunTests.hs:
|
|
+ Use the Diff library rather than a local copy of Diff.hs.
|
|
(This vastly increases performance.) This change means that 'cabal
|
|
test' presupposes that the Diff library is installed.
|
|
+ Removed tests/Diff.hs from cabal file.
|
|
+ Changed RunTests to use local environment. We need at least HOME, so
|
|
pandoc can find its data directory.
|
|
|
|
* Updated windows installer to install data files in the app directory.
|
|
|
|
* Windows installer now installs portable wrappers hsmarkdown and
|
|
markdown2pdf.
|
|
|
|
pandoc (1.3)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Added --id-prefix option (Issue #41). This adds a prefix to all
|
|
automatically generated HTML identifiers, which helps prevent
|
|
duplicate identifiers when you're generating a fragment (say a blog
|
|
post).
|
|
|
|
* Added --indented-code-classes option. This specifies classes
|
|
to use for indented code blocks. (Patch due to buttock; Issue #87.)
|
|
|
|
* --number-sections now affects HTML output as well as ConTeXt and LaTeX
|
|
(Issue #150).
|
|
|
|
* Improved syntax for markdown definition lists (Issue #24).
|
|
Definition lists are now more compatible with PHP Markdown Extra.
|
|
+ You can have multiple definitions for a term (but still not
|
|
multiple terms).
|
|
+ Multi-block definitions no longer need a column before each block
|
|
(indeed, this will now cause multiple definitions).
|
|
+ The marker no longer needs to be flush with the left margin,
|
|
but can be indented at or two spaces. Also, ~ as well as :
|
|
can be used as the marker (this suggestion due to David
|
|
Wheeler.)
|
|
+ There can now be a blank line between the term and the
|
|
definitions.
|
|
|
|
* Better looking simple tables. Resolves Issue #180.
|
|
+ Markdown reader: simple tables are now given column widths of 0.
|
|
+ Column width of 0 is interpreted as meaning: use default column width.
|
|
+ Writers now include explicit column width information only
|
|
for multiline tables. (Exception: RTF writer, which requires
|
|
column widths. In this case, columns are given equal widths,
|
|
adding up to the text width.)
|
|
+ Simple tables should now look better in most output formats.
|
|
|
|
* Allow markdown tables without headers (Issue #50).
|
|
The new syntax is described in README. Also allow optional line of
|
|
dashes at bottom of simple tables.
|
|
|
|
* Compensate for width of final table column (Issue #144).
|
|
|
|
* Treat a backslash followed by a newline as a hard line break
|
|
in markdown. Resolves Issue #154. This is a nice alternative
|
|
to markdown's "invisible" way of indicating hardline breaks
|
|
using lines that end with two spaces.
|
|
|
|
* Improved performance of markdown reader by ~10% by eliminating the
|
|
need for a separate parsing pass for notes. Raw notes are now stored
|
|
on the first pass (which parses references), then parsed when the
|
|
note is inserted into the AST. The stateNotes field in ParserState
|
|
is now a list of [(String, String)] pairs instead of [(String,
|
|
[Block])].
|
|
|
|
* In markdown reader, treat 4 or more * or _ in a row as literal
|
|
text. (Trying to parse long strings of * or _ as strong or emph
|
|
leads to exponential performance problems.)
|
|
|
|
* Markdown reader: Use + rather than %20 for spaces in URLs.
|
|
|
|
* Fixed htmlComment parser, adding a needed 'try'.
|
|
|
|
* Don't print raw HTML in man output.
|
|
|
|
* Allow . _ and ~ in header identifiers.
|
|
|
|
* Specially mark code blocks that were "literate" in the input.
|
|
They can then be treated differently in the writers. This allows
|
|
authors to distinguish bits of the literate program they are writing
|
|
from source code examples, even if the examples are marked as
|
|
Haskell for highlighting. (Issue #174.)
|
|
|
|
* Modified html+lhs output to use "haskell" highlighter instead
|
|
of "literateHaskell". The highlighting module now adds bird tracks
|
|
after highlighting (for HTML output), if the code block has the
|
|
"literate" class. This gives better results, because kate's
|
|
haskell highlighter is much better than the literateHaskell
|
|
highlighter.
|
|
|
|
* Fixed handling of footnotes in titles (HTML) and headers (LaTeX).
|
|
(Issue #137.)
|
|
|
|
* Support for "..code-block" directive in RST reader. Not core
|
|
RST, but used in Sphinx for code blocks annotated with syntax
|
|
information. Thanks to Luke Plant for the patch.
|
|
|
|
* Added "head" to list of block-level HTML tags. Resolves
|
|
Issue #108.
|
|
|
|
* Added stripTags to Text.Pandoc.XML. This is used in the HTML writer.
|
|
|
|
* Set utf-8 encoding in texinfo headers.
|
|
|
|
* Docbook writer: add ids to sections. Use link for internal links.
|
|
(Issue #60.)
|
|
|
|
* Blank lines after lists in MediaWiki writer.
|
|
|
|
* Properly handle commented-out list items in markdown.
|
|
Resolves Issue #142. Example:
|
|
|
|
- a
|
|
<!--
|
|
- b
|
|
-->
|
|
- c
|
|
|
|
* Changed heuristic in compactify. compactify has to decide whether a
|
|
Para that ends a list is a Para intentionally, or just because of
|
|
the blank lines at the end of every list. In the latter case the
|
|
Para is turned to a Plain. The old heuristic was: change final Para
|
|
to Plain iff the other items all end in Plain. This produces bad
|
|
results when, for example, an item contains just a Plain and an HTML
|
|
comment, as it does in the list above. The new heuristic: change
|
|
final Para to Plain iff the other items don't contain a Para.
|
|
|
|
* Added % as an rst underline character. Resolves Issue #173.
|
|
|
|
* Fix inline math parser so that \$ is allowed in math.
|
|
Resolves Issue #169.
|
|
|
|
* Translate \int (integral) into unicode when using unicode math
|
|
method. Resolves Issue #177.
|
|
|
|
* markdown2pdf.hs improvements:
|
|
+ Use System.IO.UTF8.
|
|
+ Print error messages on last attempt.
|
|
+ Do not create a backup when overwriting a PDF (Issue #166).
|
|
+ Accept --longopt=val options.
|
|
+ Added man/man1/markdown2pdf.1 to extra-tmp-files in cabal, so that
|
|
it is properly cleaned.
|
|
|
|
* Added haddock comments warning that readers assume \n line endings.
|
|
|
|
* Updated COPYRIGHT file.
|
|
|
|
* Makefile: Changed EXECSBASE so it doesn't pull in hsmarkdown &
|
|
markdown2pdf. Otherwise strip tries to strip shell scripts when you
|
|
install using 'make'.
|
|
|
|
* Changed Makefile so it doesn't build Haskell wrappers.
|
|
|
|
* Fixed Makefile so it doesn't try to build man pages in build-doc.
|
|
|
|
* Install pcre3.dll in Windows install script; this allows us to
|
|
package a version of pandoc with highlighting support.
|
|
|
|
pandoc (1.2.1)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Fixed regression with --preserveTabs. Brought back optPreserveTabs.
|
|
The trick of setting tabStop to 0 to mean "preserve tabs" had a bad
|
|
side effect: strings of 0 spaces were interpreted as indentation.
|
|
So, with --preserve-tabs, unindented paragraphs were treated as
|
|
code. Resolves Issue #138.
|
|
|
|
* HTML writer: wrap sections in divs. Resolves Issue #70.
|
|
|
|
+ hierarchicalize has been rationalized; it builds a hierarchical
|
|
representation of the document from the headers, and simultaneously
|
|
gives each section a unique identifier based on the heading title.
|
|
+ Identifiers are now attached to the divs rather than
|
|
to the headers themselves.
|
|
+ Table of content backlinks go to the beginning of the table, rather
|
|
than to the section reference that was clicked.
|
|
+ Code for constructing identifiers has been moved to Text.Pandoc.Shared
|
|
from the HTML writer, since it is now consumed only by
|
|
hierarchicalize.
|
|
+ In --strict mode, pandoc just prints bare headings, as before
|
|
(unless --toc has been specified).
|
|
+ In s5 output, it does not wrap sections in divs, as that seems to
|
|
confuse the s5 javascript.
|
|
|
|
* Man writer: break lines at end of each sentence. groff expects this
|
|
and treats '.' and '?' differently when followed by line ending as
|
|
opposed to ordinary space. Also, don't escape periods. Instead, use
|
|
zero-width character \& to avoid unwanted interpretation of periods
|
|
at start of line. Resolves Issue #148.
|
|
|
|
* Markdown writer: Added '#' and '>' to list of characters to be
|
|
escaped in markdown output. Removed '<', as it is not an officially
|
|
escapable character. This partially resolves Issue #96.
|
|
|
|
* Make --smart the default for man output format. Otherwise we have
|
|
trouble dividing lists of endlines into sentences.
|
|
|
|
* DocBook writer: Use language attribute to indicate source language
|
|
in code blocks.
|
|
|
|
* RST reader:
|
|
|
|
+ Allow # to continue list, even if the list was started with an
|
|
explicit marker. For example:
|
|
|
|
A. my list
|
|
#. continued
|
|
|
|
Resolves Issue #140.
|
|
+ Allow continuation lines in line blocks. Also added test cases for
|
|
line blocks for RST reader. Resolves Issue #149.
|
|
+ Allow explicit links with spaces in URL: `link <to this>`_
|
|
|
|
* Improved LaTeX reader's coverage of math modes. Remove displaymath*
|
|
(which is not in LaTeX) and recognize all the amsmath environments
|
|
that are alternatives to eqnarray, namely equation, equation*,
|
|
gather, gather*, gathered, multline, multline*, align, align*,
|
|
alignat, alignat*, aligned, alignedat, split. Resolves Issue #103.
|
|
Thanks to shreevatsa.public for the patch.
|
|
|
|
* Markdown reader:
|
|
|
|
+ Allow -, _, :, . in markdown attribute names. These are legal in
|
|
XML attribute names.
|
|
+ Use non-breaking spaces in abbreviations.
|
|
+ Markdown reader: improved efficiency of abbreviation parsing.
|
|
Instead of a separate abbrev parser, we just check for
|
|
abbreviations each time we parse a string. This gives a huge
|
|
performance boost with -S. Resolves Issue #141.
|
|
|
|
* Improved efficiency of shared parsers: hexNum, htmlComment,
|
|
whitespace, indentSpaces.
|
|
|
|
* Export HTMLMathMethod in Text.Pandoc.
|
|
|
|
* Export languagesByExtension in Text.Pandoc.Highlighting.
|
|
|
|
* Added new Haskell version of markdown2pdf, due to
|
|
Paulo Tanimoto. This should be more portable than the old
|
|
shell script.
|
|
|
|
* Made 'pandoc -v' more explicit about compiler options.
|
|
Resolves Issue #139.
|
|
|
|
* pandoc.hs: Made --strict compatible with --standalone, --toc.
|
|
|
|
* Use Paths_pandoc to get version number, instead of hard-coding it
|
|
into Text/Pandoc.hs.
|
|
|
|
pandoc (1.2)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Added support for literate Haskell. lhs support is triggered by
|
|
'+lhs' suffixes in formats. For example, 'latex+lhs' is literate
|
|
Haskell LaTeX. '.lhs' files are treated by default as literate
|
|
markdown.
|
|
|
|
+ Added stateLiterateHaskell to parser state.
|
|
+ Added parser for lhsCodeBlock to Markdown, RST, LaTeX readers.
|
|
+ Added parser for |inline lhs| to LaTeX reader.
|
|
+ Added writerLiterateHaskell to WriterOptions.
|
|
+ Added lhs support to Markdown, RST, LaTeX, HTML writers.
|
|
+ Added definition of code environment to LaTeX header.
|
|
+ Added tests (run only if highlighting support compiled in).
|
|
+ Documented lhs features in man page and README.
|
|
|
|
* In Text.Pandoc.Definition, added processWith, processWithM,
|
|
and queryWith, and deprecated processPandoc and queryPandoc
|
|
for these more general functions.
|
|
|
|
* Fixed bug in mediawiki writer: improper closing tags in tables.
|
|
Thanks to Benct Philip Jonsson for reporting the bug.
|
|
|
|
* Added --email-obfuscation option.
|
|
|
|
+ Added writer option for email obfuscation.
|
|
+ Implemented email obfuscation options in HTML writer.
|
|
+ Added option to option parser.
|
|
+ Documented in README and pandoc man page.
|
|
+ Resolves Issue #97.
|
|
|
|
* LaTeX writer: fixed bug with empty table cells.
|
|
Resolves Issue #107. Thanks to rodja.trappe for the patch.
|
|
|
|
* Fixed bug with header spacing in Markdown and RST writers.
|
|
A null header (Meta [] [] []) should not cause a blank line
|
|
at the beginning of output. But a blank line is needed between
|
|
a non-null header and the main text.
|
|
|
|
* Markdown reader: Relax spacing rules for $$ in display math. Now
|
|
space and newlines are allowed after the opening $$ and before the
|
|
closing $$. However, the display math cannot contain an entirely
|
|
blank line. Resolves Issue #105.
|
|
|
|
* Markdown reader: Gobble space after Plain blocks containing only
|
|
raw html inline. Otherwise following header blocks are not parsed
|
|
correctly, since the parser sees blank space before them. Resolves
|
|
Issue #124.
|
|
|
|
* Markdown reader: Allow " as well as '' to end a latex double-quote.
|
|
|
|
* Conditionally depend on syb and base >= 4 if ghc >= 6.10.
|
|
Resolves Issue #109.
|
|
|
|
* Fixed problems in RST and markdown output due to bug in pretty-1.0.1.0
|
|
|
|
+ Added hang' function to Text.Pandoc.Shared; this will be used instead
|
|
of hang, which doesn't work properly in pretty-1.0.1.0. When pretty
|
|
is upgraded, we can go back to hang.
|
|
See http://article.gmane.org/gmane.comp.lang.haskell.general/16687
|
|
+ Use hang' (and some different techniques) in RST and markdown writers.
|
|
Some output is now a bit different.
|
|
|
|
* Brought citeproc support up to date for citeproc-hs-0.2.
|
|
(Patch by Andrea Rossato.)
|
|
|
|
* Moved all haskell source to src subdirectory. Renamed Main.hs to
|
|
pandoc.hs.
|
|
|
|
* Rewrote hsmarkdown in Haskell for portability (src/hsmarkdown.hs).
|
|
For now, keeping the old shell script too.
|
|
|
|
* Added TemplateHaskell to Extensions for executable, removed
|
|
-threaded for library. Thanks to duncan.coutts for the bug report.
|
|
Resolves Issue #121.
|
|
|
|
* Moved some Extra-Source-Files to Data-Files.
|
|
|
|
* Moved tabFilter to Shared.
|
|
|
|
* In pandoc.hs, removed optPreserveTabs; instead, tabstop of 0 means
|
|
preserve tabs.
|
|
|
|
* Minor code cleanup based on hlint suggestions.
|
|
|
|
pandoc (1.1)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Main.hs:
|
|
|
|
+ Changed date on copyright message in Main.hs.
|
|
+ Have the '-v' option print syntax highlighting languages
|
|
separated by commas, and wrapped in lines, instead of in five
|
|
columns as before.
|
|
|
|
* Added --jsmath option. Resolves Issue #68.
|
|
|
|
+ Added --jsmath option to Main.hs
|
|
+ Added JsMath to HTMLMathMethod in Text.Pandoc.Shared.
|
|
+ Handle math appropriately in HTML writer when JsMath selected.
|
|
+ Documented the option in README and man page.
|
|
|
|
* Text.Pandoc.Shared: Changed compactify to use a better heuristic
|
|
for tight and loose lists. Final Para is changed to Plain if all
|
|
other list items *end* with a Plain block. Addresses Issue #99.
|
|
|
|
* HTML reader:
|
|
|
|
+ Added colons to protocols in unsanitaryURI. Closes Issue #88.
|
|
+ HTML reader: Don't interpret contents of <pre> blocks as markdown.
|
|
Added rawVerbatimBlock parser. Resolves Issue #94.
|
|
|
|
* Markdown reader:
|
|
|
|
+ Allow URLs with spaces in them in links and references, but escape
|
|
them as "%20".
|
|
+ Allow blank space at the end of horizontal rules.
|
|
|
|
* RST reader: Modified 'unknownDirective' parser to handle comment
|
|
blocks correctly, and added tests for comment blocks. Resolves Issue
|
|
#86. Closes Debian Bug #500662.
|
|
|
|
* HTML writer:
|
|
|
|
+ Include classes on tr elements in HTML output:
|
|
"header", "odd", "even". This allows tables to be styled with
|
|
lines in alternating colors. Resolves Issue #91.
|
|
+ Enclose all LaTeXMathML bits in <span class="LaTeX">.
|
|
This prevents parts of the document that are not math from being
|
|
interpreted as math by LaTeXMathML.js.
|
|
|
|
* OpenDocument and ODT writers: Added support for HorizontalRule elements,
|
|
which were formerly ignored. Resolves Issue #95.
|
|
|
|
* Text.Pandoc.Shared: Modified wrappedTeX to eliminate the line break
|
|
between a footnote and immediately following nonspace characters in
|
|
LaTeX and ConTeXt output. (This gets interpreted as a space, which
|
|
is not desired in cases like "text^[note]---".) Resolves Issue #93.
|
|
|
|
* Windows installer: Don't require admin privileges to run
|
|
installer. Modified pandoc-setup.iss, and changed modpath.iss to
|
|
modify HKCU path if user lacks admin privileges. Also fixed case
|
|
where oldpath is empty (previously this led to the new path
|
|
beginning with a semicolon).
|
|
|
|
* Updated INSTALL instructions for Arch packages and OS X install using
|
|
cabal-install.
|
|
|
|
* Removed the (now unneeded) debian directory.
|
|
Removed empty Codec and System directories.
|
|
|
|
* Moved odt-styles/ to data/. Removed unneeded variable in Makefile.
|
|
|
|
* Modified Setup.hs so that the "test" target returns an error status
|
|
when tests fail, and "build" returns a success status if
|
|
the build succeeds. Resolves Issue #100.
|
|
|
|
* Added BUGS to files in tarball.
|
|
|
|
|
|
pandoc (1.0.0.1)
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Removed spurious reference to pdf output format from pandoc(1) man page.
|
|
|
|
pandoc (1.0)
|
|
|
|
[ Andrea Rossato ]
|
|
|
|
* Added new OpenDocument writer.
|
|
|
|
* Added support for SmallCaps inline element.
|
|
|
|
* Added support for integrating pandoc with citeproc-hs.
|
|
|
|
+ Added Cite element to definition and writers.
|
|
+ Added Text.Pandoc.Biblio module
|
|
+ Note: This support is included only if the 'citeproc'
|
|
Cabal configuration flag is set.
|
|
|
|
* Made Pandoc data structure an instance of Typeable.
|
|
Added new processPandoc and queryPandoc functions, to query
|
|
or transform matching elements in a Pandoc structure.
|
|
|
|
[ Peter Wang ]
|
|
|
|
* Added new Texinfo writer.
|
|
|
|
[ John MacFarlane ]
|
|
|
|
* Changes to Texinfo writer:
|
|
|
|
+ No space between paragraph and following @verbatim (provides more
|
|
pleasing appearance in text formats)
|
|
+ Blank line consistently after list environments.
|
|
+ Removed deVerb.
|
|
+ Use @code instead of @verb for inline code (this solves the character
|
|
escaping problem for texi2dvi and texi2pdf).
|
|
+ Added news of Texinfo writer to README.
|
|
+ Added Texinfo to list of formats in man page, and removed extra 'groff'.
|
|
+ Added texi & texinfo extensions to Main.hs, and fixed bug in determining
|
|
default output extension.
|
|
+ Modified disallowedInNode in Texinfo writer to correct list of disallowed characters.
|
|
|
|
* Added tests for OpenDocument writer.
|
|
|
|
* Added ODT writer (using zip-archive library to package output of
|
|
OpenDocument writer). Added odt-styles directory with default ODT styles.
|
|
|
|
* Added new mediawiki writer and tests.
|
|
|
|
* Markdown reader: Added support for delimited code blocks, with optional
|
|
syntax highlighting using highlighting-kate (if the 'highlighting'
|
|
configuration option is selected).
|
|
|
|
+ Currently highlighting is supported only in the HTML writer.
|
|
+ Delimited code blocks can have attributes; using the language name as
|
|
class triggers highlighting.
|
|
+ New Attributes parameter in CodeBlock structure.
|
|
+ --version now indicates whether syntax highlighting support is compiled
|
|
in, and prints a list of supported languages
|
|
|
|
* Removed debian directory. Pandoc is no longer a native debian package.
|
|
|
|
* Changes to build process: pandoc can now be built from the repository
|
|
using Cabal. No unix tools are needed (so, pandoc can be built on Windows
|
|
without Cygwin).
|
|
|
|
+ Include shell scripts themselves in repo, rather than generating from wrappers.
|
|
Removed wrappers directory and wrappers Makefile target.
|
|
+ Text/Pandoc/ASCIIMathML.hs, Text/Pandoc/DefaultHeaders.hs,
|
|
and Text/Pandoc/Writers/S5.hs are no longer built in Makefile
|
|
from templates in the templates/ directory. Instead, they use template
|
|
haskell to read data at compile time from the relevant files in data/.
|
|
Template haskell functions go in a new module, Text.Pandoc.TH.
|
|
+ man pages are now generated in Setup.hs hook, not by Makefile
|
|
+ Makefile 'tarball' target now calls Cabal's 'sdist'
|
|
+ Added "Extra-Source-Files" to pandoc.cabal, so sdist contains everything needed
|
|
+ Added "Build-Type" field to pandoc.cabal to avoid warning.
|
|
+ Added to "Extra-source-files" and "Extra-tmp-files" in pandoc.cabal,
|
|
so 'sdist' and 'clean' will work properly.
|
|
+ Setup.hs now generates man pages in a postbuild hook.
|
|
+ Added dependency-checking to Setup.hs, so it only rebuilds things
|
|
that need rebuilding.
|
|
+ Added 'library' and 'executable' configuration flags.
|
|
Cabal can now be told to build just the library or just the executable.
|
|
+ CABALOPTS may now be specified with 'make' to pass Cabal configuration flags.
|
|
For example: CABALOPTS=-fhighlighting make
|
|
|
|
* Rewrote test suite so it doesn't depend on perl or unix tools.
|
|
|
|
+ Replaced old runtests.pl with a Haskell script RunTests.hs.
|
|
+ Added Diff.hs module to be used by RunTests.hs instead of unix 'diff'.
|
|
+ Added test hook to Setup.hs, so tests may be run from cabal.
|
|
+ Changed Makefile's 'test' target to run tests via cabal.
|
|
+ Removed old generate.sh.
|
|
+ Since we no longer have 'sed' to filter out raw HTML sections
|
|
from the docbook writer test, or raw LaTeX sections from the
|
|
context writer test, we now just include these sections.
|
|
They can be taken out if it is necessary to process the files.
|
|
+ Updated latex and context writer tests to remove extra spaces
|
|
after '\\item'
|
|
+ Added a markdown table reader test.
|
|
+ Added markdown-reader-more.txt to test suite, for additional test cases
|
|
for raw ConTeXt environments and more.
|
|
|
|
* Compatibility fixes for CPP, Cabal, and haddock:
|
|
|
|
+ Use CPP in "Extensions" field in pandoc.cabal.
|
|
+ Removed use of backslash string continuations in source files.
|
|
|
|
* Removed pandoc.cabal.ghc66. We now require Cabal >= 1.2, GHC >= 6.8,
|
|
base >= 3.
|
|
|
|
* Require parsec < 3.
|
|
The compatibility module in parsec 3.0.0 gives far worse performance than
|
|
parsec 2.1. Eventually pandoc will be upgraded to use the new bytestring
|
|
version of parsec, and then we'll go to parsec 3.0.0.
|
|
|
|
* Removed Text.Regex dependencies by rewriting using plain Haskell
|
|
(Text.Pandoc.Writers.RTF, Text.Pandoc.Writers.HTML, Main.hs)
|
|
|
|
* Moved Text.Pandoc.Writers.DefaultHeaders -> Text.Pandoc.DefaultHeaders.
|
|
|
|
* Makefile:
|
|
|
|
+ Added 'configure' as dependency of 'uninstall-all'.
|
|
(It uses the Cabal build program.)
|
|
+ Makefile: only use --with-hc-pkg if GHC_PKG is defined.
|
|
Note that Cabal will automatically choose the ghc-pkg appropriate
|
|
for the compiler selected, so normally specifying GHC by itself
|
|
is sufficient.
|
|
|
|
* Removed Text.Pandoc.UTF8 module; instead, depend on utf8-string and use
|
|
its IO and conversion functions.
|
|
|
|
* Added -Wall to ghc-options in pandoc.cabal. Cleaned up modules so that
|
|
everything is -Wall clean.
|
|
|
|
+ Added pragma to HTML writer to avoid deprecation warning for use of "start" attribute.
|
|
+ Added pragma to Text/Pandoc/Shared.hs to get rid of "orphan instance" warnings.
|
|
(These are caused by the Lift instance for ByteString.)
|
|
|
|
* Changed the comment used to replace unsafe HTML if sanitize-html option
|
|
selected.
|
|
|
|
* Made -c/--css option repeatable on the command line (like -H, -A, -B).
|
|
|
|
* Moved XML-formatting functions to new unexported module Text.Pandoc.XML.
|
|
|
|
* Escape '\160' as " ", not " " in XML.
|
|
"nbsp" isn't a predefined XML entity.
|
|
|
|
* Fixed bug in RST reader, which would choke on: "p. one\ntwo\n".
|
|
Added some try's in ordered list parsers.
|
|
|
|
* Man writer: don't escape " as \".
|
|
|
|
* Allow newline before URL in markdown link references. Resolves Issue #81.
|
|
Added tests for this issue in new "markdown-reader-more" tests.
|
|
Changed RunTests.hs to run these tests.
|
|
|
|
* Support for display math. Resolves Issue #47.
|
|
|
|
+ Added a DisplayMath/InlineMath selector to Math inlines.
|
|
+ Markdown parser yields DisplayMath for $$...$$.
|
|
+ LaTeX parser yields DisplayMath when appropriate. Removed
|
|
mathBlock parsers, since the same effect is achieved by the math
|
|
inline parsers, now that they handle display math.
|
|
+ Writers handle DisplayMath as appropriate for the format.
|
|
+ Modified tests accordingly; added new tests for display math.
|
|
|
|
* Use LaTeXMathML instead of ASCIIMathML. LaTeXMathML is closer
|
|
to LaTeX in its display of math, and supports many non-math LaTeX environments.
|
|
|
|
+ Changed -m option to use LaTeXMathML rather than ASCIIMathML.
|
|
+ Modified HTML writer to print raw TeX when LaTeXMathML is
|
|
being used instead of suppressing it.
|
|
+ Removed ASCIIMathML files from data/ and added LaTeXMathML.
|
|
+ Replaced ASCIIMathML with LaTeXMathML in source files.
|
|
+ Modified README and pandoc man page source.
|
|
+ Added --latexmathml option (kept --asciimathml as a synonym
|
|
for backwards compatibility)
|
|
|
|
* Markdown reader: Parse setext headers before atx headers.
|
|
Test case:
|
|
# hi
|
|
====
|
|
parsed by Markdown.pl as an H1 header with contents "# hi".
|
|
|
|
* Markdown reader: Treat "mixed" lists the same way as Markdown.pl does.
|
|
The marker on the first list item determines the type of the whole
|
|
list. Thus, a list like
|
|
1. one
|
|
- two
|
|
* three
|
|
gets parsed as a single ordered list. (Previous versions of pandoc
|
|
treated this as an ordered list with an unordered sublist.)
|
|
|
|
* Markdown smart typography:
|
|
|
|
+ Em dashes no longer eat surrounding whitespace. Resolves Issue #69.
|
|
+ Use nonbreaking spaces after known abbreviations in markdown parser.
|
|
Thus, for example, "Mr. Brown" comes out as "Mr.~Brown" in LaTeX, and does
|
|
not produce a sentence-separating space. Resolves Issue #75.
|
|
|
|
* Markdown writer: Print unicode \160 literally, rather than as .
|
|
|
|
* Treat '\ ' in (extended) markdown as nonbreaking space.
|
|
Print nonbreaking space appropriately in each writer (e.g. ~ in LaTeX).
|
|
|
|
* The '--sanitize-html' option now examines URIs in markdown links
|
|
and images, and in HTML href and src attributes. If the URI scheme
|
|
is not on a whitelist of safe schemes, it is rejected. The main point
|
|
is to prevent cross-site scripting attacks using 'javascript:' URIs.
|
|
See http://www.mail-archive.com/markdown-discuss@six.pairlist.net/msg01186.html
|
|
and http://ha.ckers.org/xss.html. Resolves Issue #62.
|
|
|
|
* HTML writer:
|
|
|
|
+ Override Text.XHtml's stringToHtml function,
|
|
so that characters below 0xff are not converted to numerical entity
|
|
references. Also convert '\160' to " ". This should aid readability
|
|
and editability of the HTML source. It does presuppose that the HTML
|
|
will be served as UTF-8.
|
|
+ In code blocks, change leading newlines to <br /> tags.
|
|
(Some browsers ignore them.) Resolves Issue #71.
|
|
See http://six.pairlist.net/pipermail/markdown-discuss/2008-May/001297.html
|
|
+ Use style attributes rather than css classes for strikethrough
|
|
and ordered list styles. This works better when fragments, rather than
|
|
standalone documents, are generated.
|
|
|
|
* HTML reader: Count anything that isn't a known block (HTML) tag as an
|
|
inline tag (rather than the other way around). Added "html", "head", and
|
|
"body" to list of block tags. Resolves Issue #66, allowing
|
|
<lj> to count as an inline tag.
|
|
|
|
* RTF writer: Fixed bug. Extra spaces were being printed after emphasized,
|
|
boldface, and other inline elements. Resolves Issue #64.
|
|
|
|
* LaTeX reader: improvements in raw LaTeX parsing.
|
|
|
|
+ "loose punctuation" (like {}) parsed as Space
|
|
+ Para elements must contain more than Str "" and Space elements
|
|
+ Added parser for "\ignore" command used in literate haskell.
|
|
+ Reworked unknownCommand and rawLaTeXInline: when not in "parse raw"
|
|
mode, these parsers simply strip off the command part and allow
|
|
the arguments to be parsed normally. So, for example,
|
|
\blorg{\emph{hi}} will be parsed as Emph "hi" rather than
|
|
Str "{\\emph{hi}}".
|
|
+ Parse lhs "code" environments as verbatim.
|
|
Refactored parsers for verbatim environments.
|
|
+ Removed specialEnvironment parser.
|
|
+ parse '{}', if present, after \textless, \textgreater,
|
|
\textbar, \textbackslash, \ldots.
|
|
+ Parse unescaped special characters verbatim rather than
|
|
changing them to spaces. This way arguments of unknown
|
|
commands will appear in braces.
|
|
|
|
* Parse raw ConTeXt environments as TeX in markdown reader.
|
|
Resolves Issue #73.
|
|
|
|
* Moved BlockWrapper and wrappedBlocksToDoc from ConTeXt writer to Shared.
|
|
|
|
* Made some structural changes to parsing of raw LaTeX environments.
|
|
Previously there was a special block parser for LaTeX environments.
|
|
It returned a Para element containing the raw TeX inline. This has
|
|
been removed, and the raw LaTeX environment parser is now used in the
|
|
rawLaTeXInline parser. The effect is exactly the same, except that we
|
|
can now handle consecutive LaTeX and ConTeXt environments not separated
|
|
by spaces. This new flexibility is required by the example in
|
|
Issue #73:
|
|
|
|
\placeformula \startformula
|
|
L_{1} = L_{2}
|
|
\stopformula
|
|
|
|
API change: The LaTeX reader now exports rawLaTeXEnvironment' (which
|
|
returns a string) rather than rawLaTeXEnvironment (which returns a block
|
|
element). This is more likely to be useful in other applications.
|
|
|
|
* Use \textsubscr instead of \textsubscript for LaTeX subscript macro.
|
|
\textsubscript conflicts with a definition in the memoir class.
|
|
Resolves Issue #65.
|
|
|
|
* Removed unneeded space after "\\item" in LaTeX and ConTeXt output.
|
|
|
|
* Added amsmath package to default LaTeX header. Resolves Issue #48.
|
|
|
|
* Added \setupitemize[autointro] to ConTeXt header, to prevent orphaned
|
|
list introduction lines.
|
|
|
|
* Changed Float to Double in definition of Table element.
|
|
(Double is more efficient in GHC.)
|
|
|
|
* Fixed bug in Markdown parser: regular $s triggering math mode.
|
|
For example: "shoes ($20) and socks ($5)."
|
|
The fix consists in two new restrictions:
|
|
|
|
+ the $ that ends a math span may not be directly followed by a digit.
|
|
+ no blank lines may be included within a math span.
|
|
|
|
Thanks to Joseph Reagle for noticing the bug.
|
|
|
|
* Use Data.List's 'intercalate' instead of custom 'joinWithSep'.
|
|
Removed 'joinWithSep' from Text.Pandoc.Shared.
|
|
|
|
* Updated README and man pages. Acknowledge contributors in README.
|
|
Added paragraph to README about producing S5 with separate CSS/javascript.
|
|
|
|
* Updated INSTALL to reflect new build system (including configuration
|
|
options) and document new dependencies. Added note to INSTALL that
|
|
Cabal >= 1.2 is required for build. Resolves Issue #74.
|
|
|
|
* Fixed some haddock documentation errors.
|
|
|
|
* Small fix to markdown2pdf man page: only input needs to be piped through iconv.
|
|
|
|
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
|