Commit graph

4543 commits

Author SHA1 Message Date
Albert Krewinkel
d43c3e8101 Org reader: Use specialized org parser state
The default pandoc ParserState is replaced with `OrgParserState`.  This
is done to simplify the introduction of new state fields required for
efficient Org parsing.
2014-04-05 16:14:09 +02:00
Albert Krewinkel
7cf7e45e4c Org reader: Slight cleaning of table parsing code 2014-04-05 16:13:18 +02:00
John MacFarlane
4ee92dce0c MediaWiki reader: Fixed bug in certain nested lists.
The bug: If a level 2 list was followed by a level 1 list, the first
item of the level 1 list would be lost.

Closes #1213.
2014-04-01 10:36:23 -07:00
John MacFarlane
976f4f2d8f Added HTML reader tests for empty strong, emph. 2014-04-01 10:15:21 -07:00
John MacFarlane
1cadba16eb HTML reader: idiomatic rewriting for clarity. 2014-04-01 10:10:46 -07:00
John MacFarlane
ced8be1d08 Merge pull request #1207 from mpickering/htmlinlines
Fix #1162, #1175 and rewrite textile and HTML backend to use the builder
2014-04-01 09:21:23 -07:00
Matthew Pickering
90269cb213 Tests updated to reflect changes to readers.
Previously normalisation was handled by the `normalizeSpaces` function. The behavoir of the builder monoid is slightly different and melds together more items such as consecutive strings and spaces adjacent to line breaks. The tests have been changed to reflect this.

All relevant tests passed when the string melding line of the builder monoid was commented out.
2014-04-01 13:53:34 +01:00
Matthew Pickering
5a51a67abd Changed the smart punctuation parser to return Inlines rather than an Inline element and updated files accordingly 2014-04-01 13:53:34 +01:00
Matthew Pickering
9b5d474e79 Converted HTML reader to use builder. Fixes #1162. 2014-04-01 13:44:19 +01:00
Matthew Pickering
0ccca94b4c Bugfix for #1175 and convert textile reader to use builder.
The reader did not correctly parse inline markup. The behavoir is now as follows.

(a) The markup must start at the start of a line, be inside previous
inline markup or be preceeded by whitespace.
(b) The markup can not span across paragraphs (delimited by \n\n)
(c) The markup can not be followed by a alphanumeric character.
(d) Square brackets can be placed around the markup to avoid having
to have white space before it.

In order to make these changes it was either necessary to convert the parser to return a list of inlines or to convert the whole reader to use the builder. The latter approach whilst more work makes a bit more sense as it becomes easy to arbitarily append and prepend elements without changing the type.

Tests are accordingly updated in a later commit to reflect the different normalisation behavoir specified by the builder monoid.
2014-04-01 13:44:06 +01:00
John MacFarlane
99f4f636df Make --toc-depth work well with books in latex/pdf output.
Closes #1210.
2014-03-31 11:08:10 -07:00
John MacFarlane
361167deff Markdown writer: Use longer backtick fences if needed.
If the content contains a backtick fence and there are
attributes, make sure longer fences are used to delimit the code.

Note:  This works well in pandoc, but github markdown is more
limited, and will interpret the first string of three or more
backticks as ending the code block.

Closes #1206.
2014-03-30 15:50:01 -07:00
John MacFarlane
69a7c9f634 LaTeX reader: Better handling of figure and table with caption.
We now look for a \caption inside the environment; if one is
found, it is attached to the graphic or tabular found there.

Closes #1204.
2014-03-25 23:10:43 -07:00
John MacFarlane
0934c4430a Parsing: Added stateCaption.
This is primarily for use in the LaTeX reader, so far.
2014-03-25 22:44:16 -07:00
John MacFarlane
994597f071 Revert "LaTeX reader: Added LPState."
This reverts commit 82ddec698e.
2014-03-25 22:40:18 -07:00
John MacFarlane
82ddec698e LaTeX reader: Added LPState.
Plan is to use this instead of ParserState in LP.
2014-03-25 15:38:30 -07:00
John MacFarlane
6992050161 Parsing: Added HasMacros, simplified other typeclasses.
Removed updateHeaderMap, setHeaderMap, getHeaderMap,
updateIdentifierList, setIdentifierList, getIdentifierList.
2014-03-25 14:55:18 -07:00
John MacFarlane
6ec3ee3a67 Whitespace change, and note:
Contrary to the previous commit message, there was no API
change, since Text.Pandoc.Parsing is not an exposed module.
2014-03-25 13:51:55 -07:00
John MacFarlane
08d1404b31 API changes to HasReaderOptions, HasHeaderMap, HasIdentifierList.
Previously these were typeclasses of monads.  They've been changed
to be typeclasses of states.  This ismplifies the instance definitions
and provides more flexibility.

This is an API change!  However, it should be backwards compatible
unless you're defining instances of HasReaderOptions, HasHeaderMap,
or HasIdentifierList.  The old getOption function should work as
before (albeit with a more general type).

The function askReaderOption has been removed.
extractReaderOptions has been added.
getOption has been given a default definition.

In HasHeaderMap, extractHeaderMap and updateHeaderMap have been added.
Default definitions have been given for getHeaderMap, putHeaderMap,
and modifyHeaderMap.

In HasIdentifierList, extractIdentifierList and updateIdentifierList
have been added.  Default definitions have been given for
getIdentifierList, putIdentifierList, and modifyIdentifierList.

