Commit graph

1448 commits

Author SHA1 Message Date
John MacFarlane
e1d6be4e30 LaTeX reader: recognize \newpage as a block command. 2015-04-22 08:48:25 -07:00
John MacFarlane
e9d7504bea Rewrote charsInBalancedBrackets.
This version should be a bit more efficient.

This doesn't help with #1735, however.
2015-04-19 17:04:33 -07:00
Nikolay Yakimov
e83968412e MD Reader: Fix links/footnotets after citations
Footnotes: check if '^' follows '['
Links: check if '[' or '(' follows ']'
Shorthand links: attempt to lazily parse suffix as referenceLink
2015-04-20 01:47:02 +03:00
John MacFarlane
1a69896d8f Revert "Merge pull request #1947 from mpickering/Fmonad"
Closes #2062.

This reverts commit c302bdcdbe, reversing
changes made to b983adf0d0.

Conflicts:
	src/Text/Pandoc/Parsing.hs
	src/Text/Pandoc/Readers/Markdown.hs
	src/Text/Pandoc/Readers/Org.hs
	src/Text/Pandoc/Readers/RST.hs
2015-04-18 19:00:32 -07:00
John MacFarlane
d3544dc6f7 Markdown definition lists: don't require indent for first line.
Previously the body of the definition (after the `:` or `~` marker)
needed to be in column 4.  This commit relaxes that requirement,
to better match the behavior of PHP Markdown Extra.  So, now
this is a valid definition list:

    foo
    : bar

This patch also helps resolve a potentially ambiguity with table
captions:

    foo

      : bar

      -----
      table
      -----

Is "bar" a definition, or the caption for the table?  We'll count
it as a caption for the table.

Closes #2087.
2015-04-18 10:13:32 -07:00
John MacFarlane
10e28ef750 More principled fix for #1820.
If the tag parses as a comment, we check to see if the
input starts with `<!--`. If not, it's bogus comment mode
and we fail htmlTag.

Includes test case.  Closes #1820.
2015-04-17 22:56:33 -07:00
John MacFarlane
fb143be038 Merge pull request #2092 from lierdakil/issue1909
MD Reader: Smart apostrophe after inline math
2015-04-17 18:55:35 -07:00
John MacFarlane
13b230a1b5 Fixed htmlTag in HTML reader.
Require that `<!` or `<?` be followed by nonspace.
This prevents `</ div>` from being parsed as a comment.

Closes #1820.
2015-04-17 18:35:49 -07:00
Nikolay Yakimov
4229cf2d92 MD Reader: Smart ' after inline math
Closes #1909.

Adds new parser combinator to Parsing.hs

`a <+?> b`

:   if a succeeds, applies b and mappends
    output (if any) to result of a. If b fails,
    it's just a, if a fails, whole expression fails.
2015-04-18 01:23:41 +03:00
Nikolay Yakimov
b92d49092f LaTeX Reader: Code cleanup 2015-04-12 14:50:38 +03:00
John MacFarlane
5a33032560 Removed redundat import. 2015-04-07 23:26:20 -07:00
John MacFarlane
250fbef94d DocBook reader: look inside "info" elements for section titles.
Closes #1931.
2015-04-07 22:15:20 -07:00
Julien Cretel
b28c846018 Markdown Reader: eliminate common subexpressions 2015-04-07 13:46:32 +01:00
Nikolay Yakimov
f1eb1ab9cf Latex Reader: Block commands code cleanup 2015-03-31 14:32:42 +03:00
Nikolay Yakimov
6a0d500f99 Latex Reader: Guard against para starting with inline macro 2015-03-30 06:42:15 +03:00
Nikolay Yakimov
f3e8274d04 LaTeX Reader: check for block-level newcommand aliases in blockCommand 2015-03-30 05:37:00 +03:00
John MacFarlane
2d2e4c9ab2 Merge branch 'master' of https://github.com/rootzlevel/pandoc into rootzlevel-master
Conflicts:
	src/Text/Pandoc/Readers/Org.hs
