aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Shared.hs
AgeCommit message (Collapse)AuthorFilesLines
2016-10-13Shared: add function combining lines using LineBreakAlbert Krewinkel1-0/+11
The `linesToBlock` function takes a list of lines and combines them by appending a hard `LineBreak` to each line and concatenating the result, putting the result it into a `Para`. This is most useful when dealing when converting `LineBlock` elements.
2016-10-12Basic support for images in ODT documentsHubert Plociniczak1-0/+16
Highly influenced by the docx support, refactored some code to avoid DRY.
2016-09-03Remove http-client CPP conditionals.Jesse Rosenthal1-10/+1
Our lower bound on http-client is 0.5, and both of these min_version tests are less than 0.5, so they will always pass.
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-07-20Rename README to MANUAL.txtAlbert Krewinkel1-2/+2
2016-07-14Shared: improve year sanity check in normalizeDateJesse Rosenthal1-6/+6
Previously we parsed a list of dates, took the first one, and then tested its year range. That meant that if the first one failed, we returned nothing, regardless of what the others did. Now we test for sanity before running `msum` over the list of Maybe values. Anything failing the test will be Nothing, so will not be a candidate.
2016-07-14Shared: normalizeDate should reject illegal years.Jesse Rosenthal1-5/+10
We only allow years between 1601 and 9999, inclusive. The ISO 8601 actually says that years are supposed to start with 1583, but MS Word only allows 1601-9999. This should stop corrupted word files if the date is out of that range, or is parsed incorrectly.
2016-07-14Shared: Add further formats for `normalizeDate`Jesse Rosenthal1-1/+2
We want to avoid illegal dates -- in particular years with greater than four digits. We attempt to parse series of digits first as `%Y%m%d`, then `%Y%m`, and finally `%Y`.
2016-07-03Fix warning for parseURl import.John MacFarlane1-2/+3
2016-07-03CPP workaround for deprecation of parseUrl in http-client.John MacFarlane1-6/+14
2016-06-23Shared: Add BlockQuote to blocksToInlinesJesse Rosenthal1-0/+1
2016-06-23Shared: introduce blocksToInlines functionJesse Rosenthal1-0/+37
This is a lossy function for converting `[Block] -> [Inline]`. Its main use, at the moment, is for docx comments, which can contain arbitrary blocks (except for footnotes), but which will be converted to spans. This is, at the moment, pretty useless for everything but the basic `Para` and `Plain` comments. It can be improved, but the docx reader should probably emit a warning if the comment contains more than this.
2016-03-22Updated copyright dates to include 2016.John MacFarlane1-2/+2
2016-02-23Make protocol-relative URIs work again.John MacFarlane1-2/+4
Closes #2737.
2016-01-22Changed type of Shared.uniqueIdent argument from [String] to Set String.John MacFarlane1-3/+3
This avoids performance problems in documents with many identically named headers. Closes #2671.
2015-12-29Use cmark 0.5.John MacFarlane1-5/+8
Closes #2605.
2015-12-11Implemented SoftBreak and new `--wrap` option.John MacFarlane1-6/+12
Added threefold wrapping option. * Command line option: deprecated `--no-wrap`, added `--wrap=[auto|none|preserve]` * Added WrapOption, exported from Text.Pandoc.Options * Changed type of writerWrapText in WriterOptions from Bool to WrapOption. * Modified Text.Pandoc.Shared functions for SoftBreak. * Supported SoftBreak in writers. * Updated tests. * Updated README. Closes #1701.
2015-11-24Improved fetchItem so that C:/Blah/Blah.jpg isn't treated as URL.John MacFarlane1-6/+19
The Haskell URI parsing routines will accept "C:" as a scheme, so we rule that out manually. This helps with `--self-contained` and absolute Windows paths. See http://stackoverflow.com/questions/33899126/rchart-in-markdown-doesnt-render-due-to-invalidurlexception-from-pandoc
2015-11-19Merge branch 'new-image-attributes' of https://github.com/mb21/pandoc into ↵John MacFarlane1-4/+4
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-09Fixed shadowing error.John MacFarlane1-3/+3
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-6/+5
This reverts commit c423dbb5a34c2d1195020e0f0ca3aae883d0749b.
2015-11-08Use -XNoImplicitPrelude and 'import Prelude' explicitly.John MacFarlane1-5/+6
This is needed for ghci to work with pandoc, given that we now use a custom prelude. Closes #2503.
2015-10-17Remove compiler warning with embed_data_files.John MacFarlane1-1/+1
2015-10-14More changes to avoid compiler warnings on ghc 7.10.John MacFarlane1-3/+7
* CPP around deprecated `parseTime`. * Text.Pandoc.Compat.Locale -> Text.Pandoc.Compat.Time, now exports Data.Time.
2015-10-14Use custom Prelude to avoid compiler warnings.John MacFarlane1-2/+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.
2015-10-11Percent-encode more special characters in URLs.John MacFarlane1-2/+5
HTML, LaTeX writers adjusted. The special characters are '<','>','|','"','{','}','[',']','^', '`'. Closes #1640, #2377.
2015-10-01Move the variable pandocVersion from `src/Text/Pandoc.hs` toAlex Vong1-1/+9
`src/Text/Pandoc/Shared.hs`, so that all Writers can access this variable without importing `src/Text/Pandoc.hs`, preventing circular import. * pandoc.hs: Import pandocVersion from `Text.Pandoc.Shared`. * src/Text/Pandoc.hs: Remove the definition of pandocVersion and relevant import. * src/Text/Pandoc/Shared.hs: Add the definition of pandocVersion and relevant import.
2015-09-26Removed unneeded imports.John MacFarlane1-2/+2
2015-09-26MediaBag: ensure that / is always used as path separator.John MacFarlane1-3/+4
2015-08-10EPUB TOC: replace literal "<br/>" with space.John MacFarlane1-0/+1
Closes #2105.
2015-08-07Updated readers, writers and README for link attributemb211-2/+2
2015-08-07Updated readers and writers for new image attribute parameter.John MacFarlane1-2/+2
(mb21)
2015-07-30fix build failure with --flags=-httpsSergei Trofimovich1-1/+2
The issue was originally reported by CasperVector as https://github.com/gentoo-haskell/gentoo-haskell/issues/427 Mainfests itself as a builg failure full of missing zip-archive names: src/Text/Pandoc/Shared.hs:756:49: Not in scope: type constructor or class ‘Archive’ src/Text/Pandoc/Shared.hs:777:38: Not in scope: ‘toEntry’ src/Text/Pandoc/Shared.hs:786:19: Not in scope: ‘toArchive’ Perhaps you meant ‘mbArchive’ (line 778) Included Codec.Archive.Zip unconditionally. Signed-off-by: Sergei Trofimovich <siarheit@google.com>
2015-07-23Added odt readerMarLinn1-6/+6
Fully implemented features: * Paragraphs * Headers * Basic styling * Unordered lists * Ordered lists * External Links * Internal Links * Footnotes, Endnotes * Blockquotes Partly implemented features: * Citations Very basic, but pandoc can't do much more * Tables No headers, no sizing, limited styling
2015-07-21Use newManager instead of withManager in recent http-client.John MacFarlane1-1/+10
This avoids a deprecation warning.
2015-07-12Changed hierarchicalize so it treats references div as top-level header.John MacFarlane1-0/+5
Fixes a bug with `--section-divs`, where the final references section added by pandoc-citeproc, enclosed in its own div, got put in the div for the section previous to it. This fixes #2294. Longer term, we might think about how hierarchicalize should interact with Div elements.
2015-06-28Added a needed import in Shared.John MacFarlane1-0/+1
2015-06-28Let reference.docx/odt behave as if they are virtual data files.John MacFarlane1-1/+72
Now they are constructed on the fly from their components, but we now allow them to be printed with `--print-default-data-file` and to override the defaults if placed in the user data directory. Shared now exports getDefaultReferenceDocx and getDefaultReferenceODT (API change). These functions have been removed from the Docx and ODT writers. Shared.readDataFile has been modified so that requests to read a reference.odt or reference.docx will use these functions to generate the files.
2015-06-28Minor fixes to previous commit.John MacFarlane1-8/+3
* Instead of defining readmeFile in Text.Pandoc.Data (which we forgot to export anyway), we simply add a record for "README" to the `dataFiles` lookup table. This allows simplifying some of the code for `readDefaultDataFile` in SHared. * As a bonus, `pandoc --print-default-data-file README` now works.
2015-06-28New method for producing man pages.John MacFarlane1-6/+14
This change adds `--man1` and `--man5` options to pandoc, so pandoc can generate its own man pages. It removes the old overly complex method of building a separate executable (but not installing it) just to create the man pages. The man pages are no longer automatically created in the build process. The man/ directory has been removed. The man page templates have been moved to data/. New unexported module: Text.Pandoc.ManPages. Text.Pandoc.Data now exports readmeFile, and `readDataFile` knows how to find README. Closes #2190.
2015-05-27Fixed svg handling in EPUB writer.John MacFarlane1-0/+1
This is a crude workaroud for #2183. A correct fix would require having openURL and fetchItem return a content encoding as well as a content type.
2015-04-26Updated copyright notices to -2015. Closes #2111.John MacFarlane1-2/+2
2015-02-18Move utility error functions to Text.Pandoc.SharedMatthew Pickering1-0/+10
2015-02-18Make safeRead safe.Matthew Pickering1-3/+3
Fixes #1801
2014-12-19Added Text.Pandoc.Compat.Locale to assist with transition to time 1.5.John MacFarlane1-1/+1
2014-10-08fix inDirectory to reset to the original directory in case an exception occursFreiric Barral1-6/+4
2014-09-25Shared: Make collapseFilePath OS-agnosticmpickering1-5/+9
2014-08-31Shared: Moved import of toChunks outside of conditional.John MacFarlane1-1/+1
Closes #1590.
2014-08-30Merge branch 'mime' of https://github.com/Aelve/John into Aelve-mimeJohn MacFarlane1-4/+4
Conflicts: src/Text/Pandoc/Writers/Docx.hs