summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/SelfContained.hs
Commit message (Collapse)AuthorAge
* SelfContained: use base64 for css links with media attribute.John MacFarlane2017-11-01
| | | | This fixes `--self-contained` with s5. Closes #4026.
* hlint suggestions.John MacFarlane2017-10-27
|
* Automatic reformating by stylish-haskell.John MacFarlane2017-10-27
|
* SelfContained: data-background-image instead of data-background.John MacFarlane2017-10-20
| | | | Really closes #3979.
* SelfContained: handle data-background attribute on section.John MacFarlane2017-10-16
| | | | | | | | | This should help with #3979. In my test, I got a data uri for data-background. But it didn't actually work in the browser (the background image didn't show). Not sure whether this is a problem in reveal.js or a problem in pandoc...
* Removed unneeded import.John MacFarlane2017-09-30
|
* Removed writerSourceURL, add source URL to common state.John MacFarlane2017-09-30
| | | | | | | | | | | | | | | | | | Removed `writerSourceURL` from `WriterOptions` (API change). Added `stSourceURL` to `CommonState`. It is set automatically by `setInputFiles`. Text.Pandoc.Class now exports `setInputFiles`, `setOutputFile`. The type of `getInputFiles` has changed; it now returns `[FilePath]` instead of `Maybe [FilePath]`. Functions in Class that formerly took the source URL as a parameter now have one fewer parameter (`fetchItem`, `downloadOrRead`, `setMediaResource`, `fillMediaBag`). Removed `WriterOptions` parameter from `makeSelfContained` in `SelfContained`.
* Shared: Provide custom isURI that rejects unknown schemes [isURI]Albert Krewinkel2017-05-23
| | | | | | | | | | | | | | | | | | | 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.
* SelfContained: handle @import with quoted string.John MacFarlane2017-05-20
|
* SelfContained: fixed problem with embedded fonts.John MacFarlane2017-05-20
| | | | | | | | | | | | 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.
* Update dates in copyright noticesAlbert Krewinkel2017-05-13
| | | | | This follows the suggestions given by the FSF for GPL licensed software. <https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>
* Revert "SelfContained: special handling for css @import."John MacFarlane2017-05-05
| | | | This reverts commit 89b3fcc8e050def3779fed716d70bfd4e7120a6b.
* SelfContained: special handling for css @import.John MacFarlane2017-05-05
| | | | | We now avoid creating a data URI for the url under an @import.
* SelfContained: Handle url() inside material retrieved from url().John MacFarlane2017-05-05
| | | | | | | | | | | This can happen e.g. with an @import of a google web font. (What is imported is some CSS which contains an url reference to the font itself.) Also, allow unescaped pipe (|) in URL. This is intended to help with #3629, but it doesn't seem to work.
* SelfContained: export makeDataURIJohn MacFarlane2017-03-30
|
* Stylish-haskell automatic formatting changes.John MacFarlane2017-03-04
|
* `--self-contained`: don't incorporate elements with `data-external="1"`.John MacFarlane2017-02-26
| | | | | | | | | You can leave an external link as it is by adding the attribute data-external="1" to the element. Pandoc will then not try to incorporate its content when `--self-contained` is used. This is similar to a feature already supported by the EPUB writer. Closes #2656.
* Some fixes to the preceding revisions in SelfContained.John MacFarlane2017-02-24
| | | | Make sure we don't duplicate end tags for script or link.
* SelfContained: don't use data URIs for script or style.John MacFarlane2017-02-24
| | | | | | | | | | | | | | Instead, just use script or style tags with the content inside. The old method with data URIs prevents certain optimizations outside pandoc. Exception: data URIs are still used when a script contains `</script>` or a style contains `</`. Closes #3423. Also, in MIME, use application/javascript (not application/x-javascript).
* Refactored getData from getDataURI in SelfContained.John MacFarlane2017-02-24
|
* Put makeSelfContained in PandocMonad instead of IO.John MacFarlane2017-02-23
| | | | | | This removes the need to pass MediaBag around and improves exceptions. It also opens up the possibility of using makeSelfContained purely.
* Use lazy loading for reveal.js slide shows.John MacFarlane2017-02-20
| | | | | | | | * In HTML writer, with reveal.js we use data-src instead of src for images. * In SelfContained, we also load resources from data-src. Closes #2283.
* Removed writerMediaBag from WriterOpts.John MacFarlane2017-01-25
| | | | | | ...since this is now handled through PandocMonad. Added an explicit MediaBag parameter to makePDF and makeSelfContained.
* Text.Pandoc.Shared: Removed fetchItem, fetchItem'.John MacFarlane2017-01-25
| | | | | Made changes where these are used, so that the version of fetchItem from PandocMonad can be used instead.
* SelfContained: put makeSelfContained in MonadIO.John MacFarlane2017-01-25
|
* Updated copyright dates to include 2016.John MacFarlane2016-03-22
|
* Revert "Use -XNoImplicitPrelude and 'import Prelude' explicitly."John MacFarlane2015-11-09
| | | | This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
* Use -XNoImplicitPrelude and 'import Prelude' explicitly.John MacFarlane2015-11-08
| | | | | | | This is needed for ghci to work with pandoc, given that we now use a custom prelude. Closes #2503.
* Fixed omitted `url(...)` in CSS data-uri with `--self-contained`.John MacFarlane2015-10-28
| | | | Fixes #2489.
* Use custom Prelude to avoid compiler warnings.John MacFarlane2015-10-14
| | | | | | | | | | | | | - The (non-exported) prelude is in prelude/Prelude.hs. - It exports Monoid and Applicative, like base 4.8 prelude, but works with older base versions. - It exports (<>) for mappend. - It hides 'catch' on older base versions. This allows us to remove many imports of Data.Monoid and Control.Applicative, and remove Text.Pandoc.Compat.Monoid. It should allow us to use -Wall again for ghc 7.10.
* `--self-contained`: Fixed overaggressive CSS minimization.John MacFarlane2015-07-15
| | | | | | | | Previously `--self-contained` wiped out all spaces in CSS, including semantically significant spaces! Closes #2301. Closes #2286.
* Fixed regression in CSS parsing with `--self-contained`.John MacFarlane2015-06-28
| | | | | | | | | | | | | | In 1b44acf0c59b70cc63f48a23c6f77e45a982aaf9 we replaced some hackish CSS parsing with css-text, which I thought was a complete CSS parser. It turns out that it is very buggy, which results in lots of things being silently dropped from CSS when `--self-contained` is used (#2224). This commit replaces the use of css-text with a small but more principled css preprocessor, which only removes whitespace and replaces URLs with base 64 data when possible. Closes #2224.
* SelfContained: properly handle data URIs in css urls.John MacFarlane2015-05-04
| | | | | | Also use a proper css parser (adds dependency on text-css). Closes #2129.
* SelfContained: cssURLs no longer tries to fetch fragment URLs.John MacFarlane2015-05-01
| | | | | The current test is: does the URL start with a `#`? Closes #2121.
* Updated copyright notices to -2015. Closes #2111.John MacFarlane2015-04-26
|
* Improved building of data URIs in SelfContained.John MacFarlane2015-02-13
| | | | Now base64 is used except for 'text/*' mime types. Closes #1940.
* SelfContained: Add `;charset=utf-8` to script mime type if missing.John MacFarlane2014-12-31
| | | | Closes #1842.
* Added `track` to list of tags treated by `--self-contained`.John MacFarlane2014-10-04
| | | | Closes #1664.
* MIME cleanup.Artyom Kazak2014-08-17
| | | | | | | * Create a type synonym for MIME type (instead of `String`). * Add `getMimeTypeDef` function. * Avoid recreating MIME type `Map`s every time. * Move “Formula-...” case handling into `getMimeType`.
* SelfContained: Fixed determining of source URL from within CSS files.John MacFarlane2014-08-02
| | | | (This fixes a bug introduced a couple commits back.)
* Text.Pandoc.SelfContained changes.John MacFarlane2014-08-02
| | | | | | | | * mkSelfContained now takes just two arguments, WriterOptions and the string. * It no longer looks in data files. This only made sense when we had copies of slidy and S5 code there. * Shared.fetchItem' is used instead of the nearly duplicate getItem.
* New module, Text.Pandoc.MediaBag.John MacFarlane2014-07-31
| | | | | | | Moved `MediaBag` definition and functions from Shared: `lookupMedia`, `mediaDirectory`, `insertMedia`, `extractMediaBag`. Removed `emptyMediaBag`; use `mempty` instead, since `MediaBag` is a Monoid.
* Made MediaBag a newtype, and added mime type information to media.John MacFarlane2014-07-31
| | | | | | | | | | Shared now exports functions for interacting with a MediaBag: - `emptyMediaBag` - `lookuMedia` - `insertMedia` - `mediaDirectory` - `extractMediaBag`
* Allow --self-contained to get content from MediaBag.John MacFarlane2014-07-30
| | | | Added a parameter to makeSelfContained (API change).
* Update copyright notices for 2014, add missing noticesAlbert Krewinkel2014-05-09
|
* SelfContained: Handle "poster" attribute in "video" tags.John MacFarlane2014-03-05
| | | | Closes #1188.
* Use isURI instead of isAbsoluteURI.John MacFarlane2013-10-16
| | | | It allows fragments identifiers.
* Improved fetching of external resources.John MacFarlane2013-07-18
| | | | | | | | | * 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.
* Added comment/todo to SelfContained.John MacFarlane2013-04-10
|
* SelfContained: handle src in embed, audio, source, input tags.John MacFarlane2013-03-26
|