aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-07-14Shared: improve year sanity check in normalizeDateJesse Rosenthal1-6/+6
Previously we parsed a list of dates, took the first one, and then tested its year range. That meant that if the first one failed, we returned nothing, regardless of what the others did. Now we test for sanity before running `msum` over the list of Maybe values. Anything failing the test will be Nothing, so will not be a candidate.
2016-07-14Shared: normalizeDate should reject illegal years.Jesse Rosenthal1-5/+10
We only allow years between 1601 and 9999, inclusive. The ISO 8601 actually says that years are supposed to start with 1583, but MS Word only allows 1601-9999. This should stop corrupted word files if the date is out of that range, or is parsed incorrectly.
2016-07-14Shared: Add further formats for `normalizeDate`Jesse Rosenthal1-1/+2
We want to avoid illegal dates -- in particular years with greater than four digits. We attempt to parse series of digits first as `%Y%m%d`, then `%Y%m`, and finally `%Y`.
2016-07-14Removed some redundant class constraints.John MacFarlane1-3/+3
2016-07-14Merge pull request #3019 from tarleb/org-verbatim-fixJohn MacFarlane1-2/+4
Org reader: fix parsing of verbatim inlines
2016-07-14Fixed exponential parsing bug in textile reader.John MacFarlane1-0/+1
Closes #3020.
2016-07-14Org reader: fix parsing of verbatim inlinesAlbert Krewinkel1-2/+4
Org rules for allowed characters before or after markup chars were not checked for verbatim text. This resultet in wrong parsing outcomes of if the verbatim text contained e.g. space enclosed markup characters as part of the text (`=is_substr = True=`). Forcing the parser to update the positions of allowed/forbidden markup border characters fixes this. This fixes #3016.
2016-07-05Merge pull request #3014 from tarleb/org-writer-divJohn MacFarlane1-7/+41
Org writer: improve Div handling
2016-07-05Org writer: improve Div handlingAlbert Krewinkel1-7/+41
Div blocks handling is changed to make the output look more like idiomatic org mode: - Div-wrapped content is output as-is if the div's attribute is the null attribute. - Div containers with an id but neither classes nor key-value pairs are unwrapped and the id is added as an anchor. - Divs with classes associated with greater block elements are wrapped in a `#+BEGIN`...`#+END` block. - The old behavior for Divs with more complex attributes is kept.
2016-07-04Org reader: replace ugly code with view patternAlbert Krewinkel1-5/+4
Some less-than-smart code required a pragma switching of overlapping pattern warnings in order to compile seamlessly. Using view patterns makes the code easier to read and also doesn't require overlapping pattern checks to be disabled.
2016-07-03Merge pull request #3010 from tarleb/org-header-treeJohn MacFarlane4-247/+386
Org reader: support archived trees, headline levels export setting
2016-07-03Odt reader: Removed redundant Monoid constraints.John MacFarlane1-7/+7
2016-07-03Fix warning for parseURl import.John MacFarlane1-2/+3
2016-07-03CPP workaround for deprecation of parseUrl in http-client.John MacFarlane1-6/+14
2016-07-03Org reader: support headline levels export settingAlbert Krewinkel3-8/+40
The depths of headlines can be modified using the `H` option. Deeper headlines will be converted to lists.
2016-07-03Allow 'standout' as a beamer frame option.John MacFarlane1-1/+1
## Slide title {.standout} Closes #3007.
2016-07-02Org reader: put export setting parser into moduleAlbert Krewinkel3-191/+191
Export option parsing is distinct enough from general block parsing to justify putting it into a separate module.
2016-07-01LaTeX reader: strip off double quotes around image source if present.John MacFarlane1-1/+8
Avoids interpreting these as part of the literal filename. See #2825.
2016-07-01LaTeX writer: don't URI-escape image source.John MacFarlane1-1/+1
Usually this is a local file, and replacing spaces with `%20` ruins things. Closes #2825.
2016-07-01Org reader: support archived trees export optionsAlbert Krewinkel2-8/+62
Handling of archived trees can be modified using the `arch` option. Archived trees are either dropped, exported completely, or collapsed to include just the header when the `arch` option is nil, non-nil, or `headline`, respectively.
2016-07-01Org reader: refactor comment tree handlingAlbert Krewinkel2-39/+21
Comment trees were handled after parsing, as pattern matching on lists is easier than matching on sequences. The new method of reading documents as trees allows for more elegant subtree removal.
2016-07-01Org reader: parse as headlines, convert to blocksAlbert Krewinkel1-47/+86
Emacs org-mode is based on outline-mode, which treats documents as trees with headlines are nodes. The reader is refactored to parse into a similar tree structure. This simplifies transformations acting on document (sub-)trees.
2016-07-01Org reader: improve tag and properties type safetyAlbert Krewinkel1-25/+57
Specific newtype definitions are used to replace stringly typing of tags and properties. Type safety is increased while readability is improved.
2016-07-01ZimWiki writer: removed commented out code that confused Haddock.John MacFarlane1-8/+8
See https://travis-ci.org/jgm/pandoc/jobs/141542247
2016-06-30Added Zim Wiki writer, template and tests.Alex Ivkin2-0/+364
2016-07-01Docx writer: set paragraph to FirstPara after display mathJesse Rosenthal1-0/+1
We treat display math like block quotes, and apply FirstParagraph style to paragraphs that follow them. These can be styled as the user wishes. (But, when the user is using indentation, this allows for paragraphs to continue after display math without indentation.)
2016-07-01Writers: treat SoftBreak as space for strippingJesse Rosenthal1-0/+1
In Writers.Shared, we strip leading and trailing spaces for display math. Since SoftBreak's are treated as spaces, we should strip those too.
2016-06-29LaTeX reader: fixed `\cite` so it is a NormalCitation not AuthorInText.John MacFarlane1-2/+2
2016-06-26Merge pull request #3001 from tarleb/org-figure-labelJohn MacFarlane1-1/+6
Org reader: support figure labels
2016-06-26Org reader: support figure labelsAlbert Krewinkel1-1/+6
Figure labels given as `#+LABEL: thelabel` are used as the ID of the respective image. This allows e.g. the LaTeX to add proper `\label` markup. This fixes half of #2496 and #2999.
2016-06-25Textile reader: Fix overly aggressive interpretation as images.John MacFarlane1-7/+4
Spaces are not allowed in the image URL in textile. Closes #2998.
2016-06-25Fixed RST links with no explicit link text.John MacFarlane1-1/+4
The link `<foo>`_ should have `foo` as both its link text and its URL. See RST spec at <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris-and-aliases> "The reference text may also be omitted, in which case the URI will be duplicated for use as the reference text. This is useful for relative URIs where the address or file name is also the desired reference text: See `<a_named_relative_link>`_ or `<an_anonymous_relative_link>`__ for details." Closes Debian #828167 -- reported by Christian Heller.
2016-06-24Make --webtex work with the Markdown writer.John MacFarlane1-12/+17
Closes #1177. This is a convenient option for people using websites whose Markdown flavors don't provide for math.
2016-06-23Process markdown extensions on command line in L->R order.John MacFarlane1-1/+1
Previously they were processed, very unintuitively, in R->L order, so that `markdown-tex_math_dollars+tex_math_dollars` had `tex_math_dollars` disabled. Closes #2995.
2016-06-23Textile reader: fixed attributes.John MacFarlane1-1/+3
Attributes can't be followed by a space. So, _(class)emph_ but _(noclass) emph_ Closes #2984.
2016-06-23Markdown writer: use raw HTML for simple, pipe tables with linebreaks.John MacFarlane1-1/+5
Markdown line breaks involve a newline, and simple and pipe tables can't contain one. Closes #2993.
2016-06-23Docx reader: Add warning for advanced comment formatting.Jesse Rosenthal1-2/+18
We can't guarantee we'll convert every comment correctly, though we'll do the best we can. This warns if the comment includes something other than Para or Plain.
2016-06-23docx reader: enable warnings in top-level readerJesse Rosenthal1-6/+10
Previously we had only allowed for warnings in the parser. Now we allow for them in the `Docx.hs` as well. The warnings are simply concatenated.
2016-06-23Docx reader: add simple comment functionality.Jesse Rosenthal2-1/+73
This adds simple track-changes comment parsing to the docx reader. It is turned on with `--track-changes=all`. All comments are converted to inlines, which can list some information. In the future a warning will be added for comments with formatting that seems like it will be excessively denatured. Note that comments can extend across blocks. For that reason there are two spans: `comment-start` and `comment-end`. `comment-start` will contain the comment. `comment-end` will always be empty. The two will be associated by a numeric id.
2016-06-23Shared: Add BlockQuote to blocksToInlinesJesse Rosenthal1-0/+1
2016-06-23Shared: introduce blocksToInlines functionJesse Rosenthal1-0/+37
This is a lossy function for converting `[Block] -> [Inline]`. Its main use, at the moment, is for docx comments, which can contain arbitrary blocks (except for footnotes), but which will be converted to spans. This is, at the moment, pretty useless for everything but the basic `Para` and `Plain` comments. It can be improved, but the docx reader should probably emit a warning if the comment contains more than this.
2016-06-22Merge pull request #2992 from tarleb/org-partial-functionsJohn MacFarlane2-19/+21
Org reader: remove partial functions
2016-06-22HTML writer: Better support for raw LaTeX environments.John MacFarlane1-12/+41
Previously we just passed all raw TeX through when MathJax was used for HTML math. This passed through too much. With this patch, only raw LaTeX environments that MathJax can handle get passed through. This patch also causes raw LaTeX environments to be treated as math, when possible, with MathML and WebTeX output. Closes #2758.
2016-06-21Org reader: remove partial functionsAlbert Krewinkel2-19/+21
Partial functions like `head` lead to avoidable errors and should be avoided. They are replaced with total functions. This fixes #2991.
2016-06-20Changed email-obfuscation default to no obfuscation.John MacFarlane1-1/+1
- `writerEmailObfuscation` in `defaultWriterOptions` is now `NoObfuscation` - the default for the command-line `--email-obfuscation` option is now `none`. Closes #2988.
2016-06-13Org reader: support arbitrary raw inlinesAlbert Krewinkel1-1/+9
Org mode allows arbitrary raw inlines ("export snippets" in Emacs parlance) to be included as `@@format:raw foreign format text@@`. Support for this features is added to the Org reader.
2016-06-13Org writer: support arbitrary raw inlinesAlbert Krewinkel1-3/+4
Org mode allows arbitrary raw inlines ("export snippets" in Emacs parlance) to be included as `@@format:raw foreign format text@@`. Support for this features is added to the Org writer.
2016-06-07Docbook writer: Declare xlink namespace in Docbook5 outputIvo Clarysse1-1/+1
2016-06-05Org reader: add support for "Berkeley-style" citesAlbert Krewinkel2-7/+127
A specification for an official Org-mode citation syntax was drafted by Richard Lawrence and enhanced with the help of others on the orgmode mailing list. Basic support for this citation style is added to the reader. This closes #1978.
2016-06-05Org reader: add semicolon to list of special charsAlbert Krewinkel1-1/+1
Semicolons are used as special characters in citations syntax. This ensures the correct parsing of Pandoc-style citations: [prefix; @key; suffix] Previously, parsing would have failed unless there was a space or other special character as the last <prefix> character.