Commit graph

789 commits

Author SHA1 Message Date
Felix Yan
f0265d4f34 Allow tagsoup 0.14
Building with the new release went fine here, and it works correctly.
2016-06-14 07:44:09 -05:00
John MacFarlane
20c0366ad8 Removed -rtsopts from library stanza.
It has no effect, and Hackage wouldn't accept the package.
2016-06-04 15:21:56 -07:00
John MacFarlane
34510949ca Travis: test with ghc 8.0.1, remove testing with ghc 7.4. 2016-06-04 07:36:15 -07:00
John MacFarlane
4bc0f121c9 Require latest highlighting-kate. 2016-06-03 13:13:47 -07:00
Albert Krewinkel
512bf2eebf Org reader: undo code duplication
Some code was duplicated (copy-pasted) or placed in an inappropriate
module during the modularization refactoring.  Those functions are moved
into a `Shared` module, as was originally intended but forgotten.
Better documentation of the respective functions is a positive
side-effect.
2016-06-02 15:30:20 +02:00
Albert Krewinkel
eea6d6568f Org reader: extract blocks parser to module
Block parsing code is moved to a separate module.

This is part of the Org-mode reader cleanup effort.
2016-05-25 23:21:40 +02:00
Albert Krewinkel
39e8b4276e Org reader: extract inline parser to module
Inline parsing code is moved to a separate module.  Parsers for block
starts are extracted as well, as those are used in the `endline` parser.

This is part of the Org-mode reader cleanup effort.
2016-05-25 22:54:45 +02:00
Albert Krewinkel
a340c7249f Org reader: extract parsing function to module
The Org-mode reader uses many functions defined in the
`Text.Pandoc.Parsing` utility module.  Some of the functions are
overwritten with versions adapted to Org-mode idiosyncrasies.  These
special functions, as well as the normal Pandoc versions, are combined
in a single module to increase the ease of use.

This leads to decoupling of Org-mode and Pandoc and hence to slightly
cleaner code.  The downside is code-bloat due to repeated import/export
statements.
2016-05-25 22:53:55 +02:00
John MacFarlane
e3ca9793aa Bumped upper-bounds to build with ghc 8. 2016-05-22 09:21:49 -07:00
John MacFarlane
054e6abd0d Revert "New method for checking for presence of tex program."
This reverts commit 285bbf61cf.
2016-05-12 21:01:30 -07:00
John MacFarlane
1b8d006ac8 Revert "Require process >= 1.2.1."
This reverts commit 07a4320ba9.
2016-05-12 20:59:08 -07:00
John MacFarlane
07a4320ba9 Require process >= 1.2.1.
We need `createProcess_` to be exported.
2016-05-12 11:08:56 -07:00
John MacFarlane
3800cb3d42 Merge pull request #2912 from tarleb/org-export-settings
Org reader: basic support for export settings
2016-05-11 13:36:02 -07:00
Albert Krewinkel
7a0729ea09 Org reader: move parser state into separate module
The org reader code has become large and confusing.  Extracting smaller
parts into submodules should help to clean things up.
2016-05-11 19:13:42 +02:00
John MacFarlane
285bbf61cf New method for checking for presence of tex program.
Now instead of using `findExecutable`, which has limitations
on Windows, we just do `progname --version` and see if it
returns successfully.  Closes #2903.
2016-05-09 20:52:20 -07:00
John MacFarlane
cc9a9c7150 Added docbook5 templates, test files to pandoc.cabal. 2016-05-01 23:02:22 -07:00
John MacFarlane
52f94cff48 Bump version to 1.17.1.
We need a minor version bump because of the addition
of `writerDocbook5` to `WriterOptions`.
2016-05-01 22:48:49 -07:00
John MacFarlane
a0fae92847 Require texmath 0.8.6.2.
Closes several texmath-related bugs:  #2775, #2310, #2310.

