Commit graph

3380 commits

Author SHA1 Message Date
John MacFarlane
a7150bb6b6 Fixed over-eager raw HTML inline parsing.
Tightened up the inline HTML parser so it disallows
TagWarnings.

This only affects the markdown reader when the `markdown_in_html_blocks`
option is disabled.

Closes #2469.
2015-10-22 21:18:06 -07:00
John MacFarlane
a21833b638 Avoid compiler warning for unused identifier. 2015-10-22 21:05:52 -07:00
John MacFarlane
317d9eea17 Changed § to % in operators from Odt.Arrows.Utils.
This prevents problems building haddocks with "C" locale.

Closes #2457.
2015-10-22 17:54:58 -07:00
John MacFarlane
48b68aac43 Textile writer: support start number in ordered lists.
e.g. `#3`.

Partially addresses #2465.
TBD: reader support.
2015-10-22 12:37:40 -07:00
John MacFarlane
8193ebcd99 Allow use of ConTeXt to generate PDFs.
pandoc my.md -t context -o my.pdf

will now create a PDF using ConTeXt rather than LaTeX.

Closes #2463.
2015-10-20 08:16:17 -07:00
mb21
9328f4cd3d LaTeX and ConTeXt writers: support lang attribute on divs and spans
For LaTeX, also collect lang and dir attributes on spans and divs to set the lang,
otherlangs and dir variables if they aren’t set already. See #895.
2015-10-18 17:01:37 +02:00
John MacFarlane
7f4b78c064 Text.Pandoc.Data: store paths in dataFiles using posix separators.
This way we have uniform separators, whether on Windows or Linux.

This should solve a problem where on some Windows versions
the data files weren't being found.

Closes #2459.
2015-10-17 22:04:02 -07:00
John MacFarlane
34d53aff6e Remove compiler warning with embed_data_files. 2015-10-17 21:21:52 -07:00
Andreas Lööw
f0c47907ca Consider header files when determining whether to use csquotes. 2015-10-17 23:04:15 +02:00
John MacFarlane
2357e61748 LaTeX reader: fixed longtable support. 2015-10-15 23:15:40 -07:00
John MacFarlane
504bf3f8e7 Support all frame attributes in Beamer. 2015-10-15 15:11:07 -07:00
John MacFarlane
047cb32dfc Use unicode super/subscripts for digits in plain output. 2015-10-15 14:35:01 -07:00
John MacFarlane
6dc3b6585d More changes to avoid compiler warnings on ghc 7.10.
* CPP around deprecated `parseTime`.
* Text.Pandoc.Compat.Locale -> Text.Pandoc.Compat.Time,
  now exports Data.Time.
2015-10-14 10:06:18 -07:00
John MacFarlane
82b3e0ab97 Use custom Prelude to avoid compiler warnings.
- The (non-exported) prelude is in prelude/Prelude.hs.
- It exports Monoid and Applicative, like base 4.8 prelude,
  but works with older base versions.
- It exports (<>) for mappend.
- It hides 'catch' on older base versions.

This allows us to remove many imports of Data.Monoid
and Control.Applicative, and remove Text.Pandoc.Compat.Monoid.

It should allow us to use -Wall again for ghc 7.10.
2015-10-14 09:09:10 -07:00
John MacFarlane
198862ee40 LaTeX writer: add \protect to \hyperdef in inline context.
This way we don't get an error when this is used as a moveable
argument.

Closes #2136.
2015-10-13 21:48:14 -07:00
John MacFarlane
25e0e0bd2a epub with --webtex: include image file rather than data: URI.
Closes #2363.
2015-10-13 21:19:43 -07:00
John MacFarlane
24f68654e9 RST writer: do header normalization only in "standalone" mode.
If we're producing a fragment, just skip normalization.
After all, the fragment might be somewhere in the middle
of the document.  It's more important for fragments to
have consistency in rendering (so they can be pieced
together) than to normalize.

