Commit graph

1178 commits

Author SHA1 Message Date
John MacFarlane
0bed0ab5a3 Use XDG data directory for user data directory.
Instead of `$HOME/.pandoc`, the default user data directory is
now `$XDG_DATA_HOME/pandoc`, where `XDG_DATA_HOME` defaults to
`$HOME/.local/share` but can be overridden by setting the environment
variable.

If this directory is missing, then `$HOME/.pandoc` is searched
instead, for backwards compatibility.  However, we recommend
moving local pandoc data files from `$HOME/.pandoc` to
`$HOME/.local/share/pandoc`.

On Windows the default user data directory remains the same.

Closes #3582.
2019-03-02 15:03:59 -08:00
John MacFarlane
be14a95f07 Use latest skylighting.
This should fix #5328.
2019-02-27 22:14:01 -08:00
Albert Krewinkel
331d6224a1
T.P.Lua: split StackInstances into smaller Marshaling modules 2019-02-16 12:08:22 +01:00
John MacFarlane
b1c964d725 Bump to 2.6.1. 2019-02-10 14:26:33 -08:00
John MacFarlane
b6cf490efd Use latest skylighting. 2019-02-10 08:06:53 -08:00
John MacFarlane
1cdbb896f6 Added simple ipynb reader/writer tests.
Closes #5274.
2019-02-09 14:53:30 -08:00
TG
568b25d33a Adds Asciidoctor sprcific writer and tests 2019-02-09 08:21:53 -08:00
John MacFarlane
2da9090adc Use latest basement/foundation on 32bit windows. 2019-02-08 09:29:09 -08:00
John MacFarlane
424ec937e0 cabal - prevent using basement 0.0.10 on 32-bit windows.
It is broken, see https://github.com/haskell-foundation/foundation/issues/515
2019-02-06 17:19:58 -08:00
leungbk
ac83b9c37c Org reader: add support for #+SELECT_TAGS. 2019-01-30 18:27:38 +01:00
John MacFarlane
395ea03069 Support ipynb (Jupyter notebook) as input and output format.
[API change]

* Depend on ipynb library.

* Add `ipynb` as input and output format.

* Added Text.Pandoc.Readers.Ipynb (supports both nbformat v3 and v4).

* Added Text.Pandoc.Writers.Ipynb (supports nbformat v4).

* Added ipynb readers and writers to T.P.Readers,
  T.P.Writers, and T.P.Extensions.  Register the
  file extension .ipynb for this format.

* Add `PandocIpynbDecodingError` constructor to Text.Pandoc.Error.Error.

