Commit graph

7948 commits

Author SHA1 Message Date
John MacFarlane
0a4ba91994 Reverted deferred media bag code.
This was not actually being used. Since it adds considerable
complexity, it's best not to include it unless we are
actually going to use it.

The original thought was that we could do all loading in the
readers, always deferred and thus costless.  This was supposed
to eliminate the need to traverse trees loading resources in
the docx, epub, odt writers and in PDF and SelfContained.
(It would also have the side effect that --extract-media could
be used with all input formats.  This wasn't an intended side
effect, and it could be debated whether it's desirable, since
--extract-media was originally designed to extract the media
contained in a docx or odt or epub container.)

However, we never actually took the step of moving all of this
work to the readers, for a couple of reasons. The main reason
is that we'd still need to fetch resources in the docx,
epub, odt, pdf and self-contained writers, since the Pandoc AST might
have been built programatically and hence not generated by a reader.
So it's not clear that doing lazy loading in the readers would have
any real advantage.

I'm still not completely sure about this --- if we change our
minds it would be easy to undo this commit.

@jkr comments welcome.
2017-02-09 21:26:24 +01:00
John MacFarlane
6949d74e01 LaTeX reader: support \lstinputlisting.
Closes #2116.
2017-02-08 00:07:53 +01:00
John MacFarlane
e4d7bed51c RST reader: Improved admonition support.
* We no longer add an "admonition" class, we just use the
  class for the type of admonition, "note" for example.
* We put the word corresponding to the label in a paragraph
  inside a div at the beginning of the admonition with class
  "admonition-title".
* This is about as close as we can get to RST's own output.

See #223.
2017-02-07 23:18:56 +01:00
John MacFarlane
857d35fce4 Refactored some files formerly in LaTeX reader.
* Export readFileFromDirs from Class.
* Export insertIncludedFile from Parsing.

Simplified code in LaTeX/RST readers.
2017-02-07 22:33:05 +01:00
John MacFarlane
1ecc48e9f9 Moved readFileFromDirs to Text.Pandoc.Class.
This can be used in several different modules, not just
LaTeX reader.
2017-02-07 21:42:35 +01:00
John MacFarlane
9db98550df Refactored include file handling in LaTeX reader. 2017-02-07 19:16:56 +01:00
John MacFarlane
f10dd380bb Makefile: make version overridable. 2017-02-07 19:01:21 +01:00
John MacFarlane
4ae0cddb92 Use latest pandoc-citeproc dev in stack builds. 2017-02-07 15:07:48 +01:00
John MacFarlane
e07e83f831 Update dev version of pandoc-citeproc in stack.yaml. 2017-02-07 10:42:18 +01:00
John MacFarlane
0d9cac7ed6 Use latest dev version of pandoc-citeproc. 2017-02-07 09:30:44 +01:00
John MacFarlane
47a16065c4 Removed --parse-raw and readerParseRaw.
These were confusing.

Now we rely on the +raw_tex or +raw_html extension with latex
or html input.

Thus, instead of

    --parse-raw -f latex

we use

    -f latex+raw_tex

and instead of

     --parse-raw -f html

we use

    -f html+raw_html
2017-02-06 23:33:23 +01:00
John MacFarlane
d1c16c4785 default.beamer changes (Thomas Hodgson):
- Use dvipsnames options when colorlinks specified (otherwise
  we get an error for 'maroon')
- Added titegraphic and logo variables.
2017-02-06 17:04:55 +01:00
John MacFarlane
c604371aa4 Fix import 2017-02-06 17:03:03 +01:00
John MacFarlane
4cdb1a0891 Changed year on copyright message. 2017-02-06 14:53:31 +01:00
John MacFarlane
37e579581a Consolidated file arguments into Opt. 2017-02-06 14:52:16 +01:00
John MacFarlane
67dc15771d Further refactoring of App.
Moved option parsing code into App.
pandoc.hs is now a 2-liner.
2017-02-06 14:46:48 +01:00
John MacFarlane
fc8208e8bc Use unicode-math by default in default.latex template.
mathspec will be used in xelatex if the `mathspec` variable is
set; otherwise unicode-math will be used.