This closes #2394.  It's simpler and more robust than
my earlier fix.
2015-10-12 23:00:27 -07:00
John MacFarlane
fb51077712 Revert "RST writer: tweaks to header normalization."
This reverts commit 476b383c57.
2015-10-12 22:44:37 -07:00
John MacFarlane
476b383c57 RST writer: tweaks to header normalization.
These changes are intended to make the writer more
useful to people who are processing small fragments,
which may for example look like this:

    ### third level header from previous section

    ## second level header

Previously such fragments got turned into two
headers of the same level.  The new algorithm
avoids doing any normalization until we hit the
minimal-level header in the fragment (here, the
second level header).

Closes #2394.
2015-10-12 22:04:40 -07:00
John MacFarlane
0b91c73456 Removed unnecessary import. 2015-10-11 17:27:00 -07:00
John MacFarlane
1e8a25ad69 Percent-encode more special characters in URLs.
HTML, LaTeX writers adjusted.
The special characters are '<','>','|','"','{','}','[',']','^', '`'.

Closes #1640, #2377.
2015-10-11 17:12:50 -07:00
John MacFarlane
04307a1554 Define Typeable and Exception instances for PandocError.
Closes #2386.
2015-10-11 15:50:41 -07:00
John MacFarlane
0e78eba791 HTML reader/writer: better handling of "section" elements.
Previously `<section>` tags were just parsed as raw HTML
blocks.  With this change, section elements are parsed as
Div elements with the class "section".  The HTML writer will
use `<section>` tags to render these Divs in HTML5; otherwise
they will be rendered as `<div class="section">`.

Closes #2438.
2015-10-11 15:25:49 -07:00
John MacFarlane
60dcaa37d5 Native writer: format Div properly, with blocks separated. 2015-10-11 15:14:35 -07:00
John MacFarlane
72b038d201 Merge pull request #2412 from frerich/reader/docbook/xref_support
Added support for <xref> tag in DocBook reader
2015-10-10 14:18:28 -07:00
John MacFarlane
3e4713c2de Merge pull request #2441 from mb21/polyglossia-lang
Change variable to polyglossia-lang.name and .options
2015-10-10 13:52:36 -07:00
John MacFarlane
5e57beac8d Re-export pandocVersions from Text.Pandoc.
The actual definition has been moved to Text.Pandoc.Shared,
but to avoid breaking changes we reexport it here.
2015-10-10 13:42:02 -07:00
John MacFarlane
4aabcf3d4e Merge pull request #2426 from alexvong1995/better-man-writer
Better man writer (revised)
2015-10-10 13:11:21 -07:00
John MacFarlane
114103d67f LaTeX reader: don't eat excess whitespace after macros.
Really close #2446.
2015-10-09 14:39:42 -07:00
John MacFarlane
1af8bc6f4d LaTeX reader: don't eat whitespace after macro with only opt arg.
Closes #2446.
2015-10-09 10:32:31 -07:00
mb21
80b851a4cf Change variable to polyglossia-lang.name and .options
closes #2437
2015-10-07 22:53:09 +02:00
Ophir Lifshitz
0b899ce7ef Docx Reader: Parse soft, no-break hyphen elements 2015-10-04 06:11:07 -04:00
John MacFarlane
421845202d FIxed typo: Ext_superscript, Ext_subscript. 2015-10-03 16:03:40 -07:00
John MacFarlane
68c02e1d01 For markdown_mmd, add: implicit_figures, superscripts, subscripts.
See #2401.
2015-10-03 15:32:01 -07:00
Alex Vong
319832cc19 Set the template variable $pandoc-version$ to pandocVersion by default.
* src/Text/Pandoc/Writers/Man.hs: Set $pandoc-version$ to be pandocVersion.
2015-10-01 02:24:34 +08:00
Alex Vong
d7a19c22be Move the variable pandocVersion from src/Text/Pandoc.hs to
`src/Text/Pandoc/Shared.hs`, so that all Writers can access this variable
without importing `src/Text/Pandoc.hs`, preventing circular import.

