aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
AgeCommit message (Collapse)AuthorFilesLines
2017-06-17Use Control.Monad.State.Strict throughout.John MacFarlane32-33/+33
This gives 20-30% speedup and reduction of memory usage in most of the writers.
2017-06-12Merge branch 'master' into textcolor-supportschrieveslaach97-2710/+2669
2017-06-12Changed "extracting..." warning to a regular log message.John MacFarlane3-35/+25
This makes it sensitive to proper verbosity settings. (It is now treated as INFO rather than WARNING, so one doesn't get these messages for creation of tmp images while making a pdf.) API changes: * Removed extractMediaBag from Text.Pandoc.MediaBag. * Added Extracting as constructor for LogMessage.
2017-06-12Markdown writer: don't allow soft break in header.John MacFarlane1-0/+7
Closes #3736.
2017-06-11Don't allow backslash + newline to affect block structure.John MacFarlane1-3/+8
Note that as a result of this change, the following, which formerly produced a header with two lines separated by a line break, will now produce a header followed by a paragraph: # Hi\ there This may affect some existing documents that relied on this undocumented and unintended behavior. This change makes pandoc more consistent with other Markdown implementations, and with itself (since the two-space version of a line break doesn't work inside ATX headers, and neither version works inside Setext headers). Closes #3730.
2017-06-11Properly decode source from stdin.John MacFarlane1-2/+1
This should fix the appveyor failures.
2017-06-11Rewrote HTML reader to use Text throughout.John MacFarlane1-137/+194
- Export new NamedTag class from HTML reader. - Effect on memory usage is modest (< 10%).
2017-06-11Support for \faCheck and \faClose (#3727)schrieveslaach1-0/+3
2017-06-11Switched Writer types to use Text.John MacFarlane33-180/+251
* XML.toEntities: changed type to Text -> Text. * Shared.tabFilter -- fixed so it strips out CRs as before. * Modified writers to take Text. * Updated tests, benchmarks, trypandoc. [API change] Closes #3731.
2017-06-10Writers.Shared: metaToJSON, generalized type so it can take a Text.John MacFarlane1-9/+9
Previously a String was needed as argument; now any ToJSON instance will do. API change.
2017-06-10Writers: changed StringWriter -> TextWriter.John MacFarlane1-46/+47
2017-06-10Changed all readers to take Text instead of String.John MacFarlane18-48/+74
Readers: Renamed StringReader -> TextReader. Updated tests. API change.
2017-06-10Readers: Changed StringReader -> TextReader.John MacFarlane1-23/+26
2017-06-10UTF8: export fromText, fromTextLazy.John MacFarlane1-2/+10
2017-06-10App: change readSource(s) to use Text instead of String.John MacFarlane1-10/+14
2017-06-10UTF8: export toText, toTextLazy.John MacFarlane1-17/+27
Define toString, toStringLazy in terms of them.
2017-06-10Rewrote convertTabs to use Text not String.John MacFarlane1-17/+11
2017-06-03Improve code style in lua and org modulesAlbert Krewinkel12-83/+75
2017-06-03Org reader: apply hlint suggestionsAlbert Krewinkel7-89/+84
2017-06-02hlint suggestions.John MacFarlane7-36/+36
2017-06-02Fixed keywords in docx writer.John MacFarlane1-1/+6
(See #3719)
2017-06-02Merge pull request #3719 from iandol/patch-2John MacFarlane1-0/+1
Add keywords metadata to docx core.xml document properties
2017-06-02Fixed HTML reader.John MacFarlane1-2/+3
2017-06-02Add keywords metadata to docx document propertiesIan1-0/+1
Hi, I don't know haskell so possibly this is wrong, but DOCX stores keywords in cp:keywords in core.xml, and this should be easy to add from the pandoc metadata (I copy and paste the author code). As far as I can tell (no clear documentation, just a few refs), keywords should be separated with a comma.
2017-06-01HTML reader: Use sets instead of lists for block tag lookup.John MacFarlane1-50/+43
2017-06-01HTML reader: Removed "button" from block tag list.John MacFarlane1-1/+1
It is already in the eitherBlockOrInlineTag list, and should be both places. Closes #3717. Note: the result of this change is that there will be p tags around the whole paragraph. That is the right result, because the `button` tags are treated as inline HTML here, and the whole chunk of text is a Markdown paragraph.
2017-06-01HTML writer: Avoid two class attributes when adding 'uri' class.John MacFarlane1-7/+7
Closes #3716.
2017-06-01Some hlint refactoring.John MacFarlane2-35/+31
2017-06-01Trivial reformatting.John MacFarlane1-3/+7
2017-06-01Use isNothing.John MacFarlane1-2/+2
2017-06-01Trivial renaming.John MacFarlane1-8/+8
2017-06-01Markdown writer: Avoid inline surround-marking with empty content.John MacFarlane1-0/+5
E.g. we don't want `<strong></strong>` to become `****`. Similarly for emphasis, super/subscript, strikeout. Closes #3715.
2017-06-01LaTeX reader: handle some width specifiers on table columns.John MacFarlane1-3/+13
Currently we only handle the form `0.9\linewidth`. Anything else would have to be converted to a percentage, using some kind arbitrary assumptions about line widths. See #3709.
2017-06-01LaTeX reader: more table refactoring.John MacFarlane1-12/+13
2017-06-01LaTeX reader: Small refactoring of table parsing code.John MacFarlane1-16/+18
This makes room for doing something with widths.
2017-06-01LaTeX reader: Handle block structure inside table cells.John MacFarlane1-18/+18
minipage is no longer required. Closes #3709.
2017-06-01Merge pull request #3714 from tarleb/odt-reader-cleanupJohn MacFarlane7-902/+4
Odt reader: remove dead code
2017-06-01Add \colorbox supportMarc Schreiber1-10/+12
2017-05-31Org reader: respect export option for tagsAlbert Krewinkel3-2/+8
Tags are appended to headlines by default, but will be omitted when the `tags` export option is set to nil. Closes: #3713
2017-05-31Org reader: include tags in headlinesAlbert Krewinkel1-6/+16
The Emacs default is to include tags in the headline when exporting. Instead of just empty spans, which contain the tag name as attribute, tags are rendered as small caps and wrapped in those spans. Non-breaking spaces serve as separators for multiple tags.
2017-05-31Org reader: recognize babel result blocks with attributesAlbert Krewinkel2-22/+22
Babel result blocks can have block attributes like captions and names. Result blocks with attributes were not recognized and were parsed as normal blocks without attributes. Fixes: #3706
2017-05-31Org reader: fix module names in haddock commentsAlbert Krewinkel7-9/+8
Copy-pasting had lead to haddock module descriptions containing the wrong module names.
2017-05-31Odt reader: remove dead codeAlbert Krewinkel7-902/+4
The ODT reader contained a lot of general code useful for working with arrows. However, many of these utils weren't used and are hence removed.
2017-05-30Added eastAsianLineBreakFilter to Shared.John MacFarlane2-11/+13
This used to live in the Markdown reader.
2017-05-29LaTeX reader: handle escaped & inside table cell.John MacFarlane1-3/+5
Closes #3708.
2017-05-29LaTeX reader: don't crash on empty enumerate environment.John MacFarlane1-1/+1
Closes #3707.
2017-05-29Merge pull request #3704 from labdsf/anylinenewlineJohn MacFarlane1-4/+3
Markdown reader: use anyLineNewline
2017-05-28Markdown reader: use anyLineNewlineAlexander Krotov1-4/+3
2017-05-28Org reader: Fix cite parsing behaviourHerwig Stuetz1-2/+10
Until now, org-ref cite keys included special characters also at the end. This caused problems when citations occur right before colons or at the end of a sentence. With this change, all non alphanumeric characters at the end of a cite key are ignored. This also adds `,` to the list of special characters that are legal in cite keys to better mirror the behaviour of org-export.
2017-05-28Parsing: `many1Till`: Check for the end condition before parsingHerwig Stuetz4-7/+8
By not checking for the end condition before the first parse, the parser was applied too often, consuming too much of the input. This fixes the behaviour of `testStringWith (many1Till (oneOf "ab") (string "aa")) "aaa"` which before incorrectly returned `Right "a"`. With this change, it instead correctly fails with `Left (PandocParsecError ...)` because it is not able to parse at least one occurence of `oneOf "ab"` that is not `"aa"`. Note that this only affects `many1Till p end` where `p` matches on a prefix of `end`.