2015-03-28 21:09:38 -07:00
John MacFarlane
6a3a04c428 Merge branch 'errortype' of https://github.com/mpickering/pandoc into mpickering-errortype
Conflicts:
	benchmark/benchmark-pandoc.hs
	src/Text/Pandoc/Readers/Markdown.hs
	src/Text/Pandoc/Readers/Org.hs
	src/Text/Pandoc/Readers/RST.hs
	tests/Tests/Readers/LaTeX.hs
2015-03-28 12:12:48 -07:00
Nikolay Yakimov
5f7639a0d6 Markdown Reader: Require nonempty value in mmd title block
`many1Till` will gobble up newline, and then whole following line will
match, so I had to use guard here.
2015-03-28 07:07:03 +03:00
Nikolay Yakimov
7091002966 Markdown Reader: Req. " " after key in mmd title block
Require space after key-value delimiter colon in mmd title block.
Issue #2026
Amend: parsec's `spaces` include newlines, but we don't want that. Had
to make custom `spaceNoNewline` parser here
2015-03-28 07:05:02 +03:00
Nikolay Yakimov
6960b2a4cc Markdown Reader: Disable meta exts for meta values
Disable all metadata block extensions when parsing metadata field
values. Issue #2026
2015-03-28 02:53:33 +03:00
Nikolay Yakimov
d09b7593f6 Docx Writer: Fix StyleMap
I've messed up badly with it, so it didn't work properly most of the
time. At the plus side, fallback mechanic is working wonderfully.
2015-03-24 19:24:29 +03:00
John MacFarlane
75a2a7ba69 Allow pipe tables with header but no body.
Closes #2017.
2015-03-23 20:26:56 -07:00
Matthew Pickering
65d67dcb51 Fix accidently usage of list monad instance 2015-03-23 00:14:02 +00:00
Matthew Pickering
84d6703ea7 Add missing import 2015-03-22 23:31:08 +00:00
Matthew Pickering
4ce6471c12 Factor out "returnState" into Parsing module 2015-03-22 21:47:28 +00:00
Matthew Pickering
9e150dd7cf HLint changes 2015-03-22 21:47:28 +00:00
Matthew Pickering
17b317268b Remove F Monad from Markdown reader 2015-03-22 21:47:28 +00:00
Matthew Pickering
de093b4e6e Remove F monad from Parsing 2015-03-22 20:11:30 +00:00
Matthew Pickering
5dc902cbcc Changed parseWithWarnings to the more general returnWarnings parser transformer 2015-03-22 20:11:30 +00:00
Matthew Pickering
f6419a2691 Remove F monad from Org Reader. 2015-03-22 20:11:29 +00:00
John MacFarlane
0a82e7e4b1 Fixed a compiler warning. 2015-03-17 17:06:19 -07:00
John MacFarlane
e0d234e54d Added CommonMark reader using cmark (libcmark bindings).
- Added commonmark as an input format.
- Added `Text.Pandoc.Readers.CommonMark.readCommonMark`.
- For now, we use the markdown writer to generate benchmark
  text for the CommonMark reader.  We can change this when we
  get a writer.
2015-03-17 16:15:57 -07:00
John MacFarlane
619b2e8ca2 Merge pull request #1968 from lierdakil/issue1607
Fixes for multiple docx writer style bugs.
2015-03-16 12:02:40 -07:00
John MacFarlane
0deb7c507d Merge pull request #1989 from zudov/shortcut_ref_link_pr
Support shortcut reference links in markdown writer
2015-03-15 11:58:30 -07:00
John MacFarlane
3b962a5277 Properly gobble spaces after \\.
Closes #2007.
2015-03-14 23:12:04 -07:00
John MacFarlane
348b383731 LaTeX reader: allow block content in \title{}.
Closes #2001.
2015-03-14 23:11:04 -07:00
Konstantin Zudov
b9f77ed03d Support shortcut reference links in markdown writer
Issue #1977