* pandoc.hs: Import pandocVersion from `Text.Pandoc.Shared`.
* src/Text/Pandoc.hs: Remove the definition of pandocVersion
 and relevant import.
* src/Text/Pandoc/Shared.hs: Add the definition of pandocVersion
 and relevant import.
2015-10-01 02:24:34 +08:00
Alex Vong
f5e33e0dce Set the template variable $hyphenate$ to true by default
* src/Text/Pandoc/Writers/Man.hs: Set $hyphenate$ to be true.
2015-10-01 02:24:34 +08:00
John MacFarlane
af8fb5e792 Removed unneeded imports. 2015-09-26 22:56:13 -07:00
John MacFarlane
6532950b26 MediaBag: ensure that / is always used as path separator. 2015-09-26 22:40:58 -07:00
John MacFarlane
fdfc961284 Merge pull request #2419 from mb21/bidi
Support bidirectional text output with XeLaTeX, ConTeXt and HTML
2015-09-26 17:06:56 -07:00
mb21
7b0c1e0d37 Support bidirectional text output with XeLaTeX, ConTeXt and HTML
closes #2191
2015-09-26 22:22:24 +02:00
John MacFarlane
29668552c8 Removed unneeded import. 2015-09-26 10:27:55 -07:00
John MacFarlane
da1b599c96 Correctly recognize book documentclass in metadata.
Closes #2395.
2015-09-25 23:28:38 -07:00
John MacFarlane
dcb0b02aa3 Markdown reader: handle 'id' and 'class' in parsing key/value attrs.
# Header {id="myid" class="foo bar"}

is now equivalent to

    # Header {#myid .foo .bar}

Closes #2396.
2015-09-25 23:01:34 -07:00
Frerich Raabe
eee992520c Improve text generated for <xref> by employing docbook-xsl heuristics
docbook-xsl, a set of XSLT scripts to generate HMTL out of DocBook,
tries harder to generate a nice xref text. Depending on the element
being linked to, it looks at the title or other descriptive child
elements. Let's do that, too.
2015-09-24 18:28:51 +02:00
Frerich Raabe
35f12b5095 Added proper support for DocBook 'xref' elements
'xref' is used to create cross references to other parts of the
document. It is an empty element - the cross reference text depends on
various attributes. Quoting 'DocBook: The Definitive Guide':

  1. If the endterm attribute is specified on xref, the content of the
  element pointed to by endterm will be used as the text of the
  cross-reference.

  2. Otherwise, if the object pointed to has a specified XRefLabel, the
  content of that attribute will be used as the cross-reference text.
2015-09-24 18:26:55 +02:00
Frerich Raabe
f6538144f0 Pass the parsed DocBook content along the state of readDocBook
Having access to the entire document will be needed when handling
elements which refer to other elements. This is needed for e.g. <xref>
or <link>, both of which reference other elements (by the 'id'
attribute) for the label text.

I suppose that in practice, the [Content] returned by parseXML always
only contains one 'Elem' value -- the document element. However, I'm not
totally sure about it, so let's just pass all the Content along.
2015-09-23 19:31:25 +02:00
Frerich Raabe
3564cd82ca Minor refactoring to readDocBook
I plan to use the parsed and normalized XML tree read in readDocBook in
other places - prepare that commit by factoring this code out into a
separate, shared, definition.
2015-09-23 19:25:58 +02:00
John MacFarlane
72e71a1dad LaTeX reader: support longtable.
Closes #2411.
2015-09-23 08:34:37 -07:00
John MacFarlane
f232a0a720 Merge pull request #2369 from mb21/language-variables
`lang` variable is now in BCP47 format
2015-09-22 22:21:06 -07:00