aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
AgeCommit message (Collapse)AuthorFilesLines
2017-01-25Class: Refactor fetchItem.Jesse Rosenthal1-38/+44
Move the downloading/reading-in logic out of fetchItem, so we can use it to fill the MediaBag. Now when other modules use `fetchItem` it will fill the MediaBag as expected.
2017-01-25Class: Add insertDeferredMedia function.Jesse Rosenthal1-0/+7
2017-01-25Integrate DeferredMediaBag into CommonStateJesse Rosenthal1-10/+17
The DeferredMediaBag is now the object that is held in state. It should not be visible to users, who will still deal with MediaBag through exported getters and setters. We now have a function `fetchDeferredMedia` which returns () but downloads/reads in all of the deferred media. Note that getMediaBag first fetches all deferred media.
2017-01-25Introduce DeferredMediaBag.Jesse Rosenthal1-0/+24
This is a lazy MediaBag, that will only be evaluated (downloaded/read in) upon demand. Note that we use fetchItem in getDefferedMedia at the moment to read in/download. This means that we don't need to distinguish between URIs and FilePaths. But there is an inefficiency here: `fetchItem` will pull an item out of the mediaBag if it's already there, and then we'll reinsert it. We could separate out `fetchItem` into the function that checks the MediaBag and the underlying downloader/read-inner.
2017-01-25Class: have pure instance of openURL throw an error, for now.John MacFarlane1-1/+1
Later we may want to include a map of URLs and mime type, bytestring pairs in pure state to serve as a fake internet.
2017-01-25Text.Pandoc.Shared: Removed fetchItem, fetchItem'.John MacFarlane9-108/+58
Made changes where these are used, so that the version of fetchItem from PandocMonad can be used instead.
2017-01-25Add openURL and readFileStrict to PandocMonad.John MacFarlane1-38/+98
Removed fetchItem and fetchItem'. Provide fetchItem in PandocMonad (it uses openURL and readFileStrict). TODO: - PandocPure instance for openURL. - Fix places where fetchItem is used so that we trap the exception instead of checking for a Left value. (At least in the places where we want a warning rather than a failure.)
2017-01-25Removed hush from Text.Pandoc.Shared.John MacFarlane2-8/+3
Not used anywhere.
2017-01-25Removed `--normalize` option and normalization functions from Shared.John MacFarlane5-159/+20
* Removed normalize, normalizeInlines, normalizeBlocks from Text.Pandoc.Shared. These shouldn't now be necessary, since normalization is handled automatically by the Builder monoid instance. * Remove `--normalize` command-line option. * Don't use normalize in tests. * A few revisions to readers so they work well without normalize.
2017-01-25Class: Removed getDefaultReferenceDocx/ODT from PandocMonad.John MacFarlane3-25/+7
We don't need these, since the default docx and odt can be retrieved using `readDataFile datadir "reference.docx"` (or odt).
2017-01-25Removed commented-out vestigaes of fail in Class.John MacFarlane1-8/+0
2017-01-25Class: removed 'fail' from PandocMonad.John MacFarlane2-13/+13
Do we need this? I don't see why. There's a name clash which would better be avoided.
2017-01-25Generic instance for PandocError.John MacFarlane1-1/+2
2017-01-25Added ReaderOptions parameter to readNative.John MacFarlane1-2/+4
This makes it similar to the other readers -- even though ReaderOptions is essentially ignored, the uniformity is nice.
2017-01-25MediaBag: put extractMediaBag into MonadIO.John MacFarlane1-3/+7
2017-01-25SelfContained: put makeSelfContained in MonadIO.John MacFarlane1-2/+3
2017-01-25PDF: put makePDF in MonadIO.John MacFarlane1-4/+6
2017-01-25Shared: put err into MonadIO.John MacFarlane1-2/+2
2017-01-25Simplified reference-docx/reference-odt to reference-doc.John MacFarlane3-6/+4
* Text.Pandoc.Options.WriterOptions: removed writerReferenceDocx and writerReferenceODT, replaced them with writerReferenceDoc. This can hold either an ODT or a Docx. In this way, writerReferenceDoc is like writerTemplate, which can hold templates of different formats. [API change] * Removed `--reference-docx` and `--reference-odt` options. * Added `--reference-doc` option.
2017-01-25Process.pipeProcess: stream stderr rather than capturing.John MacFarlane2-27/+15
Signature of pipeProcess has changed: the return value is now IO (ExitCode, ByteString) -- with only stdout. Stderr is just inherited from the parent. This means that stderr from filters will now be streamed as the filters are run. Closes #2729.
2017-01-25RST reader: rebase-related fixes to warnings.John MacFarlane1-13/+12
2017-01-25Removed unneeded pragmas.John MacFarlane1-2/+1
2017-01-25Remove now-unnecessary lifts in Markdown writer.John MacFarlane1-9/+6
Other writers still TBD.
2017-01-25Instances of PandocMonad for common transformers.John MacFarlane1-2/+79
2017-01-25Class: no more MonadState CommonState.John MacFarlane1-14/+23
- Added getCommonState, putCommonState, getsCommonState, modifyCommonState to PandocMonad interface. - Removed MonadState CommonState instances.
2017-01-25Whitespace.John MacFarlane1-3/+3
2017-01-25RST reader: removed now unnecessary lifts.John MacFarlane1-8/+7
2017-01-25Markdown reader: Removed readMarkdownWithWarnings [API change].John MacFarlane1-10/+1
2017-01-25Add PandocMonad m instance for ParserT based on PandocMonad.John MacFarlane1-6/+4
This will avoid the need for lift.
2017-01-25Have warningWithPos take a SourcePos rather than Maybe SourcePos.John MacFarlane4-20/+30
After all, we have warning if you don't want the source pos info.
2017-01-25LaTeX reader: add warning when parsing unescaped charactersJohn MacFarlane1-4/+5
that normally need escaping in LaTeX.
2017-01-25RST reader: implement start-after, end-before fields for include.John MacFarlane1-6/+12
2017-01-25RST reader: handle code, literal, number-lines, class, name for include.John MacFarlane1-30/+27
2017-01-25RST reader include: handle negative values for start-, end-line.John MacFarlane1-23/+30
2017-01-25RST reader: support start-line and end-line in include.John MacFarlane1-2/+8
Just skip other options for now.
2017-01-25RST reader: Simple `.. include::` support.John MacFarlane1-2/+65
TODO: handle the options (see comment in code). See #223.
2017-01-25Class: Functions for dealing with PureStateJesse Rosenthal1-23/+42
There are two states in PandocPure, but it is only easy to deal with CommonState. In the past, to do state monad operations on PureState (the state specific to PandocPure) you had to add (lift . lift) to the monadic operation and then rewrap in the newtype. This adds four functions ({get,gets,put,modify}PureState) corresponding to normal state monad operations. This allows the user to modify PureState in PandocPure without worrying about where it sits in the monad stack or rewrapping the newtype.
2017-01-25Class: rename env* prefixed fields to st*.Jesse Rosenthal1-28/+28
This was left over from when they were part of an environment.
2017-01-25Shared: changed err and warn output.John MacFarlane1-5/+2
Don't print program name in either case. Print [warning] for warnings.
2017-01-25LaTeX reader: Make sure we process includes in preamble.John MacFarlane1-0/+1
2017-01-25LaTeX reader: further fixes to include.John MacFarlane1-7/+11
2017-01-25Give source position for include file loop.John MacFarlane1-1/+1
2017-01-25Error: change type of handleError.John MacFarlane2-12/+12
It now lives in IO and gives a proper message + exit instead of calling 'error'. We shouldn't be making it easier for people to raise error on pure code. And this is better for the main application in IO.
2017-01-25LaTeX reader: Proper include file processing.John MacFarlane2-111/+35
* Removed handleIncludes from LaTeX reader [API change]. * Now the ordinary LaTeX reader handles includes in a way that is appropriate to the monad it is run in.
2017-01-25Removed readRSTWithWarnings (now useless).John MacFarlane1-10/+1
2017-01-25Parsing: Removed obsolete warnings stuff.John MacFarlane1-21/+3
Removed stateWarnings, addWarning, and readWithWarnings.
2017-01-25TWiki reader: Remove old readTWikiWithWarnings'.John MacFarlane1-18/+5
We get warnings for free now from PandocM. (And anyway, this reader doesn't generate any!)
2017-01-25Class: rename addWarning[WithPos] to warning[WithPos].John MacFarlane11-42/+40
There's already a function addWarning in Parsing! Maybe we can dispense with that now, but I still like 'warning' better as a name.
2017-01-25Class: Renamed 'warn' to 'addWarning' and consolidated RTF writer.John MacFarlane10-39/+41
* Renaming Text.Pandoc.Class.warn to addWarning avoids conflict with Text.Pandoc.Shared.warn. * Removed writeRTFWithEmbeddedImages from Text.Pandoc.Writers.RTF. This is no longer needed; we automatically handle embedded images using the PandocM functions. [API change]
2017-01-25New withWarningsToStderr exported from Text.Pandoc.Class.John MacFarlane1-1/+11
And use this in pandoc.hs so that messages actually get printed.