Thanks to Václav Haisman.
2017-02-06 10:50:36 +01:00
John MacFarlane
6cb1e19d03 Removed another redundant import. 2017-02-06 08:58:39 +01:00
John MacFarlane
b4ccb70893 Fix an unneeded import warning. 2017-02-05 23:12:58 +01:00
John MacFarlane
c93ecfc3c5 Handle language in inline code with --listings.
Closes #3422.
2017-02-05 22:22:42 +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
f2103e7e7b pandoc.hs: make reader and writer Maybe values in Opt. 2017-02-05 18:10:43 +01:00
John MacFarlane
18bc0a67eb Makefile: added BRANCH variable for winpkg 2017-02-05 12:15:02 +01:00
John MacFarlane
5f2f2efe32 Removed redundant import. 2017-02-05 11:54:05 +01:00
Thenaesh Elango
942189056d Allow user to specify User-Agent (#3421)
This commit enables users to specify the User-Agent
header used when pandoc requests a document from
a URL. This is done by setting an environment variable.
For instance, one can do:
USER_AGENT="..." ./pandoc -f html -t markdown http://example.com

Signed-off-by: Thenaesh Elango <thenaeshelango@gmail.com>
2017-02-05 11:28:39 +01:00
John MacFarlane
2c3eeca8df More simplification of pandoc.hs.
Opt is now set up to contain only the basic content passed
through the options -- further processing (lookup of styles,
insertion of file contents, etc.) is now done later.
2017-02-05 11:23:52 +01:00
John MacFarlane
de48851605 More simplification of Opt in pandoc.hs.
We defer file reading til after option parsing.
2017-02-04 22:56:23 +01:00
John MacFarlane
63b568f445 Changed writerEpubMetadata to a Maybe String.
API change.
2017-02-04 22:51:51 +01:00
John MacFarlane
67f4360fb8 More simplification of Opt in pandoc.hs. 2017-02-04 22:44:09 +01:00
John MacFarlane
396d304167 More smart escaping tests. 2017-02-04 22:09:19 +01:00
John MacFarlane
7404c83fb3 Improved escaping in RST writer with smart option. 2017-02-04 22:09:06 +01:00
John MacFarlane
a435422d0f Consolidated some common functions in Tests.Helper. 2017-02-04 21:56:32 +01:00
John MacFarlane
ce9ec67970 Added first command test to cabal metadata and repo. 2017-02-04 21:56:32 +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
49c7cf40fe Added new test framework Tests.Command.
Any files added under test/command will be treated as
shell tests (see smart.md for an example).

This makes it very easy to add regression tests etc.
2017-02-04 21:07:03 +01:00
John MacFarlane
e0abe18bb9 Markdown writer: Better escaping when +smart. 2017-02-04 21:06:42 +01:00
John MacFarlane
cb1b0bcba7 Expose setVerbosity in Text.Pandoc 2017-02-04 21:06:36 +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
8418c1a7d7 Implemented +/-smart in rst writer.
Moved unsmartify to Writers.Shared.
2017-02-04 12:52:08 +01:00
John MacFarlane
1feddee6d6 Small revision to deprecation message for --old-dashes. 2017-02-04 11:05:26 +01:00
John MacFarlane
7d3702e807 Simplified Opt structure in cli option parsing.
We should make this closer to the actual options,
and do processing outside.
2017-02-04 10:09:20 +01:00
John MacFarlane
3a332fa076 Better error messages for removed options.
See #3416.
2017-02-04 09:41:08 +01:00
John MacFarlane
b8f4512534 Added TODO comment. 2017-02-04 08:37:44 +01:00
John MacFarlane
76aa43c579 Docx reader: handle local namespace declarations.
Previously we didn't recognize math, for example, when
the xmlns declaration occured on the element and not the root.
Now we recognize either.

Closes #3365.

This patch defines findChildByName, findChildrenByName,
and findAttrByName in Util, and uses these in Parse.
2017-02-03 22:23:07 +01:00
Joachim Breitner
ed4f84e84b Manual: Mention limitations of Literate Haskell Support (#3413)
This fixes #3410.
2017-02-03 21:38:28 +01:00
John MacFarlane
23e6495624 Docx reader: Don't drop smartTag contents.
This just parses inside smartTags and yields their contents,
ignoring the attributes of the smartTag.  @jkr, you may want
to adjust this, but I wanted to get a fix in as fast as possible
for the dropped content.

Closes #2242; see also #3412.
2017-02-03 11:57:07 +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
John MacFarlane
5b70b57c11 Added skeletons for docs on customizing pandoc and using pandoc API.
See #3289 and  #3288.
2017-02-01 12:50:44 +01:00