This fixes issues with sub/superscript positioning and
matrix column alignment in docx.
2016-04-20 15:05:41 -07:00
John MacFarlane
e053865746 Allow data-default 0.6.0. 2016-04-18 15:00:00 -07:00
John MacFarlane
32ecd195bd Use texmath >= 0.8.6.1.
This fixes behavior of roots, e.g. `\sqrt[3]{x}`.
See #2824.
2016-03-29 22:57:37 -07:00
John MacFarlane
1de993c64a Bump version to 1.17.0.3. 2016-03-24 08:59:06 -07:00
Mauro Bieg
30ceb235ce include .tei files in pandoc.cabal
closes #2811
2016-03-24 13:41:12 +01:00
John MacFarlane
499985c1a3 Updated copyright dates to include 2016. 2016-03-22 17:20:39 -07:00
John MacFarlane
e36e692e6b Version bump to 1.17.0.2. 2016-03-22 17:05:22 -07:00
John MacFarlane
edcb8b6169 Version to 1.17.0.1. 2016-03-21 15:34:56 -07:00
Jesse Rosenthal
a7a0b452a5 Docx Reader: Get rid of Modifiable typeclass.
The docx reader used to use a Modifiable typeclass to combine both
Blocks and Inlines. But all the work was in the inlines. So most of the
generality was wasted, at the expense of making the code harder to
understand. This gets rid of the generality, and adds functions for
Blocks and Inlines. It should be a bit easier to work with going forward.
2016-02-26 08:57:53 -05:00
John MacFarlane
38bd4162fe Allow zip-archive 0.3. 2016-02-24 20:42:28 -08:00
John MacFarlane
0180807a6c Raise tagsoup lower bound to 0.13.7.
This fixes entity-related problems.

Closes #2734.
2016-02-22 09:59:11 -08:00
John MacFarlane
e552a14bf9 Allow aeson 0.11. 2016-02-09 09:30:36 -08:00
John MacFarlane
f35fa88e21 Bump version to 1.17.
API change in type of Text.Pandoc.Shared.uniqueIdent.
2016-01-22 10:20:58 -08:00
John MacFarlane
5b31790199 Added TEI to description and default.tei to data files. 2016-01-21 15:31:12 -08:00
csforste
25a9ca697a Add TEI Writer. 2016-01-19 14:03:57 -05:00
John MacFarlane
3004306c3d Version to 1.16.0.2, updated changelog. 2016-01-12 23:48:06 -08:00
John MacFarlane
f34382ef2c Depend on deepseq rather than deepseq-generics.
See fpco/stackage#1096.
2016-01-11 12:49:28 -08:00
John MacFarlane
687c39e4c0 Version bump to 1.16.0.1 2016-01-09 13:13:28 -08:00
John MacFarlane
197f301795 Revert "Make file globbing work on windows."
This reverts commit 363ecfebc3.
2016-01-06 11:11:59 -08:00
John MacFarlane
363ecfebc3 Make file globbing work on windows.
Windows cmd doesn't expand wildcards; the application has to
do this.  So on windows we use 'glob' to expand.
2016-01-06 10:44:56 -08:00
John MacFarlane
a81b0932e5 Go back to testing with ghc 7.10.2.
Avoids the dreaded "the version of cabal being used has
changed" error.

https://www.reddit.com/r/haskell/comments/3f4bgr/the_version_of_cabal_being_used_has_changed/
2016-01-05 13:57:35 -08:00
John MacFarlane
694eb87b48 Updated .travis.yml, added ghc 7.10.3 to tested-with. 2016-01-05 10:51:16 -08:00
John MacFarlane
8908205fab Allow process 1.4 2016-01-01 20:36:58 -08:00
John MacFarlane
cfa6f9f3ab Allow binary 0.8 2016-01-01 20:35:38 -08:00
John MacFarlane
5f814b6376 Relax version bound on HTTP. 2016-01-01 20:23:42 -08:00
John MacFarlane
b27783e2ec Use cmark 0.5.
Closes #2605.
2015-12-29 19:52:06 -08:00
John MacFarlane
c16efea983 Removed "compatibility mode" when called as hsmarkdown. 2015-12-14 11:21:54 -08:00
John MacFarlane
60d383e27e Update to use latest releases of highlighting-kate and texmath. 2015-12-12 16:35:25 -08:00
John MacFarlane
244cd5644b Merge branch 'new-image-attributes' of https://github.com/mb21/pandoc into 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-19 23:14:23 -08:00
John MacFarlane
0555d028b5 Bump version to 1.15.2.1. Updated changelog. 2015-11-16 07:40:08 -08:00
John MacFarlane
bfea92273d Added stack.yaml to other-source-files so it gets into tarball. 2015-11-16 07:02:04 -08:00
John MacFarlane
23c6f0c4fe Added two missing test cases to extra-source-files in pandoc.cabal.
Otherwise they don't get into the tarball.  Closes #2537.
2015-11-16 06:44:03 -08:00
John MacFarlane
a63cb7ea0b Allow process 1.3. 2015-11-14 13:50:00 -08:00
John MacFarlane
0a6aaf5e1b Added emoji extension to Markdown.
This is enabled by default in `markdown_github`.
Added `Ext_emoji` to `Extension` in `Text.Pandoc.Options` (API change).

