aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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'
2017-05-16Org reader: replace `sequence . map` with `mapM`Albert Krewinkel2-3/+3
2017-05-16Org reader: put tree parsing code into dedicated moduleAlbert Krewinkel2-210/+262
2017-05-16Merge pull request #3671 from WUUUGI/horizont-spacingJohn MacFarlane1-1/+1
Added support for horizontal spacing in LaTeX
2017-05-15Textile reader: fix bug for certain links in table cells.John MacFarlane1-2/+5
Closes #3667.
2017-05-15Added support for horizontal spacing in LaTeX: parse \, to \8198 (six-per-em ↵Henri Werth1-1/+1
space)
2017-05-14Org reader: add basic file inclusion mechanismAlbert Krewinkel3-5/+43
Support for the `#+INCLUDE:` file inclusion mechanism was added. Recognized include types are *example*, *export*, *src*, and normal org file inclusion. Advanced features like line numbers and level selection are not implemented yet. Closes: #3510
2017-05-14Parsing: add `insertIncludedFilesF` which returns F blocksAlbert Krewinkel1-7/+24
The `insertIncludeFiles` function was generalized and renamed to `insertIncludedFiles'`; the specialized versions are based on that.
2017-05-14Parsing: introduce `HasIncludeFiles` type classAlbert Krewinkel1-9/+22
The `insertIncludeFile` function is generalized to work with all parser states which are instances of that class.
2017-05-14Parsing: replace partial with total functionAlbert Krewinkel1-1/+1
Calling `tail` on an empty list raises an exception, while calling the otherwise equivalent `drop 1` will return the empty list again.
2017-05-13Update dates in copyright noticesAlbert Krewinkel71-138/+144
This follows the suggestions given by the FSF for GPL licensed software. <https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>
2017-05-13Add haddock module description to FB2 writerAlbert Krewinkel1-1/+11
Copyright, maintainer etc. were missing in haddock docs for this module.
2017-05-13Change maintainer line in Org writer moduleAlbert Krewinkel1-1/+1
2017-05-12Replace `repeat' and `take' with `replicate' once moreAlexander Krotov1-1/+1
2017-05-11Combine grid table parsersAlbert Krewinkel2-101/+52
The grid table parsers for markdown and rst was combined into one single parser, slightly changing parsing behavior of both parsers: - The markdown parser now compactifies block content cell-wise: pure text blocks in cells are now treated as paragraphs only if the cell contains multiple paragraphs, and as plain blocks otherwise. Before, this was true only for single-column tables. - The rst parser now accepts newlines and multiple blocks in header cells. Closes: #3638
2017-05-07Markdown writer: missing \n (#3647)David A Roberts1-1/+1
2017-05-07Muse writer: Indent tables with one space (#3649)Alexander Krotov1-2/+2
It is required to trigger Muse table rendering.
2017-05-07Rename fillMedia -> fillMediaBag.John MacFarlane3-7/+8
2017-05-07PDF: use fillMedia and extractMedia to extract media to tmp dir.John MacFarlane1-39/+11
This reduces code duplication. We should be able to do something similar in ODT, Docx, EPUB writers.
2017-05-07Moved fillMedia, extractMedia from App to Class.John MacFarlane2-52/+56
Also generalized type of fillMedia to any instance of PandocMonad.
2017-05-07Added PandocHttpException, trap exceptions in fetching from URLs.John MacFarlane4-9/+26
Closes #3646.
2017-05-07Remove https flag.John MacFarlane1-21/+0
Supporting two completely different libraries for fetching from URLs makes it difficult to trap errors, because of different error types expected from the libraries. There's no clear reason not to build with these https-capable libraires.
2017-05-07fillMediaBag: don't cause fatal error if resource not found.John MacFarlane1-10/+19
Report warning instead and change image to its alt text.
2017-05-07Allow `--extract-media` to work with non-binary input formats.John MacFarlane1-4/+26
If `--extract-media` is supplied with a non-binary input format, pandoc will attempt to extract the contents of all linked images, whether in local files, data: uris, or external uris. They will be named based on the sha1 hash of the contents. Closes #1583, #2289. Notes: - One thing that is slightly subideal with this commit is that identical resources will be downloaded multiple times. To improve this we could have mediabag store an original filename/url + a new name. - We might think about reusing some of this code, since more or less the same thing is done in the Docx, EPUB, PDF writers (with slight variations).