Commit graph

1482 commits

Author SHA1 Message Date
John MacFarlane
f1ea3d6ee6 Version to 2.0.3. 2017-11-20 16:17:03 -08:00
Albert Krewinkel
53aafd6643 Lua filters: preload text module (#4077)
The `text` module is preloaded in lua. The module contains some UTF-8
aware string functions, implemented in Haskell.  The module is loaded on
request only, e.g.:

    text = require 'text'
    function Str (s)
      s.text = text.upper(s.text)
      return s
    end
2017-11-18 13:24:06 -08:00
John MacFarlane
931a1c47c5 Require latest pandoc-types. 2017-11-11 16:26:25 -08:00
John MacFarlane
1c901057bb Bump to 2.0.2. 2017-11-11 15:28:34 -08:00
John MacFarlane
6b75d6e08c Use lua filter to generate man page from MANUAL.
Instead of three Haskell filters.

This is easier and faster.
2017-11-11 15:26:24 -08:00
John MacFarlane
6174b5bea5 Add lua filter functions to walk inline and block elements.
Refactored some code from Text.Pandoc.Lua.PandocModule
into new internal module Text.Pandoc.Lua.Filter.

Add `walk_inline` and `walk_block` in pandoc lua module.
2017-11-11 14:41:11 -08:00
John MacFarlane
32d95aa9f6 Use skylighting 0.4.3.2. 2017-11-04 22:01:03 -07:00
John MacFarlane
f14013bce3 Bump to 2.0.1.1. 2017-11-04 15:51:23 -07:00
John MacFarlane
25f24af068 Use texmath 0.10. 2017-11-03 23:26:37 -07:00
John MacFarlane
d0548fe29c Use latest skylighting. 2017-11-03 11:29:15 -07:00
John MacFarlane
856587ff63 Use latest skylighting; ensure no duplicate ids on code lines.
The line identifiers are built using the code block's identifier
as a prefix. If the code block has null identifier, we use
"cb1", "cb2", etc.

Closes #4031.
2017-11-02 16:03:40 -07:00
John MacFarlane
5df272254d Bump tasty upper bound. 2017-11-02 11:22:19 -07:00
John MacFarlane
1f393f1a8b
Merge pull request #4001 from labdsf/fb2-tests
Add new style FB2 tests
2017-11-01 00:37:29 -04:00
John MacFarlane
8e55bdcaa3 Version to 2.0.1. 2017-10-31 21:28:43 -07:00
John MacFarlane
685e952dc6 Bump to 2.0.0.1. 2017-10-30 22:00:57 -07:00
John MacFarlane
e45f2d1e9f Added creole reader test files to pandoc.cabal. 2017-10-29 14:01:39 -07:00
Alexander Krotov
d99776ea04 Add new style FB2 tests 2017-10-28 21:08:48 +03:00
John MacFarlane
dd1785342a Removed unnecessary build-deps. 2017-10-27 21:38:59 -07:00
Kolen Cheung
3f0ceaf6ee Use CamelCase for JavaScript for uniformity
other instances when javascript is refered to in pandoc is also in CamelCase, the official casing of JavaScript.
2017-10-26 22:43:19 -07:00
John MacFarlane
7d60e9e0eb Bring MANUAL, README, and pandoc.cabal description in sync. 2017-10-26 16:30:37 -07:00
Sascha Wilde
66fd3247ea Creole reader (#3994)
This is feature complete but not very thoroughly tested yet.
2017-10-26 19:19:28 -04:00
John MacFarlane
76886678a6 Use skylighting 0.4.2.
This prevents the problem with extra space around highlighted
code blocks (closes #3996).

Note that we no longer put an enclosing div around highlighted
code blocks.  The pre is the outer element, just as for unhighlighted
blocks.
2017-10-26 15:57:55 -07:00
John MacFarlane
a27dc79073 Updated Glob upper bound. 2017-10-23 11:20:31 -07:00
John MacFarlane
dc92c34827 Use doctemplates 0.2.1: allows $-- line comments in templates.
Closes #3806.
2017-10-20 22:44:49 -07:00
John MacFarlane
181d7370bb Export Text.Pandoc.BCP47 2017-10-17 22:21:32 -07:00
John MacFarlane
99c1481c12 Split list of authors from MANUAL.txt into separate file, AUTHORS.md.
It was getting too long for a man page.
2017-10-17 20:30:20 -07:00
John MacFarlane
c40857b389 Improved handling of include files in LaTeX reader.
Previously `\include` wouldn't work if the included file
contained, e.g., a begin without a matching end.

We've changed the Tok type so that it stores a full SourcePos,
rather than just a line and column.  So tokens keeep track
of the file they came from. This allows us to use a simpler
method for includes, which doesn't require parsing the included
document as a whole.

Closes #3971.
2017-10-16 22:05:34 -07:00
John MacFarlane
2f66d57616 Remove openURL from Shared (API change).
Now all the guts of openURL have been put into openURL from
Class.  openURL is now sensitive to stRequestHeaders in CommonState
and will add these custom headers when making a request.
It no longer looks at the USER_AGENT environment variable,
since you can now set the `User-Agent` header directly.
2017-10-15 22:11:38 -07:00
Albert Krewinkel
2262f005ce
Use hslua v0.9.0 2017-10-05 11:30:44 +02:00
John MacFarlane
fc25e3a5b7 Added ghc 8.2.1 to tested-with stanza. 2017-09-24 13:12:41 -07:00
John MacFarlane
1d6e651e5a Require pandoc-types 1.17.2. 2017-09-24 12:04:15 -07:00
John MacFarlane
04aba6bd51 Use skylighting 0.4. 2017-09-15 09:36:54 -07:00
John MacFarlane
64472a468c FromJSON/ToJSON instances for Reader, WriterOptions.
Depends on skylighting 0.3.5.
2017-09-14 22:38:23 -07:00
John MacFarlane
cbdeed9cfd Require skylighting 0.3.4.1 or higher. 2017-09-09 21:06:07 -07:00
John MacFarlane
3421f3eac7 Removed old beamer template.
We now use the default.latex template for both latex and beamer.
It contains conditionals for the beamer-specific things.

`pandoc -D beamer` will return this template.
2017-09-08 10:48:02 -07:00
John MacFarlane
de93744179 cabal: add custom-setup stanza, lowercase field names. 2017-09-07 10:13:40 -07:00
John MacFarlane
aa90919fe9 Add 'static' Cabal flag, use it for linux statically linked. 2017-09-04 17:07:20 -07:00
John MacFarlane
8fcf66453c RST reader: Fixed ..include:: directive.
Closes #3880.
2017-08-27 17:09:55 -07:00
John MacFarlane
d70b89c0d9 Use pandoc-types 1.17.1. Tests updated for new simpleTable behavior...
with empty headers.
2017-08-20 23:24:51 -07:00
John MacFarlane
b1f6fb4af5 HTML reader: support column alignments.
These can be set either with a `width` attribute or
with `text-width` in a `style` attribute.

Closes #1881.
2017-08-17 12:08:32 -07:00
Albert Krewinkel
9b31835530 Update to hslua-0.8.0
hslua no longer provides lua stack instances for Int and Double, the
necessary instances are added to the Custom writer and the lua filtering
system.
2017-08-16 15:47:05 +02:00
John MacFarlane
319d7ed6ff Changed command test for #2994 so it actually tests the writer. 2017-08-14 00:00:50 -07:00
Albert Krewinkel
3d87e2080a
Delete Text.Pandoc.Lua.SharedInstances
Stack instances for common data types are now provides by hslua. The
instance for Either was useful only for a very specific case; the
function that was using the `ToLuaStack Either` instance was rewritten
to work without it.

Closes: #3805
2017-08-13 17:48:43 +02:00
Albert Krewinkel
2dc3dbd68b Use hslua >= 0.7, update Lua code 2017-08-13 14:23:54 +02:00
John MacFarlane
418bda8128 Docx writer: pass through comments.
We assume that comments are defined as parsed by the
docx reader:

    I want <span class="comment-start" id="0" author="Jesse Rosenthal"
    date="2016-05-09T16:13:00Z">I left a comment.</span>some text to
    have a comment <span class="comment-end" id="0"></span>on it.

We assume also that the id attributes are unique and properly
matched between comment-start and comment-end.

Closes #2994.
2017-08-12 22:59:53 -07:00
John MacFarlane
622c3f2fa6 Change to yaml for translation files. 2017-08-12 12:17:38 -07:00
John MacFarlane
74212eb1b0 Added support for translations (localization) (see #3559).
* readDataFile, readDefaultDataFile, getReferenceDocx,
  getReferenceODT have been removed from Shared and
  moved into Class.  They are now defined in terms of
  PandocMonad primitives, rather than being primitve
  methods of the class.

* toLang has been moved from BCP47 to Class.

* NoTranslation and CouldNotLoudTranslations have
  been added to LogMessage.

* New module, Text.Pandoc.Translations, exporting
  Term, Translations, readTranslations.

* New functions in Class: translateTerm, setTranslations.
  Note that nothing is loaded from data files until
  translateTerm is used; setTranslation just sets the
  language to be used.

* Added two translation data files in data/translations.

* LaTeX reader: Support `\setmainlanguage` or `\setdefaultlanguage`
  (polyglossia) and `\figurename`.
2017-08-11 22:22:31 -07:00
John MacFarlane
ed4f6b348a Added data file to pandoc.cabal. 2017-08-10 18:26:06 -07:00
John MacFarlane
a5790dd308 RST reader: Basic support for csv-table directive.
* Added Text.Pandoc.CSV, simple CSV parser.
* Options still not supported, and we need tests.

See #3533.
2017-08-10 11:12:41 -07:00
John MacFarlane
14a44f53c8 Build config that works with lts-9.0 and nightly. 2017-08-09 12:14:35 -07:00
John MacFarlane
6e7ef6fbfc Don't put fancy warnings in pandoc.cabal ghc-options. 2017-08-08 22:44:47 -07:00
John MacFarlane
2f0bff0f54 Use extra ghc warnings.
In addition to `-Wall`:
 `-Wincomplete-uni-patterns -Wincomplete-record-updates -Wredundant-constraints -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances`
2017-08-08 20:29:37 -07:00
John MacFarlane
91c989d622 Remove GFM modules; use CMarkGFM for both gfm and commonmark.
We no longer have a separate readGFM and writeGFM;
instead, we'll use readCommonMark and writeCommonMark
with githubExtensions.

It remains to implement these extensions conditionally.

Closes #3841.
2017-08-07 23:11:14 -07:00
John MacFarlane
2c81c4c218 Added gfm (GitHub-flavored CommonMark) as an input and output format.
This uses bindings to GitHub's fork of cmark, so it should parse
gfm exactly as GitHub does (excepting certain postprocessing
steps, involving notifications, emojis, etc.).

* Added Text.Pandoc.Readers.GFM (exporting readGFM)
* Added Text.Pandoc.Writers.GFM (exporting writeGFM)
* Added `gfm` as input and output forma

Note that tables are currently always rendered as HTML
in the writer; this can be improved when CMarkGFM supports
tables in output.
2017-08-07 16:59:31 -07:00
rlpowell
2ae75e23dd Added TikiWiki reader (#3800)
Added TikiWiki reader, including tests and documentation.

It's probably not *complete*, but it works pretty well, handles all
the basics (and some not-so-basics).
2017-07-21 10:09:54 +02:00
John MacFarlane
3a36441b61 Use foldrWithKey instead of deprecated foldWithKey. 2017-07-13 23:37:21 +02:00
John MacFarlane
0feb7504b1 Rewrote LaTeX reader with proper tokenization.
This rewrite is primarily motivated by the need to
get macros working properly.  A side benefit is that the
reader is significantly faster (27s -> 19s in one
benchmark, and there is a lot of room for further
optimization).

We now tokenize the input text, then parse the token stream.

Macros modify the token stream, so they should now be effective
in any context, including math. Thus, we no longer need the clunky
macro processing capacities of texmath.

A custom state LaTeXState is used instead of ParserState.
This, plus the tokenization, will require some rewriting
of the exported functions rawLaTeXInline, inlineCommand,
rawLaTeXBlock.

* Added Text.Pandoc.Readers.LaTeX.Types (new exported module).
  Exports Macro, Tok, TokType, Line, Column.  [API change]
* Text.Pandoc.Parsing: adjusted type of `insertIncludedFile`
  so it can be used with token parser.
* Removed old texmath macro stuff from Parsing.
  Use Macro from Text.Pandoc.Readers.LaTeX.Types instead.
* Removed texmath macro material from Markdown reader.
* Changed types for Text.Pandoc.Readers.LaTeX's
  rawLaTeXInline and rawLaTeXBlock.  (Both now return a String,
  and they are polymorphic in state.)
* Added orgMacros field to OrgState.  [API change]
* Removed readerApplyMacros from ReaderOptions.
  Now we just check the `latex_macros` reader extension.
* Allow `\newcommand\foo{blah}` without braces.

Fixes #1390.
Fixes #2118.
Fixes #3236.
Fixes #3779.
Fixes #934.
Fixes #982.
2017-07-07 12:36:00 +02:00
John MacFarlane
69388d52e3 Use latest texmath. 2017-06-30 20:39:53 +02:00
John MacFarlane
ac9423eccc Moved BCP47 specific functions from Writers.Shared to new module.
Text.Pandoc.BCP47 (unexported, internal module).
`getLang`, `Lang(..)`, `parseBCP47`.
2017-06-25 21:00:35 +02:00
John MacFarlane
9ac0a99292 Added mention of vimwiki raeder more places. 2017-06-20 16:57:39 +02:00
Yuchen Pei
564c77964d Added Vimwiki reader (#3705).
* New module Text.Pandoc.Readers.Vimwiki, exporting readVimwiki [API change].
* New input format `vimwiki`.
* New data file, `data/vimwiki.css`, for displaying the HTML produced by this reader and pandoc's HTML writer in the style of vimwiki's own HTML export.
2017-06-19 22:15:12 +02:00
John MacFarlane
aface549a0 Mention muse reader in README, MANUAL, debian control, cabal description. 2017-06-19 10:50:59 +02:00
Alexander Krotov
a91b9b2a1d Add Muse reader (#3620) 2017-06-19 10:46:02 +02:00
John MacFarlane
6166655b52 Allow QuickCheck 2.10 2017-06-17 23:58:12 +02:00
Bartosz Nitka
ec01d26a1b Relax time and process in preparation for GHC 8.2 (#3739)
GHC 8.2 is very likely to ship with process-1.6.0.0
and time-1.8.0.1.

Consult:
https://ghc.haskell.org/trac/ghc/wiki/Commentary/Libraries/VersionHistory
2017-06-17 23:48:01 +02:00
John MacFarlane
25bfa26554 Fixed weigh-pandoc for Text readers. 2017-06-10 21:10:52 +02:00
John MacFarlane
f43504f9f4 Fixed benchmark to work with Text readers. 2017-06-10 20:57:38 +02:00
John MacFarlane
610f1706b6 Remove cpphs build requirement -- it is no longer needed.
It was required when we used hsb2hs but no longer seemes
needed with file-embed.
2017-06-04 21:01:34 +02:00
John MacFarlane
afb551429b Update criterion upper bound. 2017-05-28 12:35:50 +02:00
Marc Schreiber
03cb05f4c6 Improve SVG image size code.
The old code made some unwise assumptions about
how the svg file would look.

See #3580.
2017-05-20 23:09:08 +02:00
Albert Krewinkel
a27e2e8a4e
Org reader: put tree parsing code into dedicated module 2017-05-16 22:42:34 +02:00
Albert Krewinkel
af4bf91c59
Org reader: add basic file inclusion mechanism
Support for the `#+INCLUDE:` file inclusion mechanism was added.
Recognized include types are *example*, *export*, *src*, and normal org
file inclusion.  Advanced features like line numbers and level selection
are not implemented yet.

Closes: #3510
2017-05-14 12:45:31 +02:00
John MacFarlane
d414b2543a Remove https flag.
Supporting two completely different libraries for fetching
from URLs makes it difficult to trap errors, because of
different error types expected from the libraries.

There's no clear reason not to build with these https-capable
libraires.
2017-05-07 12:49:25 +02:00
Albert Krewinkel
c2567b2bd0 API change: move writer functions to Text.Pandoc.Writers
Writer helper functions were defined in the top-level Text.Pandoc
module. These functions are moved to the Writer submodule as to enable
reuse in other submodules.
2017-04-26 23:28:40 +02:00
Albert Krewinkel
0e107a305f API change: move reader functions to Text.Pandoc.Readers
Reader helper functions were defined in the top-level Text.Pandoc
module. These functions are moved to the Readers submodule as to enable
reuse in other submodules.
2017-04-26 23:28:40 +02:00
John MacFarlane
b68135d34d Allow aeson 1.2.0.0. 2017-04-22 17:59:13 +02:00
John MacFarlane
e30a25701f Use skylighitng >= 0.3.3. 2017-04-22 11:15:09 +02:00
Albert Krewinkel
3aeed816e1
Lua filter: allow shorthand functions for math and quoted
Allow to use functions named `SingleQuoted`, `DoubleQuoted`,
`DisplayMath`, and `InlineMath` in filters.
2017-04-14 23:43:59 +02:00
Albert Krewinkel
0add4253e6
Avoid repeating StackValue instances definitions
The lua filters and custom lua writer system defined very similar
StackValue instances for strings and tuples.  These instance definitions
are extracted to a separate module to enable sharing.
2017-04-14 19:07:55 +02:00
Albert Krewinkel
feb1c1a930
Extract lua helper functions into Lua.Util module 2017-04-14 18:26:42 +02:00
Albert Krewinkel
0516b5127c
Drop dependency on hslua-aeson
Pushing values to the lua stack via custom functions is faster and more
flexible.
2017-04-14 11:21:12 +02:00
Albert Krewinkel
d412c38c71
Ensure correctness of StackValue instances 2017-04-06 21:00:38 +02:00
John MacFarlane
e62fbc1c3c Merge pull request #3550 from tarleb/lua-readers-submodule
Lua module: add readers submodule
2017-04-03 09:47:16 +02:00
John MacFarlane
ff991d1e21 Revert "Revert "Use file-embed instead of hsb2hs to embed data files.""
This reverts commit 1fa15c225b.
2017-04-02 23:10:10 +02:00
John MacFarlane
913db947a9 Text.Pandoc.App: Throw errors rather than exiting.
These are caught (and lead to exit) in pandoc.hs, but
other uses of Text.Pandoc.App may want to recover in another
way.

Added PandocAppError to PandocError (API change).
This is a stopgap:  later we should have a separate constructor
for each type of error.

Also fixed uses of 'exit' in Shared.readDataFile, and
removed 'err' from Shared (API change).

Finally, removed the dependency on extensible-exceptions.

See #3548.
2017-04-02 23:04:48 +02:00
Albert Krewinkel
e7eb21ecca
Lua module: add readers submodule
Plain text readers are exposed to lua scripts via the `pandoc.reader`
submodule, which is further subdivided by format.  Converting e.g. a
markdown string into a pandoc document is possible from within lua:

    doc = pandoc.reader.markdown.read_doc("Hello, World!")

A `read_block` convenience function is provided for all formats,
although it will still parse the whole string but return only the first
block as the result.

Custom reader options are not supported yet, default options are used
for all parsing operations.
2017-04-02 17:28:07 +02:00
John MacFarlane
420e3eb26e Allow a theme file as argument to --highlight-style.
Also include a sample, `default.theme`, in `data/`.
2017-04-01 22:27:00 +02:00
John MacFarlane
48039a1d80 Add JATS to description in pandoc.cabal. 2017-03-30 23:00:12 +02:00
John MacFarlane
6ad486c3c3 Automatically include URI-encoded jats.csl for jats output.
This way people can do

    pandoc -s -t jats --filter pandoc-citeproc

and it will just work.  If they want to specify a stylesheet,
they still can.
2017-03-30 16:43:17 +02:00
John MacFarlane
831e1c5edd Added JATS writer.
* New module Text.Pandoc.Writer.JATS exporting writeJATS.
* New output format `jats`.
* Added tests.
* Revised manual.
2017-03-30 01:16:34 +02:00
John MacFarlane
64fe39c255 Added default.jats template.
This is copied from Martin Fenner's pandoc-jats project:
https://github.com/mfenner/pandoc-jats
2017-03-28 09:38:00 +02:00
John MacFarlane
b2f3d8e759 Add auxiliary files for command test for #3530 to pandoc.cabal.
Otherwise builds fail.
2017-03-27 22:03:38 +02:00
John MacFarlane
1fa15c225b Revert "Use file-embed instead of hsb2hs to embed data files."
This reverts commit 10d91c1479.
2017-03-26 20:48:17 +02:00
John MacFarlane
10d91c1479 Use file-embed instead of hsb2hs to embed data files.
I think template haskell is robust enough now across platforms
that this will work.

Motivation: file-embed gives us better dependency tracking:  if a data
file changes, ghc/stack/cabal know to recompile the Data module.

This also removes hsb2hs as a build dependency.
2017-03-26 17:22:00 +02:00
Albert Krewinkel
1e13e98ecf
Ensure compatibility with hslua 0.5.*
The 0.5.0 release of hslua fixes problems with lua C modules on linux.
The signature of the `loadstring` function changed, so a compatibility
wrapper is introduced to allow both 0.4.* and 0.5.* versions to be used.
2017-03-24 21:31:35 +01:00
John MacFarlane
f0abbe7533 Allow creation of pdf via groff ms and pdfroff.
pandoc -t ms -o output.pdf input.txt
2017-03-23 21:24:01 +01:00
John MacFarlane
6c204ea2bd Initial addition of groff ms writer.
* New module: Text.Pandoc.Writers.Ms.
* New template: default.ms.
* The writer uses texmath's new eqn writer to convert math
  to eqn format, so a ms file produced with this writer
  should be processed with `groff -ms -e` if it contains
  math.
2017-03-23 10:14:16 +01:00
John MacFarlane
2d94d48332 Added two lua test files to extra-source-files in pandoc.cabal.
This was caught by our new .travis.yml, which builds from
an extracted sdist tarball instead of the repository.
2017-03-20 17:32:35 +01:00
Albert Krewinkel
f2f6851713 Lua filters (#3514)
* Add `--lua-filter` option.  This works like `--filter` but takes pathnames of special lua filters and uses the lua interpreter baked into pandoc, so that no external interpreter is needed.  Note that lua filters are all applied after regular filters, regardless of their position on the command line.
* Add Text.Pandoc.Lua, exporting `runLuaFilter`.  Add `pandoc.lua` to data files.
* Add private module Text.Pandoc.Lua.PandocModule to supply the default lua module.
* Add Tests.Lua to tests.
* Add data/pandoc.lua, the lua module pandoc imports when processing its lua filters.
* Document in MANUAL.txt.
2017-03-20 15:17:03 +01:00
John MacFarlane
090165d714 Added test for #256. 2017-03-16 22:31:36 +01:00
John MacFarlane
c93d069d49 Add default abbreviations file (data/abbreviations).
This contains a list of strings that will be recognized by pandoc's
Markdown parser as abbreviations.  (A nonbreaking space will
be inserted after the period, preventing a sentence space in
formats like LaTeX.)

Users can override the default by putting a file abbreviations
in their user data directory (`~/.pandoc` on *nix).
2017-03-16 22:16:41 +01:00
John MacFarlane
cc57e36180 Removed another unused cabal dependency. 2017-03-15 15:20:37 +01:00
John MacFarlane
befaf037ce Removed some unnecessary build-depends. 2017-03-15 15:12:14 +01:00
John MacFarlane
2235c2a8f7 Use tasty-golden for golden tests in Old. 2017-03-15 00:27:39 +01:00
John MacFarlane
6ecc5b96a9 Use tasty for tests rather than test-framework. 2017-03-14 17:07:23 +01:00
John MacFarlane
6bf3f89d69 Better handling of \part in LaTeX.
Closes #1905.

Removed stateChapters from ParserState.

Now we parse chapters as level 0 headers, and parts as level -1 headers.
After parsing, we check for the lowest header level, and if it's
less than 1 we bump everything up so that 1 is the lowest header level.
So `\part` will always produce a header; no command-line options
are needed.
2017-03-13 22:11:10 +01:00
Alexander Krotov
d037c5019d Add Muse writer (#3489)
* Add Muse writer

* Advertise new Muse writer

* Muse writer: add regressions tests
2017-03-10 10:16:27 +01:00
John MacFarlane
c46febaaee Expand \newenvironment macros.
Closes #987.

Depends on still unreleased texmath 0.9.3.
2017-03-10 09:46:32 +01:00
John MacFarlane
9925739ba9 Require skylighting 0.3.1. 2017-03-04 10:33:52 +01:00
John MacFarlane
81028e2dce Bumped syb upper bound. 2017-03-02 10:42:07 +01:00
John MacFarlane
da792c63ca Expose some unexposed modules.
+ Text.Pandoc.Writers.Shared
+ Text.Pandoc.Parsing
+ Text.Pandoc.Asciify
+ Text.Pandoc.Emoji
+ Text.Pandoc.ImageSize

[API change]

These are often helpful to people writing their own
reader or writer modules.  Closes #3260.
2017-02-25 22:07:01 +01:00
John MacFarlane
d199d58124 We need process >= 1.2.3 for readCreateProcessWithExitCode. 2017-02-20 16:51:47 +01:00
John MacFarlane
767bd77ec4 Updated test-with field. 2017-02-20 16:35:19 +01:00
John MacFarlane
59666f79f3 Use latest skylighting (0.3). 2017-02-20 13:31:15 +01:00
John MacFarlane
42e2ac8536 Use new skylighting-0.2. 2017-02-20 00:31:57 +01:00
John MacFarlane
7b6273362a pandoc.cabal: use cpphs if embed_data_files and darwin. 2017-02-12 19:59:47 +01:00
Alexander Krotov
48f809384a Add Org writer unit tests 2017-02-12 17:09:07 +03:00
John MacFarlane
a6c649cfc8 Added --log option to save log messages in JSON format to a file.
See #3392.
2017-02-11 09:59:54 +01:00
John MacFarlane
5e1249481b Added Text.Pandoc.Logging (exported module).
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-02-10 20:59:54 +01:00
John MacFarlane
0bbea0cc76 Split pandoc.hs into a module, Text.Pandoc.App, and a small program.
The App module provides a function that does a pandoc conversion,
based on option settings.  The program (pandoc.hs) now does nothing
more than parse options and pass them to this function, which can
easily be used by other applications (e.g. a GUI wrapper).

The Opt structure has been further simplified.

API changes:

* New exposed module Text.Pandoc.App
* Text.Pandoc.Highlighting has been exposed.
* highlightingStyles has been moved to Text.Pandoc.Highlighting.
2017-02-05 21:58:45 +01:00
John MacFarlane
ce9ec67970 Added first command test to cabal metadata and repo. 2017-02-04 21:56:32 +01:00
John MacFarlane
7ea4ad11bb Added skeleton for Tests.Command. 2017-02-04 17:38:03 +01:00
John MacFarlane
18ab864269 Moved tests/ -> test/. 2017-02-04 12:56:30 +01:00
John MacFarlane
99c2a31749 Version bounds: require skylighting 0.1.1.4, bump bounds for blaze-*. 2017-01-31 14:45:36 +01:00
John MacFarlane
ae8ac926a4 Merge branch 'typeclass' 2017-01-29 22:13:03 +01:00
John MacFarlane
484c91ea36 Updated copyright to include 2017. 2017-01-29 21:17:42 +01:00
John MacFarlane
84bd0b027b Bump version to 1.19.2. 2017-01-29 21:08:33 +01:00
John MacFarlane
1b416dd12b Use latest skylighting. 2017-01-29 20:53:22 +01:00
John MacFarlane
ea684d257e Fixed trypandoc. 2017-01-29 20:52:57 +01:00
John MacFarlane
2bac035632 Rely on skylighting 0.1.1.2. 2017-01-28 23:27:59 +01:00
John MacFarlane
8a61d943f5 Fix up benchmarks so they compile. 2017-01-27 11:15:55 +01:00
John MacFarlane
b6c1d491f5 Split writeDocbook into writeDocbook4, writeDocbook5.
Removed writerDocbookVersion in WriterOptions.
Renamed default.docbook template to default.docbook4.
Allow docbook4 as an output format.
But alias docbook = docbook4.
2017-01-26 22:40:57 +01:00
John MacFarlane
190943e1fd EPUB writer: split writeEPUB into writeEPUB2, writeEPUB3.
Also include explicit epub2 output format in CLI tool.
2017-01-26 22:09:21 +01:00
John MacFarlane
fce0a60f0a Provide explicit separate functions for HTML 4 and 5.
* Text.Pandoc.Writers.HTML: removed writeHtml, writeHtmlString,
  added writeHtml4, writeHtml4String, writeHtml5, writeHtml5String.
* Removed writerHtml5 from WriterOptions.
* Renamed default.html template to default.html4.
* "html" now aliases to "html5"; to get the old HTML4 behavior,
  you must now specify "-t html4".
2017-01-25 21:51:26 +01:00
John MacFarlane
01483f91bd Revert "Added page breaks into Pandoc."
This reverts commit f02a12aff638fa2339192231b8f601bffdfe3e14.
2017-01-25 17:07:43 +01:00
John MacFarlane
85b9abc7a3 Compile against pandoc-types 1.18.*. 2017-01-25 17:07:43 +01:00
John MacFarlane
2bc0cbc239 Removed tests for Walk; these now live in pandoc-types. 2017-01-25 17:07:43 +01:00
John MacFarlane
3876b91448 Make Extensions a custom type instead of a Set Extension.
The type is implemented in terms of an underlying bitset
which should be more efficient.

API change: from Text.Pandoc.Extensions export Extensions,
emptyExtensions, extensionsFromList, enableExtension, disableExtension,
extensionEnabled.
2017-01-25 17:07:42 +01:00
John MacFarlane
1427252160 Split extensions code from Options into separate Text.Pandoc.Extensions.
API change.
However, Extensions exports Options, so this shouldn't have
much impact.
2017-01-25 17:07:42 +01:00
John MacFarlane
f447e724cc Expose Text.Pandoc.MIME, unexpose Text.Pandoc.CSS 2017-01-25 17:07:42 +01:00
John MacFarlane
35699ee533 Fixed up weigh-pandoc and benchmark-pandoc so they build. 2017-01-25 17:07:41 +01:00
John MacFarlane
6643e401ee Version to 2.0. 2017-01-25 17:07:41 +01:00
John MacFarlane
830be4d632 Refactored math conversion in writers.
* Remove exported module `Text.Pandoc.Readers.TeXMath`
* Add exported module `Text.Pandoc.Writers.Math`
* The function `texMathToInlines` now lives in `Text.Pandoc.Writers.Math`
* Export helper function `convertMath` from `Text.Pandoc.Writers.Math`
* Use these functions in all writers that do math conversion.

This ensures that warnings will always be issued for failed
math conversions.
2017-01-25 17:07:40 +01:00
Jesse Rosenthal
06eb9cfb34 Make Txt2Tags test pass.
We don't have a good way to set things that aren't in the common
state. That will be the next order of business.
2017-01-25 17:07:40 +01:00
Jesse Rosenthal
5a02a81b43 Have to do some work to get the mediabag out. 2017-01-25 17:07:40 +01:00
Jesse Rosenthal
6595318142 Remove Text.Pandoc.Free 2017-01-25 17:07:39 +01:00
Jesse Rosenthal
239880f412 Introduce PandocMonad typeclass.
This can be instantiated by both an IO monad or a pure State monad.
2017-01-25 17:07:39 +01:00
Jesse Rosenthal
e24d5a56a7 Implement runTest functions.
These work with a State monad and a Reader monad to produce
deterministic results. It can probably be simplified somewhat.
2017-01-25 17:07:39 +01:00
Jesse Rosenthal
0ab4af2f03 New Free module, with pure versions of IO funcs
Introduce a new module, Text.Pandoc.Free, with pure versions, based on
the free monad, of numerous IO functions used in writers and
readers. These functions are in a pure
Monad (PandocAction). PandocAction takes as a parameter the type of
IORefs in it. It can be aliased in individual writers and readers to
avoid this parameter.

Note that this means that at the moment a reader can only use one type
of IORef. If possible, it would be nice to remove this limitation.
2017-01-25 17:07:39 +01:00
John MacFarlane
937b502923 Use skylighting 0.1.1.
Closes #3363.
2017-01-19 15:56:19 +01:00
John MacFarlane
c56669ec39 Allow vector 0.12.0.0. 2017-01-10 17:05:29 +01:00
John MacFarlane
66fc644ddb Allow aeson 1.1. 2017-01-02 12:13:35 -08:00
John MacFarlane
9d781b1454 Updates to use skylighting rather than highlighting-kate.
So far this just reproduces capacity.

Later we'll be able to add features like warning
messages, dynamic loading of xml syntax definitions,
and dynamic loading of themes.
2016-12-23 18:07:49 -07:00
John MacFarlane
bfb6b61084 Allow directory 1.3. Closes #3325. 2016-12-23 14:14:10 -07:00
John MacFarlane
00e83be0cf Version to 1.19.1 2016-12-10 11:29:48 +01:00
John MacFarlane
9b9ec99ee8 We no longer need the MathMLInHTML.js shim from 2004! 2016-12-09 21:18:02 +01:00
John MacFarlane
ac83d4b806 Use new module from texmath to lookup MS font codepoints.
+ Removed Text.Pandoc.Readers.Docx.Fonts
+ Moved its code to texmath; we now use (from texmath 0.9)
  Text.TeXMath.Unicode.Fonts
+ Use texmath 0.9 (currently from git).
+ Updated epub tests because texmath now handles more mathml.
2016-11-30 00:43:55 +01:00
John MacFarlane
92a78d7d79 Version to 1.19. 2016-11-27 17:49:54 +01:00
John MacFarlane
aabf10b8bd Added weigh-pandoc for memory usage diagnostics.
See #3169.
2016-11-18 14:03:33 +01:00
John MacFarlane
3a255447fe Version to 1.18. 2016-10-26 12:24:55 +02:00
John MacFarlane
bb20f919c3 Added INSTALL.md, incorporating INSTALL + installing page from website. 2016-10-25 16:36:17 +02:00
John MacFarlane
738806112b Allow binary formats to be written to stdout unless tty output.
Only works on posix.  On Windows, pandoc works as before and
requires an output file parameter for binary formats.

Closes #2677.
2016-10-23 22:16:00 +02:00
John MacFarlane
4851986187 Merge pull request #3158 from ickc/COPY-LICENSE
Use the markdown version of COPYING from GNU
2016-10-19 14:08:56 +02:00
Kolen Cheung
4b51ed3823 Download markdown version of the license from GNU and rename to COPYING.md
From https://www.gnu.org/licenses/old-licenses/gpl-2.0.md
2016-10-19 04:11:36 -07:00
John MacFarlane
a85e8fe532 Allow latest HUnit. 2016-10-18 10:25:23 +02:00
Jesse Rosenthal
49b0b67b11 Remove Tests.Arbitrary
Use exported Arbitrary instances from pandoc-types instead.
2016-10-14 09:22:29 -04:00
John MacFarlane
6d13567ac5 Allow http-client 0.4.30, which is the version in stackage lts.
Previously we required 0.5.
Remove CPP conditionals for earlier versions.
2016-10-13 13:01:49 +02:00
Albert Krewinkel
63966f6375
Bump required pandoc-types version to 1.17 2016-10-13 08:46:45 +02:00
John MacFarlane
a99d81dce3 Revert overhasty bounds change for pandoc-types. 2016-10-02 20:58:24 +02:00
John MacFarlane
c28c16d463 Use doctemplates 0.1.0.2. 2016-10-02 12:29:37 +02:00
John MacFarlane
5ec9b6352c Moved template compiling/rendering code to a separate library.
jgm/doctemplates.

This allows the pandoc templating system to be used independently.
2016-10-02 09:30:26 +02:00
John MacFarlane
fd3520b97a Bump to 1.17.3 2016-09-23 12:20:34 +02:00
Jesse Rosenthal
3f8d3d844f Remove TagSoup compat
We already lower-bound tagsoup at 0.13.7, which means we were always
running the compatibility layer (it was conditional on min value
0.13). Better to just use `lookupEntity` from the library directly, and
convert a string to a char if need be.
2016-09-02 12:28:53 -04:00
Albert Krewinkel
c9a631e4eb Remove GHC 7.6 from list of tested versions
GHC versions below 7.8 are no longer supported nor tested.
2016-09-02 16:58:59 +02:00
Jesse Rosenthal
eee780b943 Bump base lower bound to 4.7
We are dropping support for ghc < 7.8.
2016-09-02 09:18:10 -04:00
Jesse Rosenthal
99d5d1c5c7 Bump base lower bound to 4.6 (ghc 7.6) 2016-09-02 09:18:09 -04:00
Jesse Rosenthal
121e3dfb64 Change constraint on mtl. 2016-09-02 09:18:09 -04:00
Jesse Rosenthal
f72e3b58e8 Remove directory compat
directory 1.1 depends on base 4.5 (ghc 7.4) which we are no longer
supporting. So we don't have to use a compatibility layer for it.
2016-09-02 09:18:09 -04:00
Jesse Rosenthal
7f676b534a Remove Text.Pandoc.Compat.Except 2016-09-02 09:18:09 -04:00
Jesse Rosenthal
45c7108b4f Remove Compat.Monoid
This was only necessary for GHC versions with base below 4.5
(i.e., ghc < 7.4).
2016-09-02 09:18:08 -04:00
Albert Krewinkel
bed5f700ce
Org reader: extract meta parsing code to module
Parsing of meta-data is well separable from other block parsing tasks.
Moving into new module to get small files and clearly arranged code.
2016-08-29 14:10:51 +02:00
John MacFarlane
b7b5458450 Allow aeson 1.0.*. 2016-08-20 22:56:27 +02:00
John MacFarlane
d2464de2af Use texmath 0.8.6.5. Closes #3040. 2016-07-24 10:56:19 -07:00
Albert Krewinkel
a396003a31 Rename README to MANUAL.txt 2016-07-20 21:16:45 +02:00
John MacFarlane
d7396e73b4 Don't require haddock-library 1.4.
Instead use CPP to work around version differences.
2016-07-15 12:04:00 -07:00
John MacFarlane
d21701f66c Require haddock-library >= 1.4.
This has math support, DocMathInline and DocMathDisplay.
2016-07-14 23:09:28 -07:00
John MacFarlane
d5c3551276 Version to 1.17.2. 2016-07-14 10:26:00 -07:00
John MacFarlane
418ad5cc81 Allow QuickCheck 2.9. 2016-07-11 08:34:35 +01:00
John MacFarlane
374614aaf7 Depend on http-client 0.5, http-client-tls 0.3 2016-07-04 10:23:37 -07:00
Albert Krewinkel
c1f6bd2640
Org reader: put export setting parser into module
Export option parsing is distinct enough from general block parsing to
justify putting it into a separate module.
2016-07-02 13:14:09 +02:00
Alex Ivkin
7fdcd9a6e2 Added ZimWiki format to documentation and cabal description. 2016-07-01 00:12:25 -07:00
Alex Ivkin
a73c95f61d Added Zim Wiki writer, template and tests. 2016-06-30 23:59:43 -07:00
John MacFarlane
b06d6c1ff8 Update texmath lower bound. 2016-06-22 11:45:32 -07:00
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
John MacFarlane
70b76bb633 Bump cmark version to >= 0.3.4. 2015-06-08 13:37:11 -07:00
John MacFarlane
bbd429ae70 Version bump to 1.14.0.4, added commonmark template to data files. 2015-06-02 13:23:32 +02:00
John MacFarlane
a367107483 Bump version to 1.14.0.3; updated changelog. 2015-06-01 10:39:00 +02:00
John MacFarlane
a75998ba24 Allow compilation with syb 0.5.*. 2015-05-31 21:18:39 +02:00
John MacFarlane
cb339c7425 Bump to 1.14.0.2, updated changelog. 2015-05-31 14:10:25 +02:00
John MacFarlane
c327b283c1 Allow building with hslua 0.4. 2015-05-31 13:57:14 +02:00
John MacFarlane
b241472a90 Better fix for #2187.
* Reverted kludgy change to make-windows-installer.bat.
* Removed make-reference-fiels.hs.
* Moved the individual ingredients of reference.docx and
  reference.odt to the data directory.
* Removed reference.docx and reference.odt from data directory.
* We now build the reference archives from their ingredient pieces
  in the docx and odt writers, instead of having a reference.docx
  or reference.odt intermediary.

This should fix #2187.

It also simplifies the bulid procedure.

The one thing users may notice is different is that you can
no longer get the reference.docx or reference.odt using
`--print-default-data-file`.  Instead, simply generate a
docx or odt using pandoc with a blank or minimal input,
and use that (or a customized version) with `--reference-docx`
or `--reference-odt`.
2015-05-28 18:15:01 -07:00
John MacFarlane
3b2ca81b8d Added filepath dependency to make-reference-files. 2015-05-28 10:12:37 -07:00
John MacFarlane
43371a96e5 Bump version to 1.14.0.1. 2015-05-28 10:00:20 -07:00
John MacFarlane
a10cf0d080 Don't include generated man pages in extra-source-files.
See 3f20fb3f9f.

Closes #2189.
2015-05-28 09:02:58 -07:00
John MacFarlane
ed43a90259 Bump upper bound for aeson. 2015-05-28 08:46:22 -07:00
John MacFarlane
1daa26468c Require cmark-hs >= 0.3.3 (fixes #2175). 2015-05-26 17:23:32 -07:00
John MacFarlane
21b83a14fa Require highlighting-kate 0.6. 2015-05-26 16:52:33 -07:00
John MacFarlane
e06810499e HTML reader: Support base tag.
We only support the href attribute, as there's no place for
"target" in the Pandoc document model for links.

Added HTML reader test module, with tests for this feature.

Closes #1751.
2015-05-13 20:53:19 -07:00
John MacFarlane
1b44acf0c5 SelfContained: properly handle data URIs in css urls.
Also use a proper css parser (adds dependency on text-css).

Closes #2129.
2015-05-04 16:00:28 -07:00
John MacFarlane
1868cb5e42 Updated copyright notices to -2015. Closes #2111. 2015-04-26 10:18:29 -07:00
RyanGlScott
b65238b412 Bump zlib upper version bounds 2015-04-20 13:52:48 -05:00
John MacFarlane
44fcc5f96e Merge pull request #2079 from lierdakil/rst-normalize-headings
RST Writer: Normalize headings to sequential levels
2015-04-17 19:06:25 -07:00
Nikolay Yakimov
4b7ddeb63f RST Writer: Tests for rubrics and heading normalization 2015-04-16 19:27:33 +03:00
John MacFarlane
693bc5f50f Bump texmath lower bound to 0.8.1 2015-04-13 21:25:06 -07:00
John MacFarlane
ccb828894b Added CommonMark writer.
Added `Text.Pandoc.Writers.CommonMark`, exporting
`writeCommonMark`.
2015-03-29 23:42:42 -07:00
John MacFarlane
cbe32c2aeb Require cmark 0.3.1. 2015-03-29 23:42:42 -07:00
John MacFarlane
3f20fb3f9f Always build man pages. Removed make-pandoc-man-pages flag.
Updated INSTALL instructions.

Makefile:  removed man target, now that we generate man pages by default.
2015-03-28 15:40:50 -07:00
John MacFarlane
524d284b88 Added images needed for docx tests to cabal extra-source-files. 2015-03-28 15:40:50 -07:00
John MacFarlane
07cc0079f7 Added source files for reference.docx/odt to extra-source-files. 2015-03-28 14:22:04 -07:00
John MacFarlane
db28a39ba6 Added Tests.Writers.Docx to cabal file. 2015-03-28 14:12:18 -07:00
John MacFarlane
f986d78c7c Version bump to 1.14.
This is because of the significant API changes in the reader
types.  (They now return an Either value.)
2015-03-28 13:48:53 -07:00
John MacFarlane
6a3a04c428 Merge branch 'errortype' of https://github.com/mpickering/pandoc into mpickering-errortype
Conflicts:
	benchmark/benchmark-pandoc.hs
	src/Text/Pandoc/Readers/Markdown.hs
	src/Text/Pandoc/Readers/Org.hs
	src/Text/Pandoc/Readers/RST.hs
	tests/Tests/Readers/LaTeX.hs
2015-03-28 12:12:48 -07:00
Nikolay Yakimov
d744b83b61 Create reference files from unpacked archives with helper program 2015-03-28 10:36:53 -07:00
John MacFarlane
b5b11f31a6 Fixed ghc-prof-options. 2015-03-28 10:10:14 -07:00
John MacFarlane
3f89e3f332 Require highlighting-kate >= 0.5.14
This ensures that all code blocks will be wrapped in a div
with class sourceCode.  Also, the default highlighting CSS
now adds `div.sourceCode { x-overflow: auto; }`, which means
that code blocks (even with line numbers) will acquire a scroll
bar on screens too small to display them (e.g. mobile phones).

See #1903 and jgm/highlighting-kate#65.
2015-03-28 08:18:01 -07:00
John MacFarlane
12c9aa00de pandoc.cabal: changed default profiling options.
Removed `-auto-all` and `-caf-all` at cabal's suggestion.
Use `-auto-exported` instead.
2015-03-27 22:12:42 -07:00
John MacFarlane
dd5d3379e8 Require highlighting-kate 0.5.13.
Closes #1903.
2015-03-27 13:45:22 -07:00
John MacFarlane
8b8a613cd4 Bumped upper bounds for filepath, QuickCheck.
Bumped lower bounds for highlighting-kate, texmath.
2015-03-19 11:47:20 -07:00
John MacFarlane
e0d234e54d Added CommonMark reader using cmark (libcmark bindings).
- Added commonmark as an input format.
- Added `Text.Pandoc.Readers.CommonMark.readCommonMark`.
- For now, we use the markdown writer to generate benchmark
  text for the CommonMark reader.  We can change this when we
  get a writer.
2015-03-17 16:15:57 -07:00
John MacFarlane
5721a5d34b Bump criterion version bound. 2015-03-17 16:15:56 -07:00
John MacFarlane
619b2e8ca2 Merge pull request #1968 from lierdakil/issue1607
Fixes for multiple docx writer style bugs.
2015-03-16 12:02:40 -07:00
Nikolay Yakimov
409111f647 Started moving StyleMap out of writer code 2015-03-01 22:57:35 +03:00
RyanGlScott
d649acc146 Bump blaze-html and blaze-markup upper version bounds 2015-02-28 16:55:23 -06:00
Matthew Pickering
8381ac3b02 Add Text.Pandoc.Error module with PandocError type 2015-02-18 21:09:05 +00:00
John MacFarlane
e32227f744 Allow wildcards in --epub-embed-font arguments.
Closes #1939.
2015-02-13 23:34:20 -08:00
Mark Wright
4c9ebf3c2b Allow haddock-library 1.2 2015-01-05 14:15:10 +11:00
John MacFarlane
c30c96b422 Version bump to 1.13.3. 2014-12-26 10:05:31 -07:00
John MacFarlane
ccf081d32c Require latest highlighting-kate and texmath. 2014-12-19 21:41:53 -08:00
John MacFarlane
c6ad01dc69 Added old-locale flag.
This will ease transition to time 1.5.  However, currently we can't
build with time 1.5 because of dependencies.
2014-12-19 17:26:14 -08:00
John MacFarlane
2c3310a592 Added Text.Pandoc.Compat.Locale to assist with transition to time 1.5. 2014-12-19 16:13:38 -08:00
Bryan O'Sullivan
dbfb2e1353 Link the test suite using -threaded
This allows the test suite to be run using "+RTS -N".

Doing so improves the performance of the test suite on my quad-core Mac laptop as follows:

Before: 8.2 seconds
After:  2.5 seconds
2014-12-08 22:42:45 -08:00
Matthew Pickering
48e2586ec8 Merge pull request #1746 from shelf/dw-ext-images
DokuWiki writer: fix external images
2014-12-08 23:55:36 +00:00
Vincent
dffdb87bec Update pandoc.cabal, Bumping JuicyPixels upper bound 2014-12-06 15:41:34 +01:00
Timothy Humphries
98161afa1a DokuWiki writer: add external_images test
Add test for #1739.
2014-11-09 02:18:58 -05:00
John MacFarlane
0169e10344 Fixed README and pandoc.cabal for TWiki reader. 2014-10-31 12:07:19 -07:00
Alexander Sulfrian
2cf09aad55 TWiki Reader: update documentation 2014-10-30 20:02:17 +01:00
Alexander Sulfrian
79f25fb9ce TWiki Reader: add basic syntax test 2014-10-30 20:02:05 +01:00
Alexander Sulfrian
c3780992ab TWiki Reader: add new new twiki reader 2014-10-30 19:54:48 +01:00
John MacFarlane
e4c6997c81 Version bump to 1.13.2.
This is needed because of the addition of KaTeX to
HTMLMathMethod.
2014-10-20 21:21:18 -07:00
John MacFarlane
7ac1b6b022 Adde network dependency under network-uri flag in test section. 2014-09-28 09:10:42 -07:00
RyanGlScott
9cf9985ecf Bump text, random, http-client upper bounds 2014-09-22 21:47:16 -05:00
John MacFarlane
6ce7081617 Version bump to 1.13.1. 2014-08-30 13:50:49 -07:00
John MacFarlane
8f53918ebe Added new dokuwiki multiblock table tests to pandoc.cabal. 2014-08-30 13:14:50 -07:00
John MacFarlane
c956eb617d Capitalized Build-Depends for consistency. 2014-08-24 08:34:30 -07:00
Gabor Pali
80af713743 Fix build dependencies for the trypandoc flag.
Build dependencies of the trypandoc executable are required, regardless of the
trypandoc flag was set to either True or False.  Correct package description
to make them truly optional.
2014-08-24 16:49:26 +02:00
John MacFarlane
604e1da878 Added network-uri flag.
This addresses the split of network and network-uri.
2014-08-20 15:34:13 -07:00
John MacFarlane
915ff1c9d3 Added tables.dokuwiki and tables.icml to extra-source-files. 2014-08-17 16:23:26 -07:00
John MacFarlane
886cc0dd36 Added trypandoc flag to build trypandoc cgi executable.
Supporting files are in trypandoc/.
2014-08-17 16:11:09 -07:00
John MacFarlane
90e4603f8a Bump version to 1.13.0.1. 2014-08-17 13:24:52 -07:00
John MacFarlane
4c8c63d89e Added dokuwiki template to pandoc.cabal. 2014-08-13 16:56:57 -07:00
John MacFarlane
670441a5a4 Included Tests.Writers.Docbook in test modules. 2014-08-13 16:46:00 -07:00
John MacFarlane
3b7d276ab0 Added make-pandoc-man-pages flag
Previously we built this by default, but most users won't need
to build it, since we include built man pages with the package.
2014-08-13 13:52:46 -07:00
John MacFarlane
a0e795fc40 Added Makefile to rebuild man pages.
This should only be needed by developers.
2014-08-13 12:31:19 -07:00
John MacFarlane
40e67b8737 Revised tests directory.
Renamed some tests, introducing subsidiary directories
for fb2, docx, epub.

Cleaned up tests in cabal file.

Combined dokuwiki-writer and dokuwiki_inline_formatting tests.
2014-08-13 11:16:50 -07:00
John MacFarlane
1d6e1cf9f3 Removed special testHook from Setup.
This was just too fragile and dependent on a changing Cabal API
(see #1526).

Instead of passing the bulid directory to the test program, we
now let the test program find itself (using executable-path)
and then find the pandoc executable relative to itself.
2014-08-13 08:12:07 -07:00
John MacFarlane
e883ef4eb9 Merge pull request #1527 from mpickering/juicypixels
Attempts to convert gif, tiff and bmp to png in pdf writer
2014-08-12 16:57:22 -07:00
Matthew Pickering
57bebe26df PDF Writer: Attempts to convert images to pdf renderable formats
Now depends on the JuicyPixels library.

Will attempt to convert an image (gif, tiff, bmp) to png when converting
to pdf.
2014-08-13 00:37:18 +01:00
Matthew Pickering
063ba81622 EPUB Tests: Added wasteland test
This epub contains many epub:type elements including footnotes and
titlepage.
2014-08-13 00:25:18 +01:00
Jesse Rosenthal
0808449547 Docx: Add dropcap tests. 2014-08-11 23:10:50 -04:00
John MacFarlane
7ec953e31b Require zip-archive 0.2.3.4, with normalized path comparison. 2014-08-11 12:13:32 -07:00
Matthew Pickering
f33ae631f3 Improved EPUB Tests
Rewrote features test to remove all unimplemented features.

There are now all three examples of where an image can be included in
the test.
  1. Cover image
  2. As a spine elemnt
  3. In the document

Tests have also been added to make sure that the mediabag contains all
these images after processing.
2014-08-10 14:58:53 +01:00
John MacFarlane
7ec8dd956f Removed OMath module, depend on texmath >= 0.8. 2014-08-10 06:19:41 -07:00
Matthew Pickering
edc57f77fc Added Text.Pandoc.Readers.Docx.Fonts 2014-08-09 22:37:12 -04:00
John MacFarlane
10b662c120 EPUB test renaming.
Renamed epub test files so they're identified more clearly as
epub:  features.{epub,native} -> epub.features.{epub,native},
and similarly with formatting.{epub,native}.

Added epub test files to cabal file, so they'll be included in
the tarball.
2014-08-07 22:25:06 -07:00
John MacFarlane
17e48ba81e Merge pull request #1494 from jkr/math-module
Math module
2014-08-07 13:44:19 -07:00
Jesse Rosenthal
98d14b2b2a Docx reader: Test inline image code. 2014-08-07 15:34:49 -04:00
Jesse Rosenthal
a7967d1aef Docx reader: Split math out into math module.
Could use some cleanup, but this is the first step for getting
an OMML reader into TeXMath.
2014-08-07 12:20:22 -04:00
Jesse Rosenthal
cdd769624f Remove now-unnecessary TexChar
TeXMath does the work now.
2014-08-06 11:20:41 -04:00
John MacFarlane
4630cff2a6 Merge branch 'epubend' of https://github.com/mpickering/pandoc into mpickering-epubend
Conflicts:
	pandoc.cabal
2014-08-04 07:36:18 -07:00
Artyom Kazak
f6cf8e8b4b Add plain writer testing module to .cabal file. 2014-08-03 18:32:31 +04:00
John MacFarlane
cbaaa17d49 Bump aeson upper bound. 2014-08-02 15:14:15 -07:00
Matthew Pickering
8460ea417f EPUB Reader: Integrated into program 2014-07-31 21:39:50 +01:00
Jesse Rosenthal
ed71e9b31d Docx tests: rewrite mediabag tests.
This will allow us to test the whole mediabag (making sure, for example,
that images are added with the correct keys) instead of just individual
extracted images. We compare each entry in the media bag to an image
extracted on the fly from the docx. As a result, we only need one file
to test with.

The image in the current tests was also replaced with a smaller one.
2014-07-31 15:47:45 -04:00
John MacFarlane
6dd2418476 New module, Text.Pandoc.MediaBag.
Moved `MediaBag` definition and functions from Shared:
`lookupMedia`, `mediaDirectory`, `insertMedia`, `extractMediaBag`.
Removed `emptyMediaBag`; use `mempty` instead, since `MediaBag`
is a Monoid.
2014-07-31 12:00:21 -07:00
Jesse Rosenthal
16f88edb3b Docx tests: Added media test comparison function.
Also tell pandoc.cabal that we'll be needing base64, since we want to
compare strings here.
2014-07-30 22:31:38 -04:00
Jesse Rosenthal
54708da371 Add and update docx tests in pandoc.cabal. 2014-07-29 13:05:19 -04:00
Matthew Pickering
9e4604fa0b Added compatability layer to support directory-1.1 2014-07-27 00:36:23 +01:00
Matthew Pickering
00cb9836b8 Txt2Tags Reader: Updated README and package description 2014-07-27 00:12:57 +01:00
Matthew Pickering
e340a7da02 Txt2Tags Reader: Added tests 2014-07-27 00:12:57 +01:00
Matthew Pickering
7d04d383a6 Added txt2tags reader
http://txt2tags.org/

There are two points which currently do not match the official
implementation.

1. In the official implementation lists can not be nested like the
following but the reader would interpret this as a bullet list with the
first item being a numbered list.

```
  - + This is not a list
```

2. The specification describes how URIs automatically becomes links.
Unfortunately as is often the case, their definitiong of URI is not
clear. I tried three solutions but was unsure about which to adopt.

* Using isURI from Network.URI, this matches far too many strings and is
therefore unsuitable
* Using uri from Text.Pandoc.Shared, this doesn't match all strings that
the reference implementation matches
* Try to simulate the regex which is used in the native code

I went with the third approach but it is not perfect, for example
trailing punctuation is captured in Urls.
2014-07-27 00:12:56 +01:00
John MacFarlane
999b952a21 Require highlighting-kate >= 0.5.8.5. 2014-07-19 17:16:41 -07:00
John MacFarlane
047f9b3714 Merge pull request #1430 from jkr/anchor-fix-2
Fix auto identified headers when already auto-id'ed
2014-07-15 20:27:28 -07:00
John MacFarlane
454d0e4d85 Require highlighting-kate 0.5.8.4.
For correct highlighting of identifiers in prolog and other languages.
2014-07-15 13:31:31 -07:00
Jesse Rosenthal
643435f1de Docx reader: Add test
Test auto ident header anchors with pandoc-generated pandoc.
2014-07-15 18:32:19 +01:00
Jesse Rosenthal
fe2eda9d54 Docx Reader: Add a compatibility layer for Except.
mtl switched from ErrorT to ExceptT, but we're not sure which mtl we'll
be dealing with. This should make errors work with both.

The main difference (beside the name of the module and the monad
transformer) is that Except doesn't require an instance of an Error
Typeclass. So we define that for compatability. When we switch to a
later mtl, using Control.Monad.Exception, we can just erase the instance
declaration, and all should work fine.
2014-07-12 18:04:06 +01:00
John MacFarlane
7d9136edbb Minor line wrapping. 2014-07-07 16:20:18 -06:00
John MacFarlane
616cf6c539 Merge branch 'dokuwiki' of https://github.com/claremacrae/pandoc into claremacrae-dokuwiki 2014-07-07 16:15:35 -06:00
Jesse Rosenthal
9f4bacf86f Docx Reader: Add new file, TexChar.
This will allow us to deal with unicode characters from word equations. This
part of the process will need to continue to be improved.
2014-07-02 16:53:28 -04:00
Clare Macrae
717e16660d Merge remote-tracking branch 'jgm/master' into dokuwiki 2014-06-29 19:22:31 +01:00
John MacFarlane
b2127311cb Require haddock-library >= 1.1 and simplify haddock reader code.
See #1346.
2014-06-26 12:35:13 -07:00
Jesse Rosenthal
8517a4f2e5 Add Reducible to cabal file. 2014-06-23 17:08:17 -04:00
John MacFarlane
84391a887d Require highlighting-kate >= 0.5.8.3.
This change to highlighting-kate means that PHP fragments no longer
need to start with `<?php`.  Closes #1271.
2014-06-19 11:52:58 -07:00
John MacFarlane
cf15b929f8 Added haddock writer tests. 2014-06-18 17:55:21 -07:00
John MacFarlane
0d364a284d Added haddock template. 2014-06-18 17:49:32 -07:00
John MacFarlane
35e57db5c2 Finished first draft of Haddock writer. 2014-06-18 17:09:36 -07:00
John MacFarlane
ab390a10ec Removed old haddock reader code. Add dependency on haddock-library.
This also removes the dependency on alex and happy.
2014-06-18 11:33:09 -07:00
John MacFarlane
bbe99003f8 Naming: Use Docx instead of DocX.
For consistency with the existing writer.
2014-06-16 22:44:40 -07:00
John MacFarlane
7c1d38ac7d Bump version to 1.13 2014-06-16 22:18:01 -07:00
Jesse Rosenthal
cfd5290fc5 Reference new DocX tests in cabal file. 2014-06-16 07:18:52 -04:00
Jesse Rosenthal
7f4668d871 Add files to cabal.
Note there is a build warning for unused `makeImagesSelfContained`
function, since there isn't yet a command-line-option to make use of it.
2014-06-16 07:18:40 -04:00
John MacFarlane
f011d24165 Require aeson >= 0.7.0.5 to avoid build problems. 2014-06-06 22:20:21 -07:00
John MacFarlane
aff6ba921b Require texmath >= 0.6.6.3. Closes #1324.
This fixes \tilde{E}, especially in docx.
2014-06-03 17:17:33 -07:00
John MacFarlane
356a32e938 Version bump to 1.12.5. 2014-06-03 11:02:11 -07:00
John MacFarlane
4552555625 Require latest texmath. Closes #1319.
This allows `\left` to be used with `]`, `)`, etc.
2014-06-02 13:50:58 -07:00
John MacFarlane
e1cf47efa0 Templates: Fail informatively on template syntax errors.
With the move from parsec to attoparsec, we lost good error
reporting.  In fact, since we weren't testing for end of input,
malformed templates would fail silently.  Here we revert back to
Parsec for better error messages.
2014-06-01 23:45:05 -07:00
John MacFarlane
9cf5f74e8f PDF writer: Fixed treatment of data uris for images.
Closes #1062.
2014-05-28 10:41:40 -07:00
John MacFarlane
2d90803b7c Require latest highlighting-kate. Fixes #1317. 2014-05-27 12:12:02 -07:00
John MacFarlane
fd11a5a5eb Require latest zip-archive.
This has fixes for unicode path names.  Note that compiling
pandoc against zip-archive 0.2.3 or 0.2.3.1 will lead to invalid
zip containers, causing LibreOffice (e.g.) to regard ODTs as corrupt.
2014-05-27 11:22:53 -07:00
John MacFarlane
ee8c8da8cc Removed dependency on conduit.
* http-conduit flag is now https.
* Instead of http-conduit, we depend on http-client and http-client-tls.
2014-05-18 22:07:00 -07:00
John MacFarlane
650f831949 travis: Test with ghc 7.8.2 rather than 7.8.1. 2014-05-16 09:50:30 -07:00
Michael Snoyman
46e7bcae69 Allow scientific 0.3 2014-05-16 09:32:24 +03:00
John MacFarlane
8de5daed57 Require highlighting-kate 0.5.8.1.
0.5.8 has a serious bug that causes error failure with ocaml and fsharp.
2014-05-15 12:58:30 -07:00
John MacFarlane
cf533a1c2c Bump version to 1.12.4.2. 2014-05-14 13:46:09 -07:00
John MacFarlane
06edff7402 Added default.icml to data-files so it installs with the package. 2014-05-12 12:30:30 -07:00
John MacFarlane
02b8608aab Version bump to 1.12.4.1. 2014-05-12 12:08:36 -07:00
John MacFarlane
e52196691b Require highlighting-kate >= 0.5.8.
This fixes a performance regression.
2014-05-12 09:21:16 -07:00
Albert Krewinkel
8fdbef841d Update copyright notices for 2014, add missing notices 2014-05-09 00:46:08 +02:00
John MacFarlane
249c3e8c5a Bumped version bound for mtl. 2014-05-07 11:21:04 -07:00
John MacFarlane
b71810d7e6 Require latest texmath. 2014-05-07 11:10:25 -07:00
John MacFarlane
985ba0b32b Require latest highlighting-kate. 2014-05-07 11:09:45 -07:00
John MacFarlane
41c89d51c7 AsciiDoc writer: Added test for empty table cells. 2014-05-03 21:24:20 -07:00
John MacFarlane
7f86f95f36 Require pandoc-types 1.12.3.3.
Fixes #1269.
2014-04-29 22:25:46 -07:00
John MacFarlane
a744e3868e Bump version to 1.12.4. 2014-04-25 20:14:39 -07:00
John MacFarlane
aeec883e0e Merge pull request #1260 from joehillen/tabs-in-cabalfile
change tabs to spaces in pandoc.cabal
2014-04-24 16:48:02 -07:00
John MacFarlane
58c9946cda Bumped upper bounds for http-conduit and network. 2014-04-24 13:16:10 -07:00
John MacFarlane
b08de8fe35 Require aeson >= 0.7. 2014-04-24 11:55:20 -07:00
John MacFarlane
d16775e1c7 Render numbers in YAML metadata without decimals when possible.
The change to aeson > 0.7 caused numbers to be rendered with
decimals.  This change causes them to be rendered without decimals
wehn possible.
2014-04-24 11:09:07 -07:00
Joe Hillenbrand
8b0279b4ac change tabs to spaces in pandoc.cabal 2014-04-22 10:50:22 -07:00
John MacFarlane
d8d4ede4d6 Require yaml >= 0.8.8.2.
Otherwise we have problems with integers being rendered with
decimal points.
2014-04-14 17:06:38 -07:00
John MacFarlane
714d4707b5 Require tagsoup 0.13.1.
This fixes a bug in parsing of script tags.
See #1248.
2014-04-14 17:05:20 -07:00
John MacFarlane
f48b564ac7 Updated GHC versions in tested-with field. 2014-04-10 11:04:05 -07:00
John MacFarlane
9f3f4298dd Moved some doc files from data-files to extra-source-files.
They aren't needed at runtime.

We keep README and COPYRIGHT in data to ensure that they'll be
available on all systems on which pandoc is installed.

Closes #1123.
2014-04-06 15:04:50 -07:00
Sergei Trofimovich
8890c2ba3d pandoc.cabal: allow QuickCheck-2.7
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2014-04-04 23:49:21 +03:00
John MacFarlane
64a571775d Updated README and pandoc.cabal with icml writer. 2014-03-04 10:29:13 -08:00
John MacFarlane
ae86e24ff6 Merge branch 'master' of https://github.com/mb21/pandoc into mb21-master 2014-03-04 10:15:43 -08:00
John MacFarlane
1046339755 Added org-mode to list of readers in cabal description. 2014-03-04 10:15:04 -08:00
Albert Krewinkel
24b2ac43b0 Add a simple Emacs Org-mode reader
The basic structure of org-mode documents is recognized; however,
org-mode features like todo markers, tags etc. are not supported yet.
2014-03-04 10:40:40 +01:00
mb21
80511f1b34 InDesign ICML Writer 2014-02-28 13:35:35 +01:00
John MacFarlane
19b127b898 PDF: Use ; for TEXINPUTS separator on Windows.
Closes #1151, I hope.  Testing needed.
2014-02-23 20:36:21 -08:00
John MacFarlane
4a84e9691e Version bump to 1.12.3.3.
No changes to source:  just to regenerate tarball with latest alex,
happy, to satisfy GHC 7.8.
2014-02-03 14:08:13 -08:00
John MacFarlane
406c311115 Version bump to 1.12.3.2. 2014-02-03 13:32:50 -08:00
John MacFarlane
dc2c23a25f Bumped version bounds for blaze-html, blaze-markup. 2014-01-27 21:08:56 -08:00
John MacFarlane
a1abb3eeea Allow binary 0.5. Version bump to 1.12.3.1. 2014-01-14 10:13:08 -08:00
John MacFarlane
32c82903f3 Require latest texmath, highlighting-kate. 2014-01-09 23:12:19 -08:00
John MacFarlane
c26fd3556b Relaxed version bounds on attoparsec, text, aeson. 2014-01-09 16:05:20 -08:00
John MacFarlane
5c8c380a79 Better exif parsing, including image resolution.
This introduces a dependency on binary >= 0.6, but we depend
on binary >= 0.5 via zip-archive anyway.

Closes #976.
2014-01-09 11:16:55 -08:00
John MacFarlane
9bd7ed7225 Increase upper bound for text. 2014-01-06 22:35:54 -08:00
John MacFarlane
6ddd9f3239 Increase upper bound on process. 2014-01-06 22:35:06 -08:00
John MacFarlane
452a140d0c Pretty: Added nestle. API change, minor version bump to 1.12.3. 2014-01-02 21:09:39 -08:00
John MacFarlane
3f26a02737 Allow temporary 1.2. 2013-12-26 11:12:37 -08:00
John MacFarlane
26052d3cba Allow zip-archive 0.2. 2013-12-10 10:24:02 -08:00
John MacFarlane
afa88b4a25 Relaxed version bounds for array, http-conduit, process. 2013-12-09 21:07:33 -08:00
John MacFarlane
9673587b38 Version mubp to 1.12.2.1 2013-12-08 14:35:42 -08:00
John MacFarlane
f8b4a9e669 Require texmath >= 0.6.5.2. 2013-11-06 09:26:37 -08:00
John MacFarlane
cf0472a4c6 Version bump to 1.12.2. 2013-11-03 21:24:34 -08:00
John MacFarlane
0d95c15e83 TexMath: Export readTeXMath', which attends to display/inline.
Deprecate readTeXMath, and use readTeXMath' in all the writers.
Require texmath >= 0.6.5.
2013-11-01 14:28:24 -07:00
John MacFarlane
1a2832e96a Bump version to 1.12.1. 2013-10-20 13:43:00 -07:00
John MacFarlane
e2acc46f50 Removed data files for s5, slideous, slidy.
Users of s5 and slideous will have to download the needed
files, as has been documented for some time in the README.

slidy files will be sought on the web, as before.
2013-10-20 13:35:04 -07:00
John MacFarlane
dc853a1cd9 Version bump to 1.12.0.3. 2013-10-19 16:39:57 -07:00
John MacFarlane
f37fa15518 Require pandoc-types 1.12.3.
This will enforce a certain JSON encoding.
2013-10-15 22:53:03 -07:00
John MacFarlane
627c54011b Revert "Setup.hs: Better way of handling man page building."
This reverts commit ed061b91c8.
2013-10-08 20:52:56 -07:00
John MacFarlane
ed061b91c8 Setup.hs: Better way of handling man page building.
Previously we tried to remove make-pandoc-man-pages from the list
of packages to be haddocked, installed, copied, etc.

It works better to set 'Buildable: False' on make-pandoc-man-pages,
then have the buildHook temporarily set Buildable to True.  This
allows make-pandoc-man-pages to be built (and used in generating
the man pages), but not installed.
2013-10-06 18:04:18 -07:00
John MacFarlane
d6ccebdb2c Require pandoc-types >= 1.12.2.2. 2013-10-01 22:50:02 -07:00
John MacFarlane
3081fce90e Require pandoc-types >= 1.12.2. 2013-09-29 11:19:04 -07:00
John MacFarlane
f9430e995e Bump version to 1.12.0.2 and update changelog. 2013-09-20 20:31:43 -07:00
John MacFarlane
1b42093890 Removed stringable as a dependency. IT is not used. 2013-09-20 20:30:36 -07:00
John MacFarlane
6a2ca0b295 Version bump to 1.12.0.1. 2013-09-20 10:30:46 -07:00
John MacFarlane
652f9a88f4 Handle Boolean values in --metadata.
Note that anything not parseable as a YAML boolean or string
is treated as a literal string.

Note that you can still get a string value with "yes" or any
of the strings interpretable as booleans:

    -M boolvalue=yes -M stringvalue='"yes"'
2013-09-19 20:21:35 -07:00
John MacFarlane
32afe85754 Allow --metadata to be repeated for the same key to form a list.
This also has the effect that `--bibliography` can be repeated,
as before.
2013-09-17 21:04:27 -07:00
John MacFarlane
c04d243795 Depend on pandoc-types 1.12.1. 2013-09-17 08:34:43 -07:00
John MacFarlane
2b2d0064be Declare alex and happy as build-tools.
Closes #986.
2013-09-16 08:10:53 -07:00
John MacFarlane
c2960d9ded Fixed a couple test files in cabal file. 2013-09-09 22:15:19 -07:00
John MacFarlane
53f61019e2 Added --metadata/-M option.
This is like `--variable/-V`, but actually adds to metadata, not
just variables.
2013-09-01 15:40:28 -07:00
John MacFarlane
4e4c948b41 Added markdown citation parsing test. 2013-08-26 22:30:27 -07:00
John MacFarlane
152d2919ab Removed tests relating to citation processing. 2013-08-25 07:41:37 -07:00
John MacFarlane
deb59b6235 Removed dependency on citeproc-hs.
Going forward we'll use pandoc-citeproc, as an external filter.

The `--bibliography`, `--csl`, and `--citation-abbreviation` fields
have been removed.  Instead one must include `bibliography`, `csl`,
or `csl-abbrevs` fields in the document's YAML metadata.  The filter
can then be used as follows:

    pandoc --filter pandoc-citeproc

The `Text.Pandoc.Biblio` module has been removed.  Henceforth,
`Text.CSL.Pandoc` from pandoc-citations can be used by library users.

The Markdown and LaTeX readers now longer format bibliographies and
citations.  That must be done using `processCites` or `processCites'`
from Text.CSL.Pandoc.

All bibliography-related fields have been removed from `ReaderOptions`
and `WriterOptions`: `writerBiblioFiles`, `readerReferences`,
`readerCitationStyle`.

API change.
2013-08-24 22:33:01 -07:00
John MacFarlane
74250b6c35 Moved most of Text.Pandoc.Readers.TeXMath to texmath 0.6.4. 2013-08-24 16:10:13 -07:00
John MacFarlane
70386a6a54 Removed scripts directory.
This has been put in its own github repo:
https://github.com/jgm/pandoc-filters-python
2013-08-18 15:37:27 -07:00
John MacFarlane
caa89efc32 Added scripts/deflists.py to filter examples. 2013-08-16 20:57:34 -07:00
John MacFarlane
3e8bd8aa15 Updated for removed unMeta, unFormat in pandoc-types. 2013-08-14 23:24:45 -07:00
John MacFarlane
6f736dfa75 Added Tests.Walk.
This verifies that walk and query match the generic traversals.
2013-08-10 19:04:15 -07:00
John MacFarlane
99bb066bb9 Pass writename as argument to filters.
This way filters can figure out what the target format is
and react appropriately.

Example:

    #!/usr/bin/env runghc
    import Text.Pandoc.JSON
    import Data.Char

    main = toJSONFilter cap
      where cap (Just "html") (Str xs) = Str $ map toUpper xs
            cap _ x = x

This capitalizes text only for html output.
2013-08-08 15:15:58 -07:00
John MacFarlane
7d694e1569 Added Text.Pandoc.Process (pipeProcess).
A souped up version of readProcessWithErrorCode that uses lazy bytestrings
and allows setting environment.
2013-08-08 15:15:12 -07:00
John MacFarlane
2677e84663 Revert "Revert "Added --filter option.""
This reverts commit 2e5edbb278.
2013-08-08 11:09:00 -07:00
John MacFarlane
12e7ec4070 Added Text.Pandoc.Compat.TagSoupEntity.
This allows pandoc to compile with tagsoup 0.13.x.
Thanks to Dirk Ullrich for the patch.
2013-08-08 10:42:52 -07:00
John MacFarlane
802dc9a8b9 Added Text.Pandoc.Compat.Monoid.
This allows pandoc to compile with base < 4.5, where Data.Monoid
doesn't export `<>`.  Thanks to Dirk Ullirch for the patch.
2013-08-08 10:41:39 -07:00
John MacFarlane
b1be9cfaef Require latest version of texmath.
Closes #935.
2013-08-05 18:41:33 -07:00
John MacFarlane
2d6e0b1530 Remove CPP from default-extensions; add pragmas to modules as needed. 2013-08-04 14:12:13 -07:00
John MacFarlane
a24409d43e pandoc.cabal: Removed support for ghc version < 7.2.
There is no point to supporting them, since pandoc-types
requires at least ghc 7.2 for GHC generics.
2013-08-03 16:44:54 -07:00
John MacFarlane
2e5edbb278 Revert "Added --filter option."
This reverts commit 85dacbb282.
2013-07-23 23:17:07 -07:00
John MacFarlane
85dacbb282 Added --filter option.
This makes it easier to use JSON filters.  Instead of
doing

    pandoc -t json | ./filter | pandoc -f json

you can just do

    pandoc --filter ./filter
2013-07-23 23:02:47 -07:00
John MacFarlane
7f15d888f6 Require highlighting-kate 0.5.5.
0.5.4 has a serious memory leak that affects the mandoc parser.
See highlighting-kate#34.
2013-07-22 16:14:47 -07:00
Clare Macrae
7eded47bcd Initial work to create dokuwiki writer (#386)
In this first version, all dokuwiki files are straight copies of the
media wiki counterparts.
2013-07-14 13:40:27 +01:00
John MacFarlane
ed714b1b52 cabal: Added http-conduit flag, which allows fetching https resources.
It also brings in a large number of dependencies (http-conduit and its
dependencies), which is why for now it is an optional flag.

Closes #820.
2013-07-04 23:13:37 -07:00
John MacFarlane
e973bbbbc8 Markdown reader: Better error messages for yaml headers. 2013-07-02 09:23:43 -07:00
John MacFarlane
956425709d Created Text.Pandoc.Writers.Shared, improved metaToJSON.
* Text.Pandoc.Writers.Shared contains shared functions used
  only in writers.
* metaToJSON now takes a WriterOptions parameter, and will
  return an empty object if standalone is not specified.
2013-07-01 20:47:26 -07:00
John MacFarlane
f939dbdcc5 Require highlighting-kate 0.5.4. 2013-06-26 20:53:38 -07:00
John MacFarlane
f869f7e08d Use new flexible metadata type.
* Depend on pandoc 1.12.
* Added yaml dependency.
* `Text.Pandoc.XML`: Removed `stripTags`.  (API change.)
* `Text.Pandoc.Shared`:  Added `metaToJSON`.
  This will be used in writers to create a JSON object for use
  in the templates from the pandoc metadata.
* Revised readers and writers to use the new Meta type.
* `Text.Pandoc.Options`: Added `Ext_yaml_title_block`.
* Markdown reader:  Added support for YAML metadata block.
  Note that it must come at the beginning of the document.
* `Text.Pandoc.Parsing.ParserState`:  Replace `stateTitle`,
  `stateAuthors`, `stateDate` with `stateMeta`.
* RST reader:  Improved metadata.
  Treat initial field list as metadata when standalone specified.
  Previously ALL fields "title", "author", "date" in field lists
  were treated as metadata, even if not at the beginning.
  Use `subtitle` metadata field for subtitle.
* `Text.Pandoc.Templates`:  Export `renderTemplate'` that takes a string
  instead of a compiled template..
* OPML template:  Use 'for' loop for authors.
* Org template: '#+TITLE:' is inserted before the title.
  Previously the writer did this.
2013-06-24 20:29:41 -07:00
John MacFarlane
e32a8f5981 Revised Text.Pandoc.Templates to accept JSON contexts.
Currently the library is set up with a shim for association
lists, for compatibility, but this can change when the writers
are changed.

New export: `varListToJSON`.

Removed `Empty`.

Simplified template type to a newtype.
2013-06-24 20:27:37 -07:00
John MacFarlane
5f4a32e465 Use aeson for json.
Benchmarked:  about twice as slow as json!
2013-06-24 20:27:37 -07:00
John MacFarlane
b664068221 Set default stack size to 16M.
This is needed for some large conversions, esp. if pandoc
is compiled with 64-bit ghc.
2013-05-29 12:29:38 -07:00
John MacFarlane
f42ffcb710 Bump upper bound for criterion. 2013-05-07 20:42:38 -07:00
John MacFarlane
fa978e1365 Use latest highlighting-kate and texmath.
Closes #849.
2013-05-07 20:22:09 -07:00
John MacFarlane
9d01c45b01 Version bump to 1.11.2. 2013-05-01 12:54:19 -07:00
John MacFarlane
26fefa040a PDF: On Windows, create temdir in working directory.
Reason:  the path to the system temp directory may contain tildes,
which causes problems in LaTeX when the username is more than
eight characters.

Closes #777.
2013-04-26 20:36:06 -07:00
John MacFarlane
cecceee0d3 Added Text.Pandoc.Asciify utility module.
This has functions to create ascii-only versions of identifiers.
2013-04-23 20:10:24 -07:00
John MacFarlane
7d7bc2cb79 Added CONTRIBUTING.md. 2013-04-14 20:42:01 -07:00
John MacFarlane
4fa2a94759 Added Text.Pandoc.Writers.Custom, --print-custom-lua-writer.
pandoc -t data/sample.lua

will load the script sample.lua and use it as a custom writer.
data/sample.lua is provided as an example.

Added `--print-custom-lua-writer` option to print the sample
script.
2013-04-14 00:31:39 -05:00
John MacFarlane
0b85ad7546 Added stubs for haddock reader tests.
Modify tests/haddock-reader.haddock and
tests/haddock-reader.native.
2013-03-28 15:58:09 -07:00
John MacFarlane
5a20f3a9c3 Mention haddock reader in cabal description. 2013-03-28 15:31:15 -07:00
David Lazar
18459b95ba Add reader for Haddock markup based on Haddock's own lexer/parser. 2013-03-28 14:53:10 -07:00
John MacFarlane
ba1e74dcd7 Removed blaze_html_0_5 flag, require blaze-html >= 0.5.
Reason:  < 0.5 does not provide a monoid instance for Attribute,
which is now needed by the HTML writer.

Closes #803.
2013-03-26 11:38:50 -07:00
John MacFarlane
942b7b8f9c Slidy: Use slidy.js rather than slidy.js.gz.
Reason:  some browsers have trouble with the gzipped js file,
at least on the local file system.

Closes #795.
2013-03-25 19:48:42 -07:00
John MacFarlane
572457f8a9 Documented revealjs in README and pandoc.cabal description. 2013-03-23 21:48:39 -04:00
John MacFarlane
6b4a72f633 Added default.revealjs template to cabal file. 2013-03-23 21:31:15 -04:00
John MacFarlane
5b4d239b85 Added OPML template, tests.
Minor fixes to OPML writer.
Improved OPML reader tests.
2013-03-20 10:17:59 -07:00
John MacFarlane
69acb47a34 Added Text.Pandoc.Writers.OPML.
TODO:

* Document in README
* Add tests
* Add template (and add template to cabal file)
2013-03-19 22:49:44 -07:00
John MacFarlane
74d53f4347 Added Text.Pandoc.Readers.OPML, exporting readOPML.
The _note attribute is supported.  This is unofficial, but
used e.g. in OmniOutliner and supported by multimarkdown.
We treat the contents as markdown blocks under a section
header.

Added to documentation and tests.
2013-03-19 20:22:14 -07:00
John MacFarlane
cae52ecc31 Revert "LaTeX reader: citation handling changes."
This reverts commit f7229b1473.
2013-03-17 08:48:29 -07:00
John MacFarlane
0e40355059 Version bump to 1.11.1. 2013-03-16 15:55:43 -07:00
John MacFarlane
762258b233 Version bump to 1.11.0.1. 2013-03-16 15:48:34 -07:00
John MacFarlane
6e8209f6b2 Bumped QuickCheck version bound. 2013-03-16 15:32:54 -07:00
John MacFarlane
f7229b1473 LaTeX reader: citation handling changes.
Previously, a LaTeX citation would always be parsed as a Citation
element, with the raw LaTeX in the [Inline] part.

Now, the LaTeX citation is parsed as a Citation element only if
`--biblio` was specified (i.e. only if there is a nonempty set
of references in readerReferences).  Otherwise it is parsed as
raw LaTeX.

This will make it possible to simplify some things in the markdown
writer.  It also makes the LaTeX reader behave more like the Markdown
reader.
2013-03-09 10:33:25 -08:00
John MacFarlane
4e2e088feb Bump syb version to < 0.5. 2013-03-06 13:06:35 -08:00
John MacFarlane
3b63cb0903 Hide Text.Pandoc.Highlighting.
* Moved code for translating listings language names to
  highlighting-kate names and back from LaTeX reader to Highlighting.
* Text.Pandoc.Highlighting no longer exposed (API change)
* Text.Pandoc.Highlighting exports toListingsLang, fromListingsLang
2013-03-05 22:09:42 -08:00
John MacFarlane
fd657986cc pandoc.cabal: Require latest h-k, texmath, citeproc-hs, zip-archive.
Pandoc will compile with older versions, but there will be bugs
relating to these functions.  Making the current versions dependencies
is the only way to get packages updated in the distros.
2013-03-04 17:15:51 -08:00
John MacFarlane
9453995cbf Allow compilation with blaze-html 0.6. 2013-02-19 18:45:41 -08:00
John MacFarlane
1a22709ff9 Increased upper bound for Diff. 2013-02-13 08:20:02 -08:00
John MacFarlane
6d95984626 Version bump to 1.11, Text.Pandoc.Parsing no longer exposed. 2013-02-12 20:14:43 -08:00
John MacFarlane
55fed3ca9c Version to 1.10.1.1 since we no longer have API change. 2013-02-09 19:07:27 -08:00
John MacFarlane
78759cfd42 Revert "Hide module Text.Pandoc.Parsing."
This reverts commit 18a5c9a8bf.

We want to do this eventually, but as it requires a major version
bump, let's wait til later.
2013-02-09 19:04:55 -08:00
John MacFarlane
1aa74199cf Revert "Hide module Text.Pandoc.Highlighting."
This reverts commit 01753ead71.

We need it after all in pandoc.hs.
2013-02-05 19:34:08 -08:00
John MacFarlane
4cff7ba817 Version bump to 1.11 due to API changes. 2013-02-05 19:27:55 -08:00
John MacFarlane
01753ead71 Hide module Text.Pandoc.Highlighting.
This is really an auxiliary module.
2013-02-05 19:07:59 -08:00
John MacFarlane
18a5c9a8bf Hide module Text.Pandoc.Parsing. 2013-02-05 19:06:33 -08:00
John MacFarlane
f3b1b8e720 Version bump to 1.10.1. 2013-01-28 10:54:34 -08:00
John MacFarlane
0bc9b0679b Increased ansi-terminal upper bound. 2013-01-25 12:37:45 -08:00
John MacFarlane
bd645d9ae5 Relaxed old-time version bound, allowing 1.0.*.
I see no reason for the restriction, which requires a recent
Haskell Platform.

The module is only used in make-pandoc-man-pages anyway.
2013-01-25 11:24:52 -08:00
John MacFarlane
e97b8ae946 Version bump to 1.10.0.5. 2013-01-23 19:39:07 -08:00
John MacFarlane
fe337b07f7 Use hsb2hs preprocessor instead of TH for embed_data_files.
This should work on Windows, unlike the TH solution with
file-embed.
2013-01-23 19:26:39 -08:00
John MacFarlane
daeb52d4e0 Eliminated use of TH in test suite. 2013-01-23 19:26:39 -08:00
John MacFarlane
9c299d282f Added Text.Pandoc.Data (non-exported) if embed_data_files selected.
This module just exports the association list of embedded data files,
which is used by Shared.
2013-01-23 19:26:39 -08:00
John MacFarlane
b4232fdbda Updated tested-with in cabal file. 2013-01-21 14:05:36 -08:00
John MacFarlane
93c9a1c167 Version bump to 1.10.0.4. 2013-01-20 19:25:42 -08:00
John MacFarlane
00fe1dba31 Bump version to 1.10.0.3; added further missing fb2 tests.
Updated changelog.
2013-01-20 10:19:08 -08:00
John MacFarlane
155a312a83 Version bump to 1.10.0.2. 2013-01-20 09:43:37 -08:00
John MacFarlane
8c8aadecf4 Added fb2 tests to extra-source-files.
Otherwise we get an error in `cabal install --enable-tests`
from Hackage.
2013-01-20 09:43:11 -08:00
John MacFarlane
31b282d422 Bump version to 1.10.0.1. 2013-01-20 08:47:20 -08:00
John MacFarlane
346edea8c2 Bump version bounds on test-framework packages. 2013-01-20 08:46:51 -08:00
John MacFarlane
492268a984 Updated copyright date in pandoc.cabal. 2013-01-19 16:44:03 -08:00
John MacFarlane
e1225643bb Removed -O2.
The benchmark differences between -O2 and the default
were so slight that it's not worth it.  (Measured with ghc 7.4.)
2013-01-19 16:29:18 -08:00
John MacFarlane
08ce073de5 Removed unneeded -dno-debug-output from ghc-options 2013-01-19 16:15:24 -08:00
John MacFarlane
e3ccff1f2d Removed MakeManPages from cabal extra-files. 2013-01-19 16:01:16 -08:00
John MacFarlane
d599c4cdab Added Attr field to Header.
Previously header ids were autogenerated by the writers.
Now they are generated (unless supplied explicitly) in the
markdown parser, if the `header_identifiers` extension is
selected.

In addition, the textile reader now supports id attributes on
headers.
2013-01-09 09:30:05 -08:00
John MacFarlane
0675346e76 Fixed test suite to use Diff 0.2 API. 2013-01-02 11:41:22 -08:00
John MacFarlane
2e43980a67 Fixed bytestring upperbounds (0.11, not 1.0). 2012-12-31 14:34:02 -08:00
John MacFarlane
547ad7fd1b Require file-embed >= 0.0.4.7.
This fixes a bug with embedDir on Windows:  previously
forward slashes were used as path separators.
2012-12-30 15:51:04 -08:00
John MacFarlane
2f984b6074 Moved all data files and templates to data/. 2012-12-29 18:14:29 -08:00
John MacFarlane
1864bb0994 Data files changes.
* 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.
2012-12-29 17:54:07 -08:00
John MacFarlane
32c5a8e2dc Cabal file changes.
* Remove executable and library flags.
* Expose `Text.Pandoc.XML` and `Text.Pandoc.Biblio`.
* Depend on pandoc library in executable, so we don't recompile
  everything.
* Move pandoc.hs from src/ to .
2012-12-29 16:43:22 -08:00
John MacFarlane
5914be88a8 EPUB writer: Rationalized templates.
* Previously there were three different templates involved in
  epub production. There is now just one template, default.epub
  or default.epub3.
* It can now be overridden using `--template`, just like other
  templates.
2012-11-04 21:21:57 -08:00
John MacFarlane
83b326b005 EPUB: removed need for separate epub-titlepage template.
The titlepage stuff is now folded into the epub-page template.
A titlepage variable selects it.
2012-11-04 21:08:40 -08:00
John MacFarlane
a7b8351d43 EPUB writer: Removed need for separate epub-coverpage template.
The standard epub-page template is now used.
2012-11-04 20:53:41 -08:00
John MacFarlane
0c5801297d Added epub3 to cabal description 2012-11-04 10:40:11 -08:00
John MacFarlane
06300e59d5 Removed citationSuppressParens.
Makefile: Use citeproc-0.3.6 release.
2012-10-28 09:36:15 -07:00
John MacFarlane
d89b74a003 Bumped version bound for template-haskell. 2012-10-21 14:11:03 -07:00
John MacFarlane
b3ad94bde9 Moved man page creation out of Setup.hs.
* MakeManPage.hs has been transformed into
  man/make-pandoc-man-pages.hs.
* There is now a cabal stanza for this, so the dependencies are
  handled by cabal.
* Special treatment in Setup.hs ensures that this never gets installed;
  it is built and used to create the man pages.
* Setup.hs cleaned up.
2012-10-15 21:26:24 -07:00
John MacFarlane
91c547a0c6 Don't expose Text.Pandoc.Biblio.
It's no longer necessary for library users, as bibliography
processing occurs in readMarkdown and readLaTeX.
2012-10-13 11:36:29 -07:00
John MacFarlane
946764ccf7 Bumped versions of json and base64-bytestring dependencies.
Thanks to Dirk Ullirch.
2012-09-30 11:53:18 -07:00
John MacFarlane
83ad8982e1 Make blaze_html_0_5 default to True. 2012-09-30 11:53:00 -07:00
John MacFarlane
6ad7ac1239 Removed need for utf8-string package.
* 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.
2012-09-25 19:54:21 -07:00
John MacFarlane
3e302bf651 Added base dependencies for test suite. 2012-09-23 13:45:23 -07:00
John MacFarlane
07793b6b7f Require base >= 4.2 (i.e. GHC 6.12). 2012-09-23 12:57:05 -07:00
Ben Gamari
bb4ea9d422 Bump network upper bound to <2.5
network 2.4 is now on hackage
2012-09-21 09:31:52 -04:00
Ben Gamari
77ccdf59f5 Bump directory upper bound to <1.3
directory-1.2 is in ghc 7.6
2012-09-21 09:30:42 -04:00
Ben Gamari
92c7029492 Bump containers upper bound to <0.6
Since containers 0.5 is in the wild as of ghc 7.6
2012-09-21 09:29:23 -04:00
John MacFarlane
3d361b2101 Added basic mediawiki reader.
Text.Pandoc.Readers.MediaWiki module,
tests/mediawiki-reader.{txt,native}.
2012-09-12 09:05:10 -07:00
John MacFarlane
dfa4b76630 Changes to literate haskell options.
- Removed writerLiterateHaskell from WriterOptions.
- Removed readerLiterateHaskell from ReaderOptions.
- Added Ext_literate_haskell to Extensions.  Test for this
  instead of the above.
- Removed failUnlessLHS from Shared.

Note:  At this point, +lhs and .lhs extension no longer has any effect.
Need to fix.
2012-08-08 23:18:19 -07:00
John MacFarlane
7cfec2bcd9 Require pandoc-types 1.10.*. 2012-08-07 22:48:48 -07:00
John MacFarlane
f4c7ad6caf Revert "Require Cabal 0.14."
This reverts commit f6cc63de41.

Older versions of cabal supposedly just ignore the benchmark
stanza.
2012-07-26 11:51:37 -07:00
John MacFarlane
f6cc63de41 Require Cabal 0.14. 2012-07-26 11:09:25 -07:00
John MacFarlane
786d01fd1d Bump version to 1.10. 2012-07-26 10:02:27 -07:00
John MacFarlane
acbb4a5e46 Integrated test suite with cabal.
To run tests, configure with --enable-tests, then 'cabal test'.
You can specify particular tests using --test-options='-t markdown'.

No output is shown unless tests fail.  In the future, we can move
to the detailed-1.0 interface.
2012-07-26 09:43:27 -07:00
John MacFarlane
c414a08bcf Integrated benchmark into cabal.
Can now do:

cabal configure --enable-benchmarks && cabal build
cabal bench --benchmark-option='markdown' --benchmark-option='-s 20'
2012-07-26 09:19:40 -07:00
John MacFarlane
45e4c123a4 Moved tests to tests/, modified cabal file so lib isn't recompiled. 2012-07-26 08:37:36 -07:00
John MacFarlane
0d21b8d6ae Added Text.Pandoc.Options. 2012-07-25 10:18:57 -07:00
John MacFarlane
d2cc56a46a Revised code for pipe tables.
* All tables now require at least one body row.
* Renamed from 'extra' to 'pipe' tables.
* Moved functions from Parsing to Readers.Markdown.
* Cleaned up code; revised to parse in one pass rather than
  parsing a raw string, splitting it, and parsing the components.
* Allow pipe tables without pipes on the ends (as PHP Markdown Extra
  does).
2012-07-22 22:09:15 -07:00
John MacFarlane
5a704ecc6e Renamed tests/markdown-tables -> tests/extra-tables.
Added to cabal file.
2012-07-22 19:28:56 -07:00
John MacFarlane
40e123173b Added Text.Pandoc.Writers.FB2 to list of exported modules.
Also added FB2 to description.
2012-07-22 11:14:07 -07:00
John MacFarlane
2351f7a112 Provide Data.Default instances for ParserState and WriterOptions.
Now you can use def (which is re-exported by Text.Pandoc) instead of
defaultParserState or defaultWriterOptions.  For now, these
are still defined too, so existing code need not change.

Closes #546.
2012-07-19 12:38:54 -07:00
John MacFarlane
a5db424665 Removed -threaded from cabal ghc-options.
Use of the threaded runtime imposes a slight performance penalty,
and there is really no need for it, since pandoc doesn't run faster
on multiple cores.
2012-07-02 16:29:11 -07:00