aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Shared.hs
AgeCommit message (Collapse)AuthorFilesLines
2014-08-04Use `stripPrefix` where appropriate.Artyom Kazak1-7/+7
2014-08-03Correctly implement capitalisation.Artyom Kazak1-0/+13
Using `map toUpper` to capitalise text is wrong, as e.g. “Straße” should be converted to “STRASSE”, which is 1 character longer. This commit adds a `capitalize` function and replaces 2 identical implementations in different modules (`toCaps` and `capitalize`) with it.
2014-08-02fetchItem: improved mime type guessing.John MacFarlane1-4/+5
Strip a fragment like `?#iefix` from the extension before doing the mime lookup.
2014-08-02Shared: fetchItem improvements.John MacFarlane1-11/+12
* More consistent logic: absolute URIs are fetched from the net; other things are treated as relative URIs if sourceURL is a Just, otherwise as file paths. * We escape characters that are not allowed in URIs before trying to parse them (e.g. '|', which often occurs in the wild). * When treating relative paths as local file paths, we drop any fragment or query. This is useful e.g. when you've downloaded web fonts locally, but your source still contains the original relative URLs. Together with the previous commit, this should close #1477.
2014-07-31New module, Text.Pandoc.MediaBag.John MacFarlane1-75/+4
Moved `MediaBag` definition and functions from Shared: `lookupMedia`, `mediaDirectory`, `insertMedia`, `extractMediaBag`. Removed `emptyMediaBag`; use `mempty` instead, since `MediaBag` is a Monoid.
2014-07-31Made MediaBag a newtype, and added mime type information to media.John MacFarlane1-15/+65
Shared now exports functions for interacting with a MediaBag: - `emptyMediaBag` - `lookuMedia` - `insertMedia` - `mediaDirectory` - `extractMediaBag`
2014-07-31Shared: Added function insertMedia which is an alias for M.insertMatthew Pickering1-1/+8
2014-07-30PDF, Docx, EPUB, and ODT writers now automatically use MediaBag.John MacFarlane1-3/+2
The MediaBag is thread through from the reader, with no need to extract to files.
2014-07-30Shared: Added fetchItem', which searches a media bag too.John MacFarlane1-0/+14
2014-07-30Moved MediaBag back from Shared to Options, to avoid module cycle.John MacFarlane1-0/+11
2014-07-30Moved MediaBag from Shared to Options.John MacFarlane1-11/+0
This will allow us to put a MediaBag in WriterOptions.
2014-07-30Moved withTempDir from PDF to Shared, export from Shared.John MacFarlane1-1/+16
API change.
2014-07-30Shared: Make MediaBag available through Shared.Jesse Rosenthal1-0/+11
2014-07-25Fixed runtime error with compactify'DL on certain lists.John MacFarlane1-11/+13
Closes #1452. Added test.
2014-07-21Revert "Shared.hierarchicalize: Don't number subsections of unnumbered ↵John MacFarlane1-25/+18
sections." This reverts commit 2a46042661a088096ac54097db5cd3674438bb63.
2014-07-21Shared.hierarchicalize: Don't number subsections of unnumbered sections.John MacFarlane1-18/+25
They were previously numbered, starting from the previous numbered section, which was wrong.
2014-07-15Shared.fetchItem: unescape URI encoding before reading local file.John MacFarlane1-1/+1
Close #1427.
2014-07-13Better comment on removeFormatting.John MacFarlane1-1/+1
2014-07-13Shared: Generalized type of removeFormatting.John MacFarlane1-1/+1
2014-07-13Shared: Added removeFormatting.John MacFarlane1-0/+14
API change (addition of exported function).
2014-07-12Removed space at ends of lines in source.John MacFarlane1-2/+2
2014-07-07normalize: consolidate adjacent RawBlocks when possible.John MacFarlane1-0/+5
2014-06-29Rewrote normalize for efficiency. (Closes #1385.)John MacFarlane1-60/+131
* Added normalizeInlines, normalizeBlocks. * Type signature is now more narrow, `Pandoc -> Pandoc` instead of `Data a :: a -> a`. Some users may need to change their uses of `normalize` to the newly exported `normalizeInlines` or `normalizeBlocks`.
2014-06-16Moved extractSpaces to Shared.hsmpickering1-0/+16
Generalised and move the extractSpaces function from `HTML.hs` to `Shared.hs` so that the docx reader can also use it.
2014-06-03Shared: Added ordNub.John MacFarlane1-0/+9
API change (adds export).
2014-05-18Removed dependency on conduit.John MacFarlane1-6/+8
* http-conduit flag is now https. * Instead of http-conduit, we depend on http-client and http-client-tls.
2014-05-12Shared addMetaField: if old and new values both lists, concatenate.John MacFarlane1-1/+3
2014-05-09Update copyright notices for 2014, add missing noticesAlbert Krewinkel1-2/+2
2014-04-19Merge pull request #1256 from tarleb/org-reader-improvementsJohn MacFarlane1-3/+17
Org reader improvements
2014-04-19Move `compactify'DL` from Markdown reader into SharedAlbert Krewinkel1-3/+17
The function `compactify'DL`, used to change the final definition item of a definition list into a `Plain` iff all other items are `Plain`s as well, is useful in many parsers and hence moved into Text.Pandoc.Shared.
2014-04-15Shared: Fixed bug in toRomanNumeral.John MacFarlane1-2/+2
9 and numbers ending in 9 would end with "IXIV." Thanks to Jesse Rosenthal. Closes #1249.
2014-04-05Shared.openURL: Set proxy with value of http_proxy env variable.John MacFarlane1-3/+11
Note: proxies with non-root paths are not supported, because of limitations in http-conduit. Closes #1211.
2014-01-08fetchItem: Handle image URLs beginning with '//'.John MacFarlane1-4/+9
2013-12-19HLint: use `elem` and `notElem`Henry de Valence1-8/+4
Replaces long conditional chains with calls to `elem` and `notElem`.
2013-12-19HLint: Use allHenry de Valence1-1/+1
Replace `and . map` with `all`.
2013-12-09Added `withSocketsDo` around http conduit code in `openURL`.John MacFarlane1-1/+2
This should address #1080, but further testing on Windows is needed before we can close the bug.
2013-12-01normalizeDate: Allow dates with year only (%Y)Shaun Attfield1-1/+1
2013-11-19Shared: Fixed bug in openURL with data: URIs.John MacFarlane1-1/+2
Previously the base-64 encoded bytestring was returned. We now decode it so it's a proper image! This should fix parsing of data: URLs.
2013-10-16Use isURI instead of isAbsoluteURI.John MacFarlane1-2/+2
It allows fragments identifiers.
2013-08-28Generalized type of stringify.John MacFarlane1-3/+4
2013-08-16Shared: Changed stringify so it ignores notes.John MacFarlane1-1/+5
Also documented this in README.
2013-08-16Revert "Shared: stringify now skips over footnotes."John MacFarlane1-1/+0
This reverts commit 19591df739a6c50a3d0a9af55ba90b883264b21d. This change didn't work; query has already written the contents of the note by the time it gets to Note.
2013-08-16Shared: stringify now skips over footnotes.John MacFarlane1-0/+1
That is usually the right thing to do for section labels, etc.
2013-08-15Shared: Better error message when default data file not found.John MacFarlane1-3/+7
Listing the full path can confuse people who are using `--self-contained`: they might have intended the file to be found locally. So now we just list the data file name.
2013-08-11Options: Changed `writerSourceDir` to `writerSourceURL` (now a Maybe).John MacFarlane1-10/+10
Previously we used to store the directory of the first input file, even if it was local, and used this as a base directory for finding images in ODT, EPUB, Docx, and PDF. This has been confusing to many users. It seems better to look for images relative to the current working directory, even if the first file argument is in another directory. writerSourceURL is set to 'Just url' when the first command-line argument is an absolute URL. (So, relative links will be resolved in relation to the first page.) Otherwise, 'Nothing'. The ODT, EPUB, Docx, and PDF writers have been modified accordingly. Note that this change may break some existing workflows. If you have been assuming that relative links will be interpreted relative to the directory of the first file argument, you'll need to make that the current directory before running pandoc. Closes #942.
2013-08-10Use walk, walkM in place of bottomUp, bottomUpM when possible.John MacFarlane1-1/+1
They are significantly faster.
2013-08-10Use query instead of queryWith.John MacFarlane1-2/+27
2013-07-30Fixed compilation with http-conduit flag False.John MacFarlane1-2/+2
2013-07-18Improved fetching of external resources.John MacFarlane1-7/+9
* In Shared, openURL and fetchItem now return an Either, for better error handling. (API change.) * Better error message when fetching a URL fails with `--self-contained`. * EPUB writer: If resource not found, skip it, as in Docx writer. * Closes #916.
2013-07-04cabal: Added http-conduit flag, which allows fetching https resources.John MacFarlane1-12/+28
It also brings in a large number of dependencies (http-conduit and its dependencies), which is why for now it is an optional flag. Closes #820.