aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-03-15Introduce file-scope parsing (parse-before-combine)Jesse Rosenthal1-0/+2
Traditionally pandoc operates on multiple files by first concetenating them (around extra line breaks) and then processing the joined file. So it only parses a multi-file document at the document scope. This has the benefit that footnotes and links can be in different files, but it also introduces a couple of difficulties: - it is difficult to join files with footnotes without some sort of preprocessing, which makes it difficult to write academic documents in small pieces. - it makes it impossible to process multiple binary input files, which can't be catted. - it makes it impossible to process files from different input formats. This commit introduces alternative method. Instead of catting the files first, it parses the files first, and then combines the parsed output. This makes it impossible to have links across multiple files, and auto-identified headers won't work correctly if headers in multiple files have the same name. On the other hand, footnotes across multiple files will work correctly and will allow more freedom for input formats. Since ByteStringReaders can currently only read one binary file, and will ignore subsequent files, we also changes the behavior to automatically parse before combining if using the ByteStringReader. If we use one file, it will work as normal. If there is more than one file it will combine them after parsing (assuming that the format is the same). Note that this is intended to be an optional method, defaulting to off. Turn it on with `--file-scope`.
2016-03-12Add a general ByteStringReader with warnings.Jesse Rosenthal1-1/+9
Have docx reader use it.
2016-03-12Add readDocxWithWarningsJesse Rosenthal1-6/+15
The regular readDocx just becomes a special case.
2016-03-12Docx Reader: Add state to the parser, for warningsJesse Rosenthal1-6/+19
In order to be able to collect warnings during parsing, we add a state monad transformer to the D monad. At the moment, this only includes a list of warning strings (nothing currently triggers them, however). We use StateT instead of WriterT to correspond more closely with the warnings behavior in T.P.Parsing.
2016-03-10Fixed behavior of base tag.John MacFarlane1-17/+11
+ If the base path does not end with slash, the last component will be replaced. E.g. base = `http://example.com/foo` combines with `bar.html` to give `http://example.com/bar.html`. + If the href begins with a slash, the whole path of the base is replaced. E.g. base = `http://example.com/foo/` combines with `/bar.html` to give `http://example.com/bar.html`. Closes #2777.
2016-03-10 Docx Writer: handle image alt textmb211-2/+2
closes #2754
2016-03-09Markdown reader: Improved pipe table parsing.John MacFarlane1-15/+15
Fixes #2765. Added test case.
2016-03-09Markdown reader: Clean up pipe table parsing.John MacFarlane1-8/+8
2016-03-09Markdown reader: allow `+` separators in pipe table cells.John MacFarlane1-6/+4
We already allowed them in the header, but not in the body rows, for some reason. This gives compatibility with org-mode tables.
2016-03-09Markdown reader: don't cross line boundary parsing pipe table row.John MacFarlane1-1/+7
Previously an emph element could be parsed across the newline at the end of the pipe table row. I thought this would help with #2765, but it doesn't.
2016-03-08DokuWiki writer: use $$ for display math.John MacFarlane1-1/+4
2016-03-08Docx reader: update feature checklist.Jesse Rosenthal1-5/+3
The feature checklist in the source code was out of date. Update.
2016-02-28LaTeX reader: handle interior `$` characters in math.John MacFarlane1-4/+12
e.g. `$$\hbox{$i$}$$`. Partially addresses #2743.
2016-02-26Docx Reader: Get rid of Modifiable typeclass.Jesse Rosenthal3-198/+169
The docx reader used to use a Modifiable typeclass to combine both Blocks and Inlines. But all the work was in the inlines. So most of the generality was wasted, at the expense of making the code harder to understand. This gets rid of the generality, and adds functions for Blocks and Inlines. It should be a bit easier to work with going forward.
2016-02-23Make protocol-relative URIs work again.John MacFarlane1-2/+4
Closes #2737.
2016-02-21Markdown reader: use htmlInBalanced for rawVerbatimBlock.John MacFarlane1-7/+5
This should give better performance. See #2730.
2016-02-20Fixed some linter warnings.John MacFarlane1-3/+3
2016-02-20Merge pull request #2646 from tarleb/org-figure-with-no-nameJohn MacFarlane1-3/+3
Prefix even empty figure names with "fig:"
2016-02-20Merge pull request #2668 from monofon/fix/yaml-metadata-block-bottom-lineJohn MacFarlane1-1/+1
Markdown writer: Use hyphens for yaml metadata block bottom line
2016-02-20Merge pull request #2691 from tarleb/org-image-file-linksJohn MacFarlane1-29/+29
Org reader: Refactor link-target processing
2016-02-20HTML reader: rewrote htmlInBalanced.John MacFarlane1-10/+39
This version avoids an exponential performance problem with `<script>` tags, and it should be faster in general. Closes #2730.
2016-02-18LaTeX writer: clean up options parser.Jesse Rosenthal1-3/+4
Make sure that we require the closing bracket.
2016-02-18LaTeX writer: treat memoir template with `article` opt as articleJesse Rosenthal1-6/+21
We currently treat all memoir templates as books. This means that pandoc will infer the `--chapters` argument, even if the `article` iption is set for memoir. This commit makes pandoc treats the document as an article if there is an article option (i.e., `\documentclass[12pt,article]{memoir}`). Note that this refactors out the parsec parsers for document class and options, to make it a little clearer what's going on.
2016-02-16HTML reader: properly handle an empty cell in a simple table.John MacFarlane1-0/+1
Closes #2718.
2016-02-09Removed `tex_math_single_backslash` from `markdown_github` options.John MacFarlane1-1/+0
Closes #2707.
2016-02-05Custom writer: Pass attributes parameter to CaptionedImage.John MacFarlane1-2/+2
Closes #2697.
2016-02-04Markdown reader: Fixed bug with smart quotes around tex math.John MacFarlane1-2/+2
Previously smart quotes were incorrect in the following: '$\neg(x \in x)$'. (because of the following period). This commit fixes the problem, which was introduced by commit 4229cf2d92faf5774fe1a3a9c89a5de885cf75cd.
2016-02-03HTML writer: don't include alignment attribute for default table columns.John MacFarlane1-2/+5
Previously these were given "left" alignment. Better to leave off alignment attributes altogether. Closes #2694.
2016-02-02Docx reader: Add a "Link" modifier to ReducibleJesse Rosenthal1-0/+2
We want to make sure that links have their spaces removed, and are appropriately smushed together. This closes #2689
2016-01-31Org reader: Refactor link-target processingAlbert Krewinkel1-29/+29
Cleanup of the code for link target handling. Most notably, the canonicalization of a link is handled by a separate function. This fixes #2684.
2016-01-31LaTeX reader: `inlineCommand` now gobbles an empty `{}` after any command.John MacFarlane1-1/+2
This gives better results when people write e.g. `\TeX{}` in Markdown. \TeX{} and \LaTeX{} now works as expected with `pandoc -f markdown -t latex`. Closes #2687.
2016-01-29HTML reader: handle multiple meta tags with same name.John MacFarlane1-2/+6
Put them in a list in the metadata so they are all preserved, rather than (as before) throwing out all but one..
2016-01-29Properly handle LaTeX "math" environment as inline math.John MacFarlane1-0/+1
See #2171.
2016-01-25Textile reader: Support `>`, `<`, `=`, `<>` text alignment attributes.John MacFarlane1-2/+19
Closes #2674.
2016-01-24Make language extensions trigger highlighting.John MacFarlane1-1/+2
For example, `py` will now work as well as `python`. Closes jgm/highlighting-kate#83.
2016-01-22Changed type of Shared.uniqueIdent argument from [String] to Set String.John MacFarlane11-31/+39
This avoids performance problems in documents with many identically named headers. Closes #2671.
2016-01-21Merge pull request #2638 from c-forster/teiwriterJohn MacFarlane2-0/+323
Add TEI Writer.
2016-01-21Markdown writer: Use hyphens for yaml metadata block bottom lineHenrik Tramberend1-1/+1
2016-01-20LaTeX writer: Allow more flexible table alignmentHenrik Tramberend1-1/+1
2016-01-19Added some entity tests in Markdown reader tests.John MacFarlane1-6/+6
Change types of divs. From Docbook "sect#" and "simplesect" to "level#" and "section." Add tests. Add mention of TEI to README. Small changes to TEI writer.
2016-01-19Add TEI Writer.csforste2-0/+323
2016-01-14HTML writer: harmless code simplification.John MacFarlane1-34/+32
Since the 'math' is only put into the template if stMath is set anyway, there's no need for this conditional.
2016-01-13Org writer - pass through RawInline with format "org".John MacFarlane1-2/+7
2016-01-11Prefix even empty figure names with "fig:"Albert Krewinkel1-3/+3
The convention used by pandoc for figures is to mark them by prefixing the name with "fig:". The org reader failed to do this if a figure had no name. The test for this was broken as well. This fixes #2643.
2016-01-11Depend on deepseq rather than deepseq-generics.John MacFarlane1-1/+1
See fpco/stackage#1096.
2016-01-11Fixed regression in latex smart quote parsing.John MacFarlane1-4/+5
Closes #2645. In cases where a match was not found for a quote, everything from the open quote to the end of the paragraph was being dropped.
2016-01-10LaTeX writer: figure labelmb211-19/+24
2016-01-09LaTeX writer: restore old treatment of Span.John MacFarlane1-17/+15
A Span is rendered with surrounding {braces}. This was a regression in 1.16. Closes #2624.
2016-01-08Fixed shadowing warning.John MacFarlane1-1/+1
2016-01-08Work around tagsoup bug - not allowing uppercase x in hex entities.John MacFarlane2-0/+2
Issue submitted at tagsoup.