Most markdown processors support the [shortcut format] for reference links.
Pandoc's markdown reader parsed this shortcuts unoptionally.
Pandoc's markdown writer (with --reference-links option) never shortcutted links.

This commit adds an extension `shortcut_reference_links`. The extension is
enabled by default for those markdown flavors that support reading shortcut
reference links, namely:

    - pandoc
    - strict pandoc
    - github flavoured
    - PHPmarkdown

If extension is enabled, reader parses the shortcuts in the same way as
it preveously did. Otherwise it would parse them as normal text.

If extension is enabled, writer outputs shortcut reference links unless
doing so would cause problems (see test cases in `tests/Tests/Writers/Markdown.hs`).
2015-03-10 20:32:24 +02:00
Craig S. Bosma
513221f822 Org reader: add support for smart punctuation 2015-03-09 07:11:53 -05:00
Mathias Schenner
12bf0ff3e5 LaTeX reader: allow non-empty colsep in tables
The `tabular` environment allows non-empty column separators
with the "@{...}" syntax. Previously, pandoc would fail to
parse tables if a non-empty colsep was present. With this
commit, these separators are still ignored, but the table gets
parsed. A test case is included.
2015-03-08 15:47:39 +01:00
Mathias Schenner
1e3ef0e36f LaTeX reader: allow valign argument in tables
The `tabular` environment takes an optional parameter for
vertical alignment. Previously, pandoc would fail to parse
tables if this parameter was present. With this commit,
the parameter is still ignored, but the table gets
parsed. A test case is included.
2015-03-08 15:39:18 +01:00
John MacFarlane
efdc1691fa LaTeX reader: ignore options in \lstinline.
Rather than raising a parse error.  Closes #1997.
2015-03-07 19:58:49 -08:00
John MacFarlane
0b42eb5f58 MediaWiki writer: spaces to underscores in wikilink URL.
This mimics MediaWiki itself.  Closes #1982.
2015-03-07 10:58:56 -08:00
John MacFarlane
48eaadc57f Fixed pipe tables -- headerless tables are not allowed.
GFM and PHP Markdown Extra pipe tables require headers.
Previously pandoc allowed pipe tables not to include headers,
and produced headerless pipe tables in Markdown output, but this
was based on a misconception about pipe table syntax. This
commit fixes this.

Note:  If you have been using headerless pipe tables, this may
cause existing tables to break.

Closes #1996.
2015-03-07 10:40:13 -08:00
Nikolay Yakimov
65c80822e7 Code cleanup 2015-03-03 13:08:52 +03:00
Nikolay Yakimov
409111f647 Started moving StyleMap out of writer code 2015-03-01 22:57:35 +03:00
John MacFarlane
47bfdca049 Markdown reader: check for tex macros after indented code.
Closes #1973.
2015-02-25 08:33:42 -08:00
Hans-Peter Deifel
2ca5101113 Org reader: Allow image links with non-image targets
Org-Mode's own html exporter converts the following org link:

  [[http://example.com][https://www.haskell.org/static/img/logo.png]]

to

  <a href="http://example.com">
  <img src="https://www.haskell.org/static/img/logo.png" alt="logo.png" />
  </a>

but pandoc generates:

  <a href="http://example.com">
  <a href="https://www.haskell.org/static/img/logo.png" class="uri">
   https://www.haskell.org/static/img/logo.png
  </a>
  </a>

which is useless. With this patch, it generates:

  <a href="http://example.com">
  <img src="https://www.haskell.org/static/img/logo.png" alt="" />
  </a>
2015-02-25 16:58:48 +01:00
Jesse Rosenthal
a7c67c897e Docx reader: Minor cleanup.
The previous commits had some code repetition. This just makes it a bit
easier to read.
2015-02-21 09:18:53 -05:00
Jesse Rosenthal
55d2ce751a Docx reader: allow sub/superscript verbatims.
Verbatim usually shuts off all other run styles, but we don't want it to
shut off sub/superscript.
2015-02-21 08:41:09 -05:00