Commit graph

1767 commits

Author SHA1 Message Date
John MacFarlane
aee10a719b FB2 writer: don't render RawBlock as code. 2017-02-17 21:41:47 +01:00
Alex Ivkin
93f0a9c2e5 ZimWiki writer: removed internal formatting from note and table cells, because ZimWiki does not support it (#3446) 2017-02-15 11:28:02 +01:00
Alexander Krotov
9e3f5a5147 Do not strip # from Org anchor links
Links with # are perfectly valid according to http://orgmode.org/manual/Internal-links.html#Internal-links
2017-02-12 17:09:44 +03:00
John MacFarlane
2759960204 RST reader/writer: properly handle table captions.
Currently the support for the `.. table` directive is a bit
limited; we don't yet support the `widths` field.  But at least
you can have a proper captioned table.
2017-02-11 22:37:07 +01:00
John MacFarlane
31f5c02743 HTML writer: report when not rendering raw inline/block. 2017-02-11 00:20:45 +01:00
John MacFarlane
76c55466d3 Use new warnings throughout the code base. 2017-02-11 00:14:44 +01:00
John MacFarlane
c93ecfc3c5 Handle language in inline code with --listings.
Closes #3422.
2017-02-05 22:22:42 +01:00
John MacFarlane
5f2f2efe32 Removed redundant import. 2017-02-05 11:54:05 +01:00
John MacFarlane
63b568f445 Changed writerEpubMetadata to a Maybe String.
API change.
2017-02-04 22:51:51 +01:00
John MacFarlane
7404c83fb3 Improved escaping in RST writer with smart option. 2017-02-04 22:09:06 +01:00
Albert Krewinkel
623d860be6
Org writer: reduce to two spaces after bullets
The org writer was inserting two spaces after list bullets. Emacs
Org-mode defaults to a single space, so behavior is changed to reflect
this.

Closes: #3417
2017-02-04 21:15:05 +01:00
John MacFarlane
e0abe18bb9 Markdown writer: Better escaping when +smart. 2017-02-04 21:06:42 +01:00
John MacFarlane
8418c1a7d7 Implemented +/-smart in rst writer.
Moved unsmartify to Writers.Shared.
2017-02-04 12:52:08 +01:00
Mauro Bieg
5cd475be70 HTML and DocBook writers: fix internal links with writerIdentifierPrefix opt (#3398)
closes #3397
2017-02-03 09:53:43 +01:00
Alexander Krotov
9327e70c10 Org.hs: remove misleading comment
This comment is likely copied from RST.hs where 'refs' variable indeed exists, but makes no sense here.
2017-02-02 08:58:35 +01:00
Alexander Krotov
59a2e5575a Reduce state in Org writer (#3404) 2017-02-01 12:00:40 +01:00
John MacFarlane
7018003811 --mathml and MathML in HTMLMathMethod longer take an argument.
The argument was for a bridge javascript that used to be necessary
in 2004.  We have removed the script already.
2017-01-30 11:31:50 +01:00
John MacFarlane
d2e0592e01 LaTeX writer: export writeBeamer.
Removed writerBeamer from WriterOptions.
2017-01-28 09:52:45 +01:00
John MacFarlane
91cdcc796d HTML: export separate functions for slide formats.
writeS5, writeSlideous, writeRevealJs, writeDZSlides, writeSlidy.

Removed writerSlideVariant from WriterOptions.
2017-01-27 22:39:36 +01:00
John MacFarlane
f5dd123819 HTML writer: export writeHtmlStringForEPUB.
Options: Remove writerEPUBVersion.
2017-01-27 10:27:34 +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
65b8570e0e Cleanups for rebase. 2017-01-25 17:07:43 +01:00
John MacFarlane
d1efc839f1 Removed writerHighlight; made writerHighlightStyle a Maybe.
API change.

For no highlighting, set writerHighlightStyle to Nothing.
2017-01-25 17:07:43 +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
73f57daf69 Fixed shadowing warnings. 2017-01-25 17:07:43 +01:00
John MacFarlane
4007d6a897 Removed writerIgnoreNotes.
Instead, just temporarily remove notes when generating
TOC lists in HTML and Markdown (as we already did in LaTeX).

Also export deNote from Text.Pandoc.Shared.

API change in Shared and Options.WriterOptions.
2017-01-25 17:07:42 +01:00
John MacFarlane
0bcc81c0b1 Removed writerTeXLigatures.
Make `smart` extension work in LaTeX/ConTeXt writers instead.

Instead of `-t latex --no-tex-ligatures`, do `-t latex-smart`.
2017-01-25 17:07:42 +01:00
John MacFarlane
412ed3f132 Make the smart extension affect the Markdown writer.
Thus, to "unsmartify" something that has been parsed as
smart by pandoc, you can use `-t markdown+smart`, and
straight quotes will be produced instead of curly quotes,
etc.

Example:

    % pandoc -f latex -t markdown+smart
    ``hi''---ok
    ^D
    "hi"---ok
2017-01-25 17:07:42 +01:00
John MacFarlane
93e4cd9f8c Fixed something small that broke in rebase. 2017-01-25 17:07:42 +01:00
John MacFarlane
6aff97e4e1 Text.Pandoc.Shared: Removed fetchItem, fetchItem'.
Made changes where these are used, so that the version
of fetchItem from PandocMonad can be used instead.
2017-01-25 17:07:42 +01:00
John MacFarlane
8165014df6 Removed --normalize option and normalization functions from Shared.
* Removed normalize, normalizeInlines, normalizeBlocks
  from Text.Pandoc.Shared.  These shouldn't now be necessary,
  since normalization is handled automatically by the Builder
  monoid instance.

* Remove `--normalize` command-line option.

* Don't use normalize in tests.

* A few revisions to readers so they work well without normalize.
2017-01-25 17:07:41 +01:00
John MacFarlane
08110c3714 Class: Removed getDefaultReferenceDocx/ODT from PandocMonad.
We don't need these, since the default docx and odt can be
retrieved using `readDataFile datadir "reference.docx"` (or odt).
2017-01-25 17:07:41 +01:00
John MacFarlane
b5d1567022 Class: removed 'fail' from PandocMonad.
Do we need this?  I don't see why.

There's a name clash which would better be avoided.
2017-01-25 17:07:41 +01:00
John MacFarlane
ce1664cf2b Simplified reference-docx/reference-odt to reference-doc.
* Text.Pandoc.Options.WriterOptions: removed writerReferenceDocx
  and writerReferenceODT, replaced them with writerReferenceDoc.
  This can hold either an ODT or a Docx. In this way, writerReferenceDoc
  is like writerTemplate, which can hold templates of different
  formats. [API change]

* Removed `--reference-docx` and `--reference-odt` options.

* Added `--reference-doc` option.
2017-01-25 17:07:41 +01:00
John MacFarlane
bc61c6a632 Remove now-unnecessary lifts in Markdown writer.
Other writers still TBD.
2017-01-25 17:07:41 +01:00
John MacFarlane
a4bd650277 Class: rename addWarning[WithPos] to warning[WithPos].
There's already a function addWarning in Parsing!

Maybe we can dispense with that now, but I still like
'warning' better as a name.
2017-01-25 17:07:40 +01:00
John MacFarlane
2710fc4261 Class: Renamed 'warn' to 'addWarning' and consolidated RTF writer.
* Renaming Text.Pandoc.Class.warn to addWarning avoids conflict
  with Text.Pandoc.Shared.warn.
* Removed writeRTFWithEmbeddedImages from Text.Pandoc.Writers.RTF.
  This is no longer needed; we automatically handle embedded images
  using the PandocM functions.  [API change]
2017-01-25 17:07:40 +01:00
John MacFarlane
29b3975cbe Make sure texMathToInlines issues warning. 2017-01-25 17:07:40 +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
c4c56b8c04 Fix rebasing errors. 2017-01-25 17:07:40 +01:00
Jesse Rosenthal
3574b98f81 Unify Errors. 2017-01-25 17:07:40 +01:00
John MacFarlane
300d94ac24 Deleted whitespace at end of source lines. 2017-01-25 17:07:39 +01:00
John MacFarlane
0e4f959981 Fixed regression in OPML writer.
OPML writer should note include `_notes` attribute when there's
no content.
2017-01-25 17:07:39 +01:00
John MacFarlane
22ffbad9e8 Texinfo writer: restore former behavior for headers level > 4.
The recent changes made the writer fail with an error if it
encountered a header with level 5.  Better to do as we did
before and just print a paragraph in that case.  Eventually
we should emit a warning here.
2017-01-25 17:07:39 +01:00
John MacFarlane
33af62acc5 Fixes to compile after rebase. 2017-01-25 17:07:39 +01:00
Jesse Rosenthal
23c5b0d0f1 Implement Errors in PandocMonad
Errors can be thrown purely with `throwError`. At the moment there are
only three kinds of errors:

1. PandocFileReadError FilePath (for problems reading a file from the
filesystem)

2. PandocShouldNeverHappenError String (for stuff that should never
happen but we need to pattern-match anyway)

3. PandocSomeError String (a grab bag of everything else)

Of course, we need to subdivide the third item in this list.
2017-01-25 17:07:39 +01:00
Jesse Rosenthal
04487779b2 Convert all writers to use PandocMonad.
Since PandocMonad is an instance of MonadError, this will allow us, in a
future commit, to change all invocations of `error` to `throwError`,
which will be preferable for the pure versions. At the moment, we're
disabling the lua custom writers (this is temporary).

This requires changing the type of the Writer in Text.Pandoc. Right now,
we run `runIOorExplode` in pandoc.hs, to make the conversion easier. We
can switch it to the safer `runIO` in the future.

Note that this required a change to Text.Pandoc.PDF as well. Since
running an external program is necessarily IO, we can be clearer about
using PandocIO.
2017-01-25 17:07:39 +01:00
Jesse Rosenthal
957eee24ec Convert writers to use PandocMonad typeclass.
Instead of Free Monad with runIO
2017-01-25 17:07:39 +01:00