Closes #2523.
2015-11-13 12:14:24 -08:00
John MacFarlane
193f00bc33 Bump version to 1.15.2. 2015-11-12 18:52:12 -08:00
John MacFarlane
c1e474f005 Restored Text.Pandoc.Compat.Monoid.
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-09 11:19:25 -08:00
John MacFarlane
23b693c029 Revert "Use -XNoImplicitPrelude and 'import Prelude' explicitly."
This reverts commit c423dbb5a3.
2015-11-09 10:08:22 -08:00
John MacFarlane
777d717d22 Revert "Use Default-extensions rather than ghc-options for NoImplicitPrelude."
This reverts commit 67cabb2a0d.
2015-11-09 10:08:14 -08:00
John MacFarlane
384d03dcfe Revert "Give up support for ghc 7.4."
This reverts commit e0c83f74f3.
2015-11-09 10:07:52 -08:00
John MacFarlane
e0c83f74f3 Give up support for ghc 7.4. 2015-11-08 21:43:31 -08:00
John MacFarlane
67cabb2a0d Use Default-extensions rather than ghc-options for NoImplicitPrelude.
To satisfy 'cabal check'.
2015-11-08 21:10:31 -08:00
John MacFarlane
c423dbb5a3 Use -XNoImplicitPrelude and 'import Prelude' explicitly.
This is needed for ghci to work with pandoc, given that we
now use a custom prelude.

Closes #2503.
2015-11-08 16:56:59 -08:00
John MacFarlane
3b4d5d26a5 Change default for old-locale flag to False. 2015-10-27 23:26:02 -07:00
John MacFarlane
a777c6e2ae Added Paths_pandoc to other-modules for executable stanza. 2015-10-24 22:11:46 -07:00
John MacFarlane
7f5a677bbf Version bump to 1.15.1.1, updated changelog. 2015-10-17 22:23:37 -07:00
John MacFarlane
6dc3b6585d More changes to avoid compiler warnings on ghc 7.10.
* CPP around deprecated `parseTime`.
* Text.Pandoc.Compat.Locale -> Text.Pandoc.Compat.Time,
  now exports Data.Time.
2015-10-14 10:06:18 -07:00
John MacFarlane
82b3e0ab97 Use custom Prelude to avoid compiler warnings.
- 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-14 09:09:10 -07:00
John MacFarlane
2c15b1fcac Added ghc-prim to build-depends.
This is needed for the Generic instance of PandocError.

Closes #2448.
2015-10-12 14:28:11 -07:00
John MacFarlane
72b038d201 Merge pull request #2412 from frerich/reader/docbook/xref_support
Added support for <xref> tag in DocBook reader
2015-10-10 14:18:28 -07:00
John MacFarlane
70ebccf93b Updated benchmark program. 2015-10-09 18:08:47 -07:00
John MacFarlane
3687dc36d5 Test also on ghc 7.4.2.
Made make_travis_yml.hs a bit more robust.
2015-10-09 14:44:32 -07:00
John MacFarlane
c13494c808 New .travis.yml.
Autgenerated using make_travis_yml.hs.

This script has been modified to add GHCOPTS.

'make .travis.yml' regenerates it based on the tested-with
field of the cabal file.
2015-10-08 13:39:32 -07:00
John MacFarlane
db936f7233 Allow http-types 0.9. 2015-10-06 09:14:32 -07:00
John MacFarlane
747a7a4cf8 Allow HUnit 1.3 2015-10-03 16:19:53 -07:00
Frerich Raabe
35f12b5095 Added proper support for DocBook 'xref' elements
'xref' is used to create cross references to other parts of the
document. It is an empty element - the cross reference text depends on
various attributes. Quoting 'DocBook: The Definitive Guide':

  1. If the endterm attribute is specified on xref, the content of the
  element pointed to by endterm will be used as the text of the
  cross-reference.

  2. Otherwise, if the object pointed to has a specified XRefLabel, the
  content of that attribute will be used as the cross-reference text.
2015-09-24 18:26:55 +02:00
John MacFarlane
0c7d6fbaba Allow syb 0.6. 2015-09-23 12:30:14 -07:00
John MacFarlane
d25a37c122 Allow aeson 0.10. 2015-09-20 13:19:16 -07:00
John MacFarlane
73824908aa Added --bash-completion option.
This generates a bash completion script.

To use:

     eval "$(pandoc --bash-completion)"
