aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
AgeCommit message (Collapse)AuthorFilesLines
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`.
2017-05-28RST reader: use anyLineNewline in rawListItem (#3702)Alexander Krotov1-2/+2
2017-05-27Markdown writer: changes to `--reference-links`.John MacFarlane2-17/+50
With `--reference-location` of `section` or `block`, pandoc will now repeat references that have been used in earlier sections. The Markdown reader has also been modified, so that *exactly* repeated references do not generate a warning, only references with the same label but different targets. The idea is that, with references after every block, one might want to repeat references sometimes. Closes #3701.
2017-05-27Pretty: Eq instance for Doc.John MacFarlane1-2/+2
2017-05-27Org reader: subject full doc tree to headline transformationsAlbert Krewinkel2-6/+37
Emacs parses org documents into a tree structure, which is then post-processed during exporting. The reader is changed to do the same, turning the document into a single tree of headlines starting at levelĀ 0. Fixes: #3695
2017-05-26HTML writer: Removed unused parameter in dimensionsToAttributeList.John MacFarlane1-3/+3
2017-05-25Allow em for image height/width in HTML, LaTeX.John MacFarlane2-6/+21
- Export `inEm` from ImageSize [API change]. - Change `showFl` and `show` instance for `Dimension` so extra decimal places are omitted. - Added `Em` as a constructor of `Dimension` [API change]. - Allow `em`, `cm`, `in` to pass through without conversion in HTML, LaTeX. Closes #3450.
2017-05-25Added `spaced_reference_links` extension.John MacFarlane2-4/+10
This is now the default for pandoc's Markdown. It allows whitespace between the two parts of a reference link: e.g. [a] [b] [b]: url This is now forbidden by default. Closes #2602.
2017-05-25Docx writer: Use Table rather than "Table Normal" for table style.John MacFarlane1-1/+1
"Table Normal" is the default table style and can't be modified. Closes #3275, further testing welcome.
2017-05-25Markdown reader: warn for notes defined but not used.John MacFarlane3-8/+29
Closes #1718. Parsing.ParserState: Make stateNotes' a Map, add stateNoteRefs.
2017-05-25MediaWiki reader: don't do curly quotes inside `<tt>` contexts.John MacFarlane1-1/+10
Even if `+smart`. See #3585.
2017-05-25MediaWiki reader: Make smart double quotes depend on `smart` extension.John MacFarlane1-1/+3
Closes #3585.
2017-05-24Markdown reader: fixed smart quotes after emphasis.John MacFarlane1-5/+6
E.g. in *foo*'s 'foo' Closes #2228.
2017-05-24LaTeX reader: Fixed failures on \ref{}, \label{} with `+raw_tex`.John MacFarlane1-6/+9
Now these commands are parsed as raw if `+raw_tex`; otherwise, their argument is parsed as a bracketed string.
2017-05-24Parsing: Provide parseFromString'.John MacFarlane7-62/+80
This is a verison of parseFromString specialied to ParserState, which resets stateLastStrPos at the end. This is almost always what we want. This fixes a bug where `_hi_` wasn't treated as emphasis in the following, because pandoc got confused about the position of the last word: - [o] _hi_ Closes #3690.
2017-05-24LaTeX reader: parse tikzpicture as raw verbatim environment...John MacFarlane1-0/+14
if `raw_tex` extension is selected. Otherwise skip with a warning. This is better than trying to parse it as text! Closes #3692.
2017-05-24Logging: Made SkippedContent WARNING not INFO.John MacFarlane1-1/+1
2017-05-24HTML reader: Add `details` tag to list of block tags.John MacFarlane1-1/+2
Closes #3694.
2017-05-23Add suggestions of @jgm: parse bracketed stuff as inlinesMarc Schreiber1-3/+9
2017-05-23RST reader: reformatting (code line length).John MacFarlane1-23/+47
2017-05-23RST Reader: parse list table directive (#3688)keiichiro shikano1-1/+28
Closes #3432.
2017-05-23Fixed handling of soft hyphen (0173) in docx writer.John MacFarlane1-7/+19
Closes #3691.
2017-05-23Shared.isURI: allow uppercase versions of known schemes.John MacFarlane1-1/+2
2017-05-23Shared: Provide custom isURI that rejects unknown schemes [isURI]Albert Krewinkel16-48/+81
We also export the set of known `schemes`. The new function replaces the function of the same name from `Network.URI`, as the latter did not check whether a scheme is well-known. E.g. MediaWiki wikis frequently feature pages with names like `User:John`. These links were interpreted as URIs, thus turning internal links into global links. This is prevented by also checking whether the scheme of a URI is frequently used (i.e. is IANA registered or an otherwise well-known scheme). Fixes: #2713 Update set of well-known URIs from IANA list All official IANA schemes (as of 2017-05-22) are included in the set of known schemes. The four non-official schemes doi, isbn, javascript, and pmid are kept.
2017-05-22Let `--eol` take `native` as an argument.John MacFarlane1-12/+13
Add `Native` to the `LineEnding` type. Make `optEol` a `Native` rather than `Maybe Native`.
2017-05-22Move indentWith to Text.Pandoc.Parsing (#3687)Alexander Krotov5-21/+13
2017-05-21Text.Pandoc.App: ToJSON and FromJSON instances for Opts.John MacFarlane3-5/+66
This can be used e.g. to pass options via web interface, such as trypandoc.
2017-05-21Finished implemtation of `--resource-path`.John MacFarlane2-4/+4
* Default is just working directory. * Working directory must be explicitly specifide if `--resource-path` option is used.
2017-05-20PDF: Got --resource-path working with pdf output.John MacFarlane1-4/+7
See #852.
2017-05-20PDF: better error message for non-converted svg images.John MacFarlane1-0/+1
2017-05-20RST reader: make use of anyLineNewline (#3686)Alexander Krotov1-2/+1
2017-05-20Improve SVG image size code.Marc Schreiber1-1/+1
The old code made some unwise assumptions about how the svg file would look. See #3580.
2017-05-20PDF: Refactoring, makePDF is now in PandocIO [API change].John MacFarlane1-13/+8
2017-05-20Added `--resource-path=SEARCHPATH` command line option.John MacFarlane1-1/+12
SEARCHPATH is separated by the usual character, depending on OS (: on unix, ; on windows). Note: This does not yet work for PDF output, because the routine that creates PDFs runs outside PandocMonad. (This has to do with its use of inTemporaryDirectory and its interaction with our exceptions.) The best solution would be to figure out how to move the PDF creation routines into PandocMonad. Second-best, just pass an extra parameter in? See #852.
2017-05-20SelfContained: handle @import with quoted string.John MacFarlane1-11/+25
2017-05-20SelfContained: fixed problem with embedded fonts.John MacFarlane1-13/+41
Closes #3629. However, there is still room for improvement. `@import` with following media declaration is not handled. Also `@import` with a simple filename (rather than `url(...)` is not handled.
2017-05-19RST writer: add empty comments when needed...John MacFarlane1-3/+25
to avoid including a blocquote in the indented content of a preceding block. Closes #3675.
2017-05-18Org reader: fix smart parsing behaviorAlbert Krewinkel2-10/+15
Parsing of smart quotes and special characters can either be enabled via the `smart` language extension or the `'` and `-` export options. Smart parsing is active if either the extension or export option is enabled. Only smart parsing of special characters (like ellipses and en and em dashes) is enabled by default, while smart quotes are disabled. This means that all smart parsing features will be enabled by adding the `smart` language extension. Fine-grained control is possible by leaving the language extension disabled. In that case, smart parsing is controlled via the aforementioned export OPTIONS only. Previously, all smart parsing was disabled unless the language extension was enabled.
2017-05-18Don't render LaTeX images with data: URIs.John MacFarlane1-0/+3
LaTeX can't handle these. Note that --extract-media can be used when the input contains data: URIs. Closes #3636.
2017-05-18Docx writer: Change FigureWithCaption to CaptionedFigure (#3658)Ian1-1/+1
Edit styles.xml as part of the fix for #3656
2017-05-18Don't double extract images from docx.John MacFarlane1-9/+14
This fixes a regression that was introduced when `--extract-media` was generalized to work with any input format. We were getting two versions of each image extracted from a docx, one with a hash, one with the original filename, though only the hash one was used. This patch restores the original behavior (using the original filename). Pointed out in comments on #3674. Thanks to @laperouse.
2017-05-18Markdown: allow attributes in reference links to start on next line.John MacFarlane1-1/+3
This addresses a subsidiary issue in #3674.
2017-05-18Add `--eol` flag and writer option to control line endings.Stefan Dresselhaus2-13/+54
* Add `--eol=crlf|lf` CLI option. * Add `optEol` to `WriterOptions` [API change] * In `Text.Pandoc.UTF8`, add new functions parameterized on `Newline`: `writeFileWith`, `putStrWith`, `putStrLnWith`, `hPutStrWith`, `hPutStrLnWith`. [API change] * Document option in MANUAL.txt. Closes #3663. Closes #2097.
2017-05-17Markdown writer: Fixed duplicated reference linksJohn MacFarlane1-11/+15
with `--reference-links` and `--reference-location=section`. Also ensure that there are no empty link references `[]`. Closes #3674.
2017-05-17Merge pull request #3676 from labdsf/space-charJohn MacFarlane1-1/+1
Txt2Tags parser: newline is not indentation
2017-05-17Merge pull request #3677 from labdsf/anylinenewlineJohn MacFarlane5-8/+7
Move anyLineNewline to Parsing.hs
2017-05-17Move anyLineNewline to Parsing.hsAlexander Krotov5-8/+7
2017-05-17Txt2Tags parser: newline is not indentationAlexander Krotov1-1/+1
space parses '\n', while spaceChar parses only ' ' and '\t'