aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/PDF.hs
AgeCommit message (Collapse)AuthorFilesLines
2017-10-27hlint changes.John MacFarlane1-5/+3
2017-10-27Automatic reformating by stylish-haskell.John MacFarlane1-8/+7
2017-10-26makePDF: add argument for pdf options, remove writerPdfArgs.John MacFarlane1-14/+11
- Removed writerPdfArgs from WriterOptions (API change). - Added parameter for pdf args to makePDF.
2017-09-30Removed Verbosity and MediaBag params from makePDF.John MacFarlane1-33/+27
They can be obtained from CommonState since we're in PandocIO.
2017-09-30Removed writerSourceURL, add source URL to common state.John MacFarlane1-4/+3
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`.
2017-09-11Support for PDF generation via `weasyprint` and `prince` (#3909)Mauro Bieg1-18/+28
* Rename --latex-engine to --pdf-engine * In `Text.Pandoc.Options.WriterOptions`, rename `writerLaTeXEngine` to `writerPdfEngine` and `writerLaTeXArgs` to `writerPdfArgs`. * Add support for `weasyprint` and `prince`, in addition to `wkhtmltopdf`, for PDF generation via HTML (closes #3906). * `Text.Pandoc.PDF.html2pdf`: use stdin instead of intermediate HTML file
2017-08-16Fix import in PDF.John MacFarlane1-0/+4
2017-08-15Remove initial check for pdf creating program.John MacFarlane1-5/+27
Instead, just try running it and raise the exception if it isn't found at that point. This improves things for users of Cygwin on Windows, where the executable won't be found by `findExecutable` unless `.exe` is added. The same exception is raised as before, but at a later point. Closes #3819.
2017-08-09Support svg in PDF output, converting with rsvg2pdf.John MacFarlane1-3/+12
Closes #1793.
2017-06-18In producing PDFs, warn if the font is missing some characters.John MacFarlane1-13/+34
* Added `MissingCharacter` to `LogMessage` in Text.Pandoc.Logging. * Parse the (xe)latex log for missing character warnings and issue the warning. Closes #3742.
2017-06-11Switched Writer types to use Text.John MacFarlane1-13/+14
* XML.toEntities: changed type to Text -> Text. * Shared.tabFilter -- fixed so it strips out CRs as before. * Modified writers to take Text. * Updated tests, benchmarks, trypandoc. [API change] Closes #3731.
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-20PDF: Refactoring, makePDF is now in PandocIO [API change].John MacFarlane1-13/+8
2017-05-13Update dates in copyright noticesAlbert Krewinkel1-2/+2
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-07Rename fillMedia -> fillMediaBag.John MacFarlane1-2/+3
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-03-26PDF: when running pdfroff, don't do second pass to relocate toc.John MacFarlane1-1/+2
2017-03-25Ms writer: Implement header identifiers and internal links.John MacFarlane1-1/+1
2017-03-24PDF via groff ms: use -t and -KUTF-8 options to pdfroff.John MacFarlane1-1/+1
2017-03-23Allow creation of pdf via groff ms and pdfroff.John MacFarlane1-1/+32
pandoc -t ms -o output.pdf input.txt
2017-03-04Stylish-haskell automatic formatting changes.John MacFarlane1-20/+22
2017-02-25Fetch images when generating PDF via context.John MacFarlane1-3/+6
To do this, we create the temp directory as a subdirectory of the working directory. Since context mk IV by default looks for images in the parent directory, this works. Closes #3380.
2017-02-24Removed unnecessary import.John MacFarlane1-1/+0
2017-02-24Removed useless TEXINPUTS stuff for context2pdf.John MacFarlane1-7/+2
mkiv context doesn't use TEXINPUTS.
2017-02-24Shared: remove 'warn'.John MacFarlane1-10/+16
PDF writer: Use 'report' instead of 'warn', make it sensitive to verbosity settings.
2017-02-23PDF: make sure that verbosity is respected when we fetch items.John MacFarlane1-10/+19
2017-02-10Added Text.Pandoc.Logging (exported module).John MacFarlane1-2/+2
This now contains the Verbosity definition previously in Options, as well as a new LogMessage datatype that will eventually be used instead of raw strings for warnings. This will enable us, among other things, to provide machine-readable warnings if desired. See #3392.
2017-01-25Removed readerVerbosity and writerVerbosity.John MacFarlane1-5/+6
API change. Also added a verbosity parameter to makePDF.
2017-01-25Changes to verbosity in writer and reader options.John MacFarlane1-21/+22
API changes: Text.Pandoc.Options: * Added Verbosity. * Added writerVerbosity. * Added readerVerbosity. * Removed writerVerbose. * Removed readerTrace. pandoc CLI: The `--trace` option sets verbosity to DEBUG; the `--quiet` option sets it to ERROR, and the `--verbose` option sets it to INFO. The default is WARNING.
2017-01-25Removed writerMediaBag from WriterOpts.John MacFarlane1-14/+20
...since this is now handled through PandocMonad. Added an explicit MediaBag parameter to makePDF and makeSelfContained.
2017-01-25Text.Pandoc.Shared: Removed fetchItem, fetchItem'.John MacFarlane1-4/+5
Made changes where these are used, so that the version of fetchItem from PandocMonad can be used instead.
2017-01-25PDF: put makePDF in MonadIO.John MacFarlane1-4/+6
2017-01-25Process.pipeProcess: stream stderr rather than capturing.John MacFarlane1-13/+7
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-25Convert all writers to use PandocMonad.Jesse Rosenthal1-4/+5
Since PandocMonad is an instance of MonadError, this will allow us, in a future commit, to change all invocations of `error` to `throwError`, which will be preferable for the pure versions. At the moment, we're disabling the lua custom writers (this is temporary). This requires changing the type of the Writer in Text.Pandoc. Right now, we run `runIOorExplode` in pandoc.hs, to make the conversion easier. We can switch it to the safer `runIO` in the future. Note that this required a change to Text.Pandoc.PDF as well. Since running an external program is necessarily IO, we can be clearer about using PandocIO.
2016-09-02Remove Compat.MonoidJesse Rosenthal1-1/+1
This was only necessary for GHC versions with base below 4.5 (i.e., ghc < 7.4).
2016-09-02PDF: Don't crash with nonexistent image.John MacFarlane1-1/+2
Instead, emit the alt text, emphasized. This accords with what the ODT writer currently does. The user will still get a warning about a nonexistent image, but will no longer get a LaTeX crash. Closes #3100.
2016-03-22Updated copyright dates to include 2016.John MacFarlane1-2/+2
2016-01-04Fixed v1.16 reversion with --latex-engine.John MacFarlane1-2/+2
In 1.16 --latex-engine raises an error if a full path is given. This commit fixes this reversion. Closes #2618.
2015-12-21Improved treatment of margins in wkhtmltopdf.John MacFarlane1-9/+13
2015-12-21Allow setting margins from metadata variables for wkhtmltopdf.John MacFarlane1-2/+6
Variables margin-top, margin-bottom, margin-left, margin-right. Setting them with css inside @page doesn't seem to work, at least with the released wkhtmltopdf.
2015-12-21pdf via wkhtmltopdf: take `title` and `page-size` from metadata.John MacFarlane1-13/+22
Adjusted default `page-size` to `letter`, to match current LaTeX template.
2015-12-21Added preliminary support for PDF creation via wkhtmltopdf.John MacFarlane1-3/+58
To use this: pandoc -t html5 -o result.pdf (and add `--mathjax` if you have math.)
2015-11-22hlint fixesJohn MacFarlane1-12/+13
2015-11-19Merge branch 'new-image-attributes' of https://github.com/mb21/pandoc into ↵John MacFarlane1-6/+6
mb21-new-image-attributes * Bumped version to 1.16. * Added Attr field to Link and Image. * Added `common_link_attributes` extension. * Updated readers for link attributes. * Updated writers for link attributes. * Updated tests * Updated stack.yaml to build against unreleased versions of pandoc-types and texmath. * Fixed various compiler warnings. Closes #261. TODO: * Relative (percentage) image widths in docx writer. * ODT/OpenDocument writer (untested, same issue about percentage widths). * Update pandoc-citeproc.
2015-11-09Restored Text.Pandoc.Compat.Monoid.John MacFarlane1-0/+1
Don't use custom prelude for latest ghc. This is a better approach to making 'stack ghci' and 'cabal repl' work. Instead of using NoImplicitPrelude, we only use the custom prelude for older ghc versions. The custom prelude presents a uniform API that matches the current base version's prelude. So, when developing (presumably with latest ghc), we don't use a custom prelude at all and hence have no trouble with ghci. The custom prelude no longer exports (<>): we now want to match the base 4.8 prelude behavior.
2015-11-09Revert "Use -XNoImplicitPrelude and 'import Prelude' explicitly."John MacFarlane1-1/+0
This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
2015-11-08Use -XNoImplicitPrelude and 'import Prelude' explicitly.John MacFarlane1-0/+1
This is needed for ghci to work with pandoc, given that we now use a custom prelude. Closes #2503.
2015-10-20Allow use of ConTeXt to generate PDFs.John MacFarlane1-2/+64
pandoc my.md -t context -o my.pdf will now create a PDF using ConTeXt rather than LaTeX. Closes #2463.
2015-10-14Use custom Prelude to avoid compiler warnings.John MacFarlane1-4/+0
- 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.