2015-08-13 15:27:47 -07:00
John MacFarlane
50dddecb53 Update version to 1.15.1. 2015-08-10 16:38:16 -07:00
John MacFarlane
609c8231da Allow latest criterion version. 2015-08-10 16:02:00 -07:00
John MacFarlane
74c31abb1a Merge pull request #2327 from hftf/list-style
HTML Reader: Correctly parse inline list-style(-type) for <ol>
2015-08-07 11:08:53 -07:00
John MacFarlane
b08330be86 Require pandoc-types >= 1.14 2015-07-27 21:53:09 +02:00
Ophir Lifshitz
7ef8700734 HTML Reader: Parse <ol> type, class, and inline list-style(-type) CSS 2015-07-24 02:53:17 -04:00
John MacFarlane
2b68f7af15 Updated README and cabal description for ODT reader. 2015-07-23 15:54:18 -07:00
MarLinn
f068093555 Added odt reader
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-23 15:37:01 -07:00
John MacFarlane
0c83c391db Version bump to 1.15.0.6. 2015-07-15 08:58:06 -07:00
John MacFarlane
6c32afc3c4 Updated to use cmark >= 0.4. 2015-07-14 22:51:23 -07:00
John MacFarlane
dce6a7388a Allow vector 0.11. 2015-07-14 09:23:47 -07:00
John MacFarlane
5f730ee804 Version bump to 1.15.0.5 and updated changelog. 2015-07-09 22:50:13 -07:00
John MacFarlane
f1103f8f69 Make cabal require hsb2hs >= 0.3.1.
This is done by adding `hookedPrograms` in `Setup.hs`,
which allows us to include `hsb2hs` in Build-Tools in cabal.
2015-07-05 13:50:10 -07:00
John MacFarlane
79764df2d5 Added pandoc.1 to repository. Don't build as part of cabal build.
The process was too fragile.  It made too many assumptions about
available libraries (which failed sometimes when sandboxes were
used).  This is a low-tech solution.  The only drawback is that
`man/pandoc.1` is a generated file in the repository.  It will need
to be regenerated periodically when README changes.
2015-07-02 22:12:38 -07:00
John MacFarlane
a945d702c0 Bump version to 1.15.0.4. 2015-07-02 20:48:31 -07:00
John MacFarlane
9044229531 Bump version to 1.15.0.3, updated changelog. 2015-07-02 09:32:45 -07:00
John MacFarlane
f30b2d4629 Version bump to 1.15.0.2, updated changelog. 2015-07-02 08:13:28 -07:00
John MacFarlane
dce8dd6e6b Added man page source files to extra-source-files. 2015-07-02 08:01:22 -07:00
John MacFarlane
49da3e70cd Bump version to 1.15.0.1, update changelog. 2015-07-01 18:05:00 -07:00
John MacFarlane
9ffd1babc7 Install man pages as part of cabal 'copy' phase. 2015-07-01 18:01:21 -07:00
John MacFarlane
28cb50503b Generate man page in cabal build process and include in data/.
The pandoc.1 man page is generated automatically after the cabal
build process.  It goes in `data/pandoc.1`.  It can be obtained
by the user who installs pandoc via cabal thus:

    pandoc --print-default-data-file pandoc.1 > pandoc.1
2015-07-01 16:29:44 -07:00
John MacFarlane
a04c15a422 New method for building man pages.
+ Removed `--man1`, `--man5` options (breaking change).
+ Removed `Text.Pandoc.ManPages` module (breaking API change).
+ Version bump to 1.15 because of the breaking changes, even
  though they involve features that have only been in pandoc
  for a day.
+ Makefile target for `man/man1/pandoc.1`.  This uses pandoc to
  create the man page from README using a custom template and filters.
+ Added `man/` directory with template and filters needed to build
  man page.
+ We no longer have two man pages: pandoc.1 and pandoc_markdown.5.
  Now there is just pandoc.1, which has all the content from README.
  This change was needed because of the extensive cross-references
  between parts of the README.
+ Removed old `data/pandoc.1.template` and
  `data/pandoc_markdown.5.template`.
2015-07-01 11:27:15 -07:00
John MacFarlane
fe625e053d New method for producing man pages.
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-06-28 14:39:17 -07:00
John MacFarlane
3e5b4faaf2 Version bump to 1.14.1.
Because of the addition of `Options.plainExtensions`.
2015-06-28 11:58:50 -07:00
John MacFarlane
ed9a118b54 Fixed regression in CSS parsing with --self-contained.
In 1b44acf0c5 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.
2015-06-28 11:54:18 -07:00
Pablo Rodríguez
c18e93ca6e replace old url with pandoc.org 2015-06-09 22:22:58 +02:00