Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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`.
|
|
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.
|
|
|
|
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.
|
|
This follows the suggestions given by the FSF for GPL licensed software.
<https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html>
|
|
This reverts commit 89b3fcc8e050def3779fed716d70bfd4e7120a6b.
|
|
We now avoid creating a data URI for the url under an
@import.
|
|
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.
|
|
|
|
|
|
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.
|
|
Make sure we don't duplicate end tags for script or link.
|
|
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).
|
|
|
|
This removes the need to pass MediaBag around and improves
exceptions. It also opens up the possibility of using
makeSelfContained purely.
|
|
* 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.
|
|
...since this is now handled through PandocMonad.
Added an explicit MediaBag parameter to makePDF and makeSelfContained.
|
|
Made changes where these are used, so that the version
of fetchItem from PandocMonad can be used instead.
|
|
|
|
|
|
This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
|
|
This is needed for ghci to work with pandoc, given that we
now use a custom prelude.
Closes #2503.
|
|
Fixes #2489.
|
|
- 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.
|
|
Previously `--self-contained` wiped out all spaces in CSS,
including semantically significant spaces!
Closes #2301.
Closes #2286.
|
|
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.
|
|
Also use a proper css parser (adds dependency on text-css).
Closes #2129.
|
|
The current test is: does the URL start with a `#`?
Closes #2121.
|
|
|
|
Now base64 is used except for 'text/*' mime types. Closes #1940.
|
|
Closes #1842.
|
|
Closes #1664.
|
|
* 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`.
|
|
(This fixes a bug introduced a couple commits back.)
|
|
* 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.
|
|
Moved `MediaBag` definition and functions from Shared:
`lookupMedia`, `mediaDirectory`, `insertMedia`, `extractMediaBag`.
Removed `emptyMediaBag`; use `mempty` instead, since `MediaBag`
is a Monoid.
|
|
Shared now exports functions for interacting with a MediaBag:
- `emptyMediaBag`
- `lookuMedia`
- `insertMedia`
- `mediaDirectory`
- `extractMediaBag`
|
|
Added a parameter to makeSelfContained (API change).
|
|
|
|
Closes #1188.
|
|
It allows fragments identifiers.
|
|
* 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.
|
|
|
|
|
|
before treating as a filename. This fixes `--self-contained`
when used with CSS files that include web fonts using the
method described here:
http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/
Examples from reveal.js themes:
"../../lib/font/league_gothic-webfont.eot?#iefix"
"../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular"
Closes #739.
|
|
* Shared now exports fetchItem (instead of getItem) and openURL
* fetchItem has different parameters than getItem and includes
some logic formerly in the ODT and Docx writers
* getItem still used in SelfContained
|
|
|
|
* Added `embed_data_files` flag. (not yet used)
* Shared no longer exports `findDataFile`.
* `readDataFile` now returns a strict bytestring.
* Shared now exports `readDataFileUTF8` which returns a string like
the old `readDataFile`.
* Rewrote modules to use new data file functions and to avoid
using functions from Paths_pandoc directly.
|
|
* Depend on text.
* Expose Text.Pandoc.UTF8.
* Text.Pandoc.UTF8 now exports toString, fromString,
toStringLazy, fromStringLazy.
* These are used instead of the old utf8-string functions.
|