The ultimate goal here is to allow different parsers to use their
own, tailored parser states (instead of ParserState) while still
using shared functions.
2014-03-25 13:43:34 -07:00
John MacFarlane
5e69f845d5 LaTeX reader: Better handling of "table" environment.
Positioning options no longer rendered verbatim.
Partially addresses #1204.
2014-03-25 12:04:25 -07:00
John MacFarlane
d7fbc40dff RTF writer: Fixed tables cells containing paragraphs.
This moves \intbl after \pard.
2014-03-24 15:12:32 -07:00
John MacFarlane
b9cc29e15a Merge pull request #1068 from jaimeMF/mw-images-langs
MediaWiki reader: Accept image links in more languages
2014-03-24 10:39:49 -07:00
John MacFarlane
3fa38db80b Parsing: Make F an instance of Applicative. Closes #1138. 2014-03-24 10:29:24 -07:00
John MacFarlane
e3097172b1 Fixed typo in README 2014-03-24 10:16:06 -07:00
John MacFarlane
dd058b38b0 Markdown reader: Fixed regression on line breaks in strict mode.
Closes #1203.
2014-03-24 09:56:16 -07:00
John MacFarlane
818894b7b5 beamer template: changes for better unicode handling.
Ported from LaTeX template.  Thanks to KarolS for the patch.
2014-03-19 11:11:41 -07:00
John MacFarlane
3df75bc160 PDF: Changes to error reporting, to handle non-UTF8 error output. 2014-03-19 11:09:36 -07:00
John MacFarlane
575cc7eddc Remove Makefile. 2014-03-18 09:51:42 -07:00
John MacFarlane
44f58e7e38 EPUB writer: Handle files linked in raw img tags.
See #1170.
2014-03-14 15:41:28 -07:00
John MacFarlane
91696c62c4 EPUB writer: Handle media in audio source tags.
This should resolve the rest of #1170, but it needs
extensive testing.

Note that we now use a 'media' directory rather than 'images'.
2014-03-14 15:30:11 -07:00
John MacFarlane
f6141aa241 EPUB writer: Incorporate files linked in <video> tags.
src and poster will both be incorporated into content.opf
and the epub container.

This partially address #1170.
Still need to do something similar for <audio>.
2014-03-14 15:18:43 -07:00
John MacFarlane
814af2002e RST writer: Avoid stack overflow with certain tables.
Closes #1197.

Note that there are still problems with the formatting of
the tables inside tables with output produced from the input
file in the original bug report.  But this fixes the stack
overflow problem.
2014-03-14 14:03:15 -07:00
John MacFarlane
76ef65f0b3 Man writer: Ensure that terms in definition lists aren't line wrapped.
Closes #1195.
2014-03-12 10:23:45 -07:00
John MacFarlane
c3a2fc643c Merge pull request #1190 from eVITAERC/patch/1151-windows-texlive
PDF: Use / as path separators in latex input only
2014-03-10 17:38:41 -07:00
Tim Lin
1aed9208f8 PDF: Use / as path separators in latex input only
Fixes compile error on Windows for 5040f3e
Reverted back to canonical file separators </> in all places except for
arguments to the LaTeX builder and in TEXINPUTS

See #1151.

Note: Temporary directories still fail to be removed in Windows due to
call of ByteString.Lazy.readFile creating process ownership of the
compiled pdf file.
2014-03-10 16:23:57 -07:00
John MacFarlane
5040f3ede0 PDF: Use / as path separators in tempdir on Windows.
This is needed for texlive.
Note that the / is used only in the body of withTempDir,
so when the directory is deleted, the original separators will
be used.

See #1151.
2014-03-10 11:16:50 -07:00
John MacFarlane
c026c16fa6 PDF: Use / as path separators even on Windows.
This seems to be necessary for texlive.
Closes #1151 (again!).
2014-03-09 21:26:25 -07:00
John MacFarlane
f3c9d37885 HTML writer: Add colgroup around col tags.
Also affects EPUB writer.
Closes #877.
2014-03-05 13:01:23 -08:00
John MacFarlane
6fda361977 SelfContained: Handle "poster" attribute in "video" tags.
Closes #1188.
2014-03-05 09:10:09 -08:00
John MacFarlane
3126b00f11 Templates: YAML objects resolve to "true" in conditionals.
Closes #1133.

Note:  If address is a YAML object and you just have $address$
in your template, the word "true" will appear, which may be
unexpected.  (Previously nothing would appear.)
2014-03-05 08:47:20 -08:00
John MacFarlane
49a80e1652 Added default.icml to templates. 2014-03-04 10:29:19 -08:00
John MacFarlane
64a571775d Updated README and pandoc.cabal with icml writer. 2014-03-04 10:29:13 -08:00
John MacFarlane
ae86e24ff6 Merge branch 'master' of https://github.com/mb21/pandoc into mb21-master 2014-03-04 10:15:43 -08:00
John MacFarlane
1046339755 Added org-mode to list of readers in cabal description. 2014-03-04 10:15:04 -08:00
John MacFarlane
b1e6ea80fd Merge pull request #1179 from tarleb/org
Add a simple Emacs Org-mode reader
2014-03-04 10:12:16 -08:00
Albert Krewinkel
8909229671 Update README to include info on Org-mode reader 2014-03-04 10:40:52 +01:00
Albert Krewinkel
24b2ac43b0 Add a simple Emacs Org-mode reader
The basic structure of org-mode documents is recognized; however,
org-mode features like todo markers, tags etc. are not supported yet.
2014-03-04 10:40:40 +01:00
mb21
80511f1b34 InDesign ICML Writer 2014-02-28 13:35:35 +01:00
John MacFarlane
4d0bf3c5d6 Markdown reader: Improved parsing of nested divs.
Formerly a closing div tag would be missed if it came right
after other block-level tags.
2014-02-26 22:53:12 -08:00
John MacFarlane
a208a972c3 Markdown parser: avoid backtracking when closing </div> not found. 2014-02-26 22:46:38 -08:00