* Note: there is no template for ipynb.
2019-01-22 21:45:59 -08:00
Brian Leung
35971495ab RST reader: change treatment of number-lines directives. (#5207)
Directives of this type without numeric inputs should not have a
`startFrom` attribute; with a blank value, the writers can produce
extra whitespace.
2019-01-09 22:19:26 -08:00
John MacFarlane
483012552a Allow http-client 0.6. 2019-01-09 08:43:41 -08:00
Alexander
40c30a9d88 Add DokuWiki reader (#5108)
Closes #1792
2019-01-06 15:06:32 -08:00
John MacFarlane
fc87925b77 Tests: Fix findPandoc to work with Windows. 2019-01-04 18:36:15 -08:00
John MacFarlane
e8fba105a5 Removed custom Setup.hs, use build-type: simple.
The only thing we gained from the custom build was
automatic installation of the man page when using
'cabal install'.  But custom builds cause problems,
e.g., with cross-compilation.

Installation of the man page is better handled by packagers.

Note to packagers (e.g. Debian):  it may be necessary
to add a step installing the man page with the next
release.
2019-01-02 17:02:02 -08:00
John MacFarlane
39efcedf8a Allow latest Glob. 2018-12-19 15:35:05 -08:00
John MacFarlane
48115fcf1a Allow latest zip-archive. 2018-12-03 16:25:00 -08:00
John MacFarlane
3bf398b15f Allow tasty 1.2 2018-12-02 09:10:33 -08:00
John MacFarlane
1a62e53c40 Require skylighting >= 0.7.5.
This adds support for sml, J, typescript.
2018-12-01 14:48:13 -08:00
John MacFarlane
945eed3a28 Bump to version 2.6 because of API change in read/writeJSON. 2018-11-29 12:57:27 -08:00
John MacFarlane
e02500afe8 Bump version to 2.5. 2018-11-22 22:18:37 -05:00
John MacFarlane
1a679a4d6e LaTeX reader: cleaned up handling of dimension arguments.
Allow decimal points, preceding space.

Also require text 1.1+.
2018-11-19 00:17:22 -08:00
Albert Krewinkel
12f6cf13ad
T.P.App: extract submodule T.P.App.FormatHeuristics
Format guessing is used for input and output options and should be
shared.
2018-11-07 21:29:48 +01:00
Albert Krewinkel
dae3a0e3d2
T.P.App: extract Opt into separate module
The new Opt module has only a few dependencies. This is important for
compile-times during development, as Template Haskell containing modules
are be recompiled whenever a (transitive) dependency changes.
2018-11-06 21:31:12 +01:00
Albert Krewinkel
dc150df8e1
Add cabal flag derive_json_via_th
Disabling the flag will cause derivation of ToJSON and FromJSON
instances via GHC Generics instead of Template Haskell. The flag is
enabled by default, as deriving via Generics can be slow (see #4083).
2018-11-04 20:51:08 +01:00
Albert Krewinkel
418bd42df8 App: extract output settings into module 2018-11-03 10:07:47 -07:00
Albert Krewinkel
fd3c8cd8c7 App: extract command line options to separate module 2018-11-03 10:07:47 -07:00
John MacFarlane
6b7a7adcbf Fix readWithM with Stream. 2018-11-02 20:26:36 -07:00
John MacFarlane
c721d28c33 T.P.Parsing: Generalize readWithM to any Char Stream.
[API change]
2018-11-02 18:23:46 -07:00
John MacFarlane
e10d5b3d5b Change 'groff' -> 'roff'.
These formats (man, ms) are not groff-specific.
2018-11-01 16:46:43 -07:00
Albert Krewinkel
0531a4653a API change: expose module Text.Pandoc.Filter
The module is likely to be useful to library users.
2018-10-28 12:08:52 -07:00
John MacFarlane
cd93faddbf Revert "Roff reader: use LineParts abstraction."
This reverts commit 42ba3c0a0b.
2018-10-27 12:29:54 -07:00
John MacFarlane
42ba3c0a0b Roff reader: use LineParts abstraction.
This didn't really help performance in the end.
2018-10-27 12:28:15 -07:00
Albert Krewinkel
0b8a31f77f
pandoc.cabal: add GHC 8.6.1 to list of tested compilers 2018-10-27 20:35:21 +02:00
Albert Krewinkel
f966a8c432
pandoc.cabal: enable more compiler warnings 2018-10-27 20:35:20 +02:00
John MacFarlane
e0f985bb21 Rename Groff -> Roff.
Module T.P.Readers.Groff -> T.P.Readers.Roff
Module T.P.Writers.Groff -> T.P.Writers.Roff
Module T.P.GroffChar     -> T.P.RoffChar
GroffTokens              -> RoffTokens
GroffToken               -> RoffToken.
2018-10-26 21:29:33 -07:00
Albert Krewinkel
7f70aaa5fa
Text.Pandoc.Lua: move globals handling to separate module 2018-10-26 22:24:21 +02:00
John MacFarlane
74396c7f90 Add man reader to pandoc.cabal description. 2018-10-25 23:16:43 -07:00
Albert Krewinkel
096cbe6987 Lua: allow access to pandoc state (#5015)
* Lua: allow access to pandoc state

Lua filters and custom writers now have read-only access to most fields
of pandoc's internal state via the global variable `PANDOC_STATE`.

* Lua: allow iterating through fields of PANDOC_STATE

* Lua filters doc: describe CommonState

* Lua filters doc: mention global variable PANDOC_STATE

* Lua: add access to logs

Log messages can currently only be printed, but not decomposed.
2018-10-25 22:12:14 -07:00
John MacFarlane
6c71100fcf Added Text.Pandoc.Readers.Groff.
This is an internal module that exports a tokenizer for groff
formats.

Closes #4998.
2018-10-24 17:38:08 -07:00
John MacFarlane
94c73e84d5 Merge branch 'Yanpas-groff_reader' 2018-10-18 20:58:46 -07:00
John MacFarlane
62467c6e46 Bump upper bound for QUickCheck. 2018-10-18 20:44:45 -07:00
John MacFarlane
9d852df615 Bump upper bound for binary. 2018-10-18 20:43:18 -07:00
John MacFarlane
bbd94eae2b Add Text.Pandoc.GroffChar.
This will hold common escaping data for groff characters.
2018-10-18 09:39:55 -07:00
John MacFarlane
ebdb2deb0d Updated version bounds for containers and haddock-library.
Allow haddock-library 1.7 and containers 0.6.*.

Closes #4974.
2018-10-17 17:30:14 -07:00
John MacFarlane
f48960b75f Move common groff functions to Text.Pandoc.Writers.Groff
(unexported module).  These are used in both the man and ms
writers.

Moved groffEscape out of Text.Pandoc.Writers.Shared [cancels earlier
API change from adding it, which was after last release].

This fixes strong/code combination on man (should be `\f[CB]` not
`\f[BC]`), mentioned in #4973.

Updated tests.

Closes #4975.
2018-10-17 17:26:37 -07:00
John MacFarlane
5c42101ee9 Merge branch 'groff_reader' of https://github.com/Yanpas/pandoc into Yanpas-groff_reader 2018-10-16 18:39:20 -07:00
Yan Pas
2c4e8941a7 update cabal, add man-reader 2018-10-17 01:34:12 +03:00
John MacFarlane
2018f41193 Update benchmarks for ghc 8.6.1. 2018-10-13 23:13:53 -07:00
John MacFarlane
259c356435 Added docx/docPropos/custom.xml to cabal data-files. 2018-10-09 11:15:07 -07:00
John MacFarlane
2e9a8d207b Require skylighting 0.7.4.
Closes #4920.
2018-10-08 22:48:13 -07:00
Yan Pas
27467189ab Merge branch 'master' into groff_reader 2018-10-07 18:10:01 +03:00
John MacFarlane
2caf198b46 Version to 2.4.
We need a major API version bump because of the removed
function from T.P.Writers.Shared.
2018-10-04 09:46:16 -07:00
John MacFarlane
d975917509 Removed Text.Pandoc.Groff.
Moved groffEscape function to Text.Pandoc.Writers.Shared.
[API change, since T.P.W.S is exported.]
2018-10-02 18:16:43 -07:00
John MacFarlane
b5a18e748d Version to 2.3.2. 2018-10-01 22:48:54 -07:00
John MacFarlane
799cd5db7a Moved babelLangToBCP, polyglossiaLangToBCP to new module...
Text.Pandoc.Readers.LaTeX.Lang (unexported).
2018-10-01 21:27:20 -07:00
Albert Krewinkel
9abdbb2783
Lua filters: report traceback when an error occurs
A proper Lua traceback is added if either loading of a file or execution
of a filter function fails. This should be of help to authors of Lua
filters who need to debug their code.
2018-10-01 16:32:11 +02:00
John MacFarlane
36f1846cc3 Implement --ascii (writerPreferAscii) in writers, not App.
Now the `write*` functions for Docbook, HTML, ICML, JATS,
Man, Ms, OPML are sensitive to `writerPreferAscii`.  Previously
the to-ascii translation was done in Text.Pandoc.App, and
thus not available to those using the writer functions
directly.

In addition, the LaTeX writer is now sensitive to
`writerPreferAscii` and to `--ascii`.  100% ASCII
output can't be guaranteed, but the writer will use
commands like `\"{a}` and `\l` whenever possible,
to avoid emiting a non-ASCII character.

A new unexported module, Text.Pandoc.Groff, has been
added to store functions used in the different groff-based
writers.
2018-09-30 22:32:00 -07:00
John MacFarlane
59a770e6e9 pandoc.cabal: make base lower bound 4.8.
We no longer support ghc 7.8, but this wasn't reflected in the
base versions.
2018-09-30 21:07:48 -07:00
John MacFarlane
aebe5fe99e LaTeX reader: simplified accent code using unicode-transforms.
New dependency on unicode-transforms package for normalization.
2018-09-30 10:25:17 -07:00
John MacFarlane
9dac993835 Added Text.Pandoc.Readers.LaTeX.Parsing (unexported).
This collects some of the general-purpose code from the LaTeX
reader, with the aim of making the module smaller. (We've been
having out-of-memory issues compiling this module on CI.)
2018-09-28 10:33:32 -07:00
John MacFarlane
c07b9aebc2 Version to 2.3.1. 2018-09-27 23:09:06 -07:00
Albert Krewinkel
56fe5b559e
Use hslua v1.0.0 2018-09-24 20:11:27 +02:00
mb21
5347e9454f add test for --metadata-file 2018-09-15 17:06:10 +02:00
John MacFarlane
e44815a9ee Bump version to 2.3, because of breaking API change to Macro. 2018-08-14 11:54:04 -07:00
John MacFarlane
6728049225 Bump to 2.2.3.2, update man page, changelog. 2018-08-07 09:30:34 -07:00
John MacFarlane
030e8969c7 Bump to 2.2.3.1, update man page and changelog. 2018-08-06 21:37:15 -07:00
John MacFarlane
d8a614d7bb Bump to 2.2.3, update changelog and man page. 2018-08-05 12:40:56 -07:00
John MacFarlane
a007cd7ad6 Bump version to 2.2.2.1. 2018-07-18 19:23:22 -07:00
John MacFarlane
ebd79b6477 Minor cabal file changes.
Requested by 'stack upload.'
Different format for minimum cabal version.
Use of autogen-modules.
2018-07-15 21:43:54 -07:00
John MacFarlane
f44be8c08f Bump to 2.2.2 and update changelog. 2018-07-15 13:44:43 -07:00
John MacFarlane
d6cbc7ba37 Travis: Use system ghc. And use ghc-8.4.3 instead of 8.4.2. 2018-07-13 10:28:29 -07:00
John MacFarlane
d67a88eb12 Bump upper bound for JuicyPixels. 2018-07-13 08:10:25 -07:00
John MacFarlane
8cea6125fb Exclude foundaiton 0.0.21 for ghc 7.10. 2018-07-12 21:59:25 -07:00
John MacFarlane
2437b6d10b Attempt to fix latest ghc 7.10 build failure. 2018-07-12 21:46:37 -07:00
John MacFarlane
2737e4996c Allow criterion 1.5. 2018-07-02 23:29:37 +02:00
John MacFarlane
ce83a128e1 Use ghc 8.4.2 in travis and tested-with.
8.4.1 shipped with the wrong version of mtl, which didn't
match its documented API.
2018-06-30 10:00:28 +02:00
John MacFarlane
e49b8304e4 Use HsYAML instead of yaml for translations, YAML metadata.
yaml wraps a C library; HsYAML is pure Haskell.
Closes #4747.  Advances #4535.
2018-06-29 23:21:25 +02:00
John MacFarlane
39dc3b9a4b Require yaml < 0.8.31 for ghc < 8.0.2.
The 0.8.31 release of yaml adds a constraint to ghc versions 8.0.2
and greater.
2018-06-29 20:09:08 +02:00
John MacFarlane
06bcb7c872 Remove network-uri flag and use 'Network.Socket'.
This removes a compiler warning.
There is no need for the old network-uri flag, since
network 2.6 was released in 2014.
2018-06-28 11:51:52 +02:00
Sergei Trofimovich
dda3882348 pandoc.cabal: fix lower yaml bound up to 0.8.11 (#4727)
`prettyPrintParseException` was added to yaml-0.8.11.

Reported-by: Tom Gillespie
Bug: https://github.com/jgm/pandoc/issues/4726
Bug: https://github.com/gentoo-haskell/gentoo-haskell/issues/725
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2018-06-24 13:09:07 +02:00
John MacFarlane
adbaaeaf9b Raise lower bound for yaml library.
Closes #4726.
2018-06-23 10:46:02 +02:00
John MacFarlane
8b4728e284 Use latest pandoc-types (1.17.5). 2018-06-11 11:05:48 -07:00
John MacFarlane
158344d26d Allow aeson-1.4. 2018-06-10 10:24:12 -07:00
John MacFarlane
edcfbccf5d Use skylighting 0.7.2. Adjust tests.
This should fix commercialhaskell/stackage#3719, once
a new release is made.
2018-06-09 13:34:21 -07:00
Felix Yan
cf2d695061 Allow tasty 1.1 (#4685)
All tests pass with tasty 1.1.0.1 here.
2018-06-03 13:59:47 -07:00
John MacFarlane
d32e866449 LaTeX reader: handle includes without surrounding blanklines.
In addition, `\input` can now be used in an inline context,
e.g. to provide part of a paragraph, as it can in LaTeX.

Closes #4553.
2018-06-01 09:25:10 -07:00
John MacFarlane
3181023ca1 Add version bound in custom-setup for Cabal. 2018-05-30 15:12:42 -07:00
John MacFarlane
1e4255ced6 Require cabal-version >= 2.0. This is needed for haddock-library. 2018-05-30 13:16:16 -07:00
John MacFarlane
aff401745c Revert "ALlow compilation with haddock-library 1.4 and above."
This reverts commit 50c71b5bc5.

This was a bad idea, since tests depend on recent haddock-library.
We'd be able to build but fail tests.
2018-05-30 13:13:57 -07:00
John MacFarlane
50c71b5bc5 ALlow compilation with haddock-library 1.4 and above.
haddock-library-1.6 requires Cabal >= 2.0.  This change allows
systems with older Cabal versions to build pandoc.
2018-05-30 13:06:44 -07:00
John MacFarlane
81ed7948da Use haddock-library 1.6.0. 2018-05-20 17:05:23 -07:00
John MacFarlane
933aa3ee84 Require texmath >= 0.11.
Although pandoc compiles with 0.10, the tests assume texmath 0.11.

Closes #4651.
2018-05-14 10:07:13 -07:00
Yan Pas
b0b41cbbe6 Merge branch 'master' into groff_reader 2018-05-12 11:42:39 +03:00
John MacFarlane
ebb60075f5 Bump version to 2.2.1. 2018-05-10 21:45:29 -07:00
John MacFarlane
c3d2572c5f Use texmath-0.11. 2018-05-10 12:10:35 -07:00
Yan Pashkovsky
a337685fe0
Merge branch 'master' into groff_reader 2018-05-09 19:48:34 +03:00
John MacFarlane
1494b20bb4 Document FB2 reader. 2018-04-26 12:35:02 -07:00
Alexander
1927bc9aac Add FB2 reader (#4539) 2018-04-26 12:33:18 -07:00