Commit graph

2445 commits

Author SHA1 Message Date
Scott Morrison
c45bd6d468 adding support for breve accents via \u{} while reading LaTeX 2013-08-16 10:03:54 +10:00
John MacFarlane
3e8bd8aa15 Updated for removed unMeta, unFormat in pandoc-types. 2013-08-14 23:24:45 -07:00
John MacFarlane
3ebdc5b5f0 Text.Pandoc.Compat.Monoid: Small improvements to the (<>) definition. 2013-08-12 16:21:24 -07:00
John MacFarlane
eb0c0b86ed ODT/OpenDocument writer: Minor changes for ODF 1.2 conformance.
See #939.  We leave the nonconforming contextual-spacing attribute,
which is provided by LibreOffice itself and seems to be supported.
2013-08-11 17:13:46 -07:00
John MacFarlane
7b975c2bcc PDF: Add suggestion to use --latex-engine=xelatex on encoding error. 2013-08-11 16:16:24 -07:00
John MacFarlane
e279175ea5 Options: Changed writerSourceDir to writerSourceURL (now a Maybe).
Previously we used to store the directory of the first input file,
even if it was local, and used this as a base directory for
finding images in ODT, EPUB, Docx, and PDF.

This has been confusing to many users.  It seems better to look for
images relative to the current working directory, even if the first
file argument is in another directory.

writerSourceURL is set to 'Just url' when the first command-line
argument is an absolute URL.  (So, relative links will be resolved
in relation to the first page.)  Otherwise, 'Nothing'.

The ODT, EPUB, Docx, and PDF writers have been modified accordingly.

Note that this change may break some existing workflows.  If you
have been assuming that relative links will be interpreted relative
to the directory of the first file argument, you'll need to
make that the current directory before running pandoc.

Closes #942.
2013-08-11 15:58:09 -07:00
John MacFarlane
02a125d0aa Use walk, walkM in place of bottomUp, bottomUpM when possible.
They are significantly faster.
2013-08-10 18:45:00 -07:00
John MacFarlane
9152fa1a95 Use query instead of queryWith. 2013-08-10 18:13:38 -07:00
John MacFarlane
cbfa932106 Adjustments for new Format newtype. 2013-08-10 17:24:54 -07:00
John MacFarlane
e9de0f0e22 Preliminary support for new Div and Span elements in writers.
Currently these are "transparent" containers, except in HTML,
where they produce div and span elements with attributes.
2013-08-08 23:14:12 -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
83f263110f Use pipeProcess in Text.Pandoc.PDF. 2013-08-08 15:15:20 -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
9aa9d5cf68 Revert "Textile reader: Removed raw LaTeX parsing."
This reverts commit bb61624bb2.
Apparently someone put this there for a reason, since it's in
the test suite.
2013-08-08 10:52:59 -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
bb61624bb2 Textile reader: Removed raw LaTeX parsing.
This isn't part of Textile.
2013-08-07 14:30:47 -07:00
John MacFarlane
d44d166431 Allow YAML title blocks to contain only comments. 2013-08-07 08:43:42 -07:00
John MacFarlane
7d18770b00 Added support for MetaBool. 2013-08-06 23:31:16 -07:00
John MacFarlane
52c5cdb04e Biblio: Capitalize citation note only if it has a prefix.
So, author names or titles that aren't capitalized will stay
uncapitalized.
2013-08-06 16:20:45 -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
5050cff37c Removed comment that chokes recent cpp.
Closes #933.
2013-08-03 23:16:54 -07:00
John MacFarlane
4a84b78100 MediaWiki writer: Use native mediawiki tables instead of HTML.
Closes #720.
2013-08-03 23:05:14 -07:00
John MacFarlane
97b2be599e Text.Pandoc: Don't reexport ToJSONFilter.
It's better just to import this from Text.Pandoc.JSON.
That way, compiled filters will be smaller in size.
2013-08-03 17:02:35 -07:00
John MacFarlane
1567d291a3 Text.Pandoc.JSON: Use To/FromJSON instances from pandoc-types.
* These use GHC generics rather than syb, and are faster.
* toJsonFilter is now a deprecated synonym of toJSONFilter from
  Text.Pandoc.JSON.
* The deprecated jsonFilter function has been removed.
2013-08-03 16:39:43 -07:00
John MacFarlane
a32417378e Biblio: Don't interfere with Notes that aren't citation notes.
Closes #898: notes not generated from citations were being
adjusted (first letter capitalized, for example, against author's
intentions).
2013-08-02 15:37:09 -07:00
John MacFarlane
dceffeb043 Biblio: Override citeproc-hs's endWithPunct.
The new version correctly sees a sentence ending in '.)' as ending
with punctuation.  This fixes a bug which led such sentences to receive
an extra period at the end: '.).'.  Thanks to Steve Petersen for
reporting.
2013-08-02 14:20:44 -07:00
John MacFarlane
7024664dda Fixed compilation with http-conduit flag False. 2013-07-30 08:38:13 -07:00
John MacFarlane
3c06e2692a Markdown atx headers: Allow . or ) after # if no fancy_lists. 2013-07-29 08:38:46 -07:00
John MacFarlane
a97f39c12e Beamer: add allowframebreaks to slide if set in header classes.
It's recommended that your bibliography slide have this
attribute:

    # References {.allowframebreaks}

This causes multiple slides to be created if necessary, depending
on the length of the bibliography.
2013-07-26 12:40:56 -07:00
John MacFarlane
d5fad2306a LaTeX writer: Change \ to / in paths.
`/` works even on Windows in LaTeX.  `\` will cause major problems
if unescaped.
2013-07-25 20:29:42 -07:00
John MacFarlane
fb9f2e4bd5 LaTeX reader: Support \v{} for hacek.
Closes #926.
2013-07-25 10:00:11 -07:00
John MacFarlane
85cc140744 Textile reader: Improved handling of <pre> blocks.
* Closed #927 (a bug in which `<pre>` in certain contexts was
  not recognized as a code block).
* Remove internal HTML tags in code blocks, rather than printing
  them verbatim.
* Parse attributes on `<pre>` tag for code blocks.
2013-07-25 09:45:23 -07:00
John MacFarlane
5592666ca4 Text.Pandoc: Added readJSON, writeJSON to the API.
Closes #817.
2013-07-23 22:31:50 -07:00
John MacFarlane
6f99ad8013 Biblio: Tweaks to improve default behavior.
* A suffix beginning with a digit gets 'p' inserted before it
  before passing to citeproc-hs, so that bare numbers are treated
  as page numbers by default.
* A suffix not beginning with punctuation has a space added at
  the beginning (rather than a comma and space, as was done before).
* This adding occurs not just in author-in-text citations, but in
  all citations.

The result of these changes (and the last commit) is that
`\citep[23]{item1}` in LaTeX will be interpreted properly,
with '23' treated as a locator of type 'page'.
2013-07-21 12:16:52 -07:00
John MacFarlane
800c5490ec LaTeX reader: Don't add spurious ", " to citation suffixes.
This is added when needed in Text.Pandoc.Biblio anyway.
2013-07-21 11:44:49 -07:00
John MacFarlane
bd1979f1b7 Markdown reader: Improved strong/emph parsing.
Using technique from github.com/jgm/Markdown.

The new parsing algorithm requires no backtracking, and no keeping
track of nesting levels.

It will give different results in some edge cases but should not
affect most people.
2013-07-20 21:14:38 -07:00
John MacFarlane
7102254e24 PDF generation improvements.
* `Text.Pandoc.PDF` exports `makePDF` instead of `tex2pdf`.
  (API change.)
* `makePDF` walks the pandoc AST and checks for the existence of
  images in the local directory.  If they are not found, it attempts
  to find them, either in the directory containing the first source
  file, or at an absolute URL, or at a URL relative to the base URL
  of the first command line argument.
* Closes #917.
2013-07-20 12:14:43 -07:00
John MacFarlane
fd0f8c1a8a Text.Pandoc.PDF: put temporary output directory in TEXINPUTS.
This will help later when we try to download external resources.
We can put them in the temp directory.  See #917.
2013-07-18 21:53:34 -07:00
John MacFarlane
93e096fe1d Fixed warning. 2013-07-18 21:51:11 -07:00
John MacFarlane
7c980f39bf Improved fetching of external resources.
* In Shared, openURL and fetchItem now return an Either, for
  better error handling. (API change.)
* Better error message when fetching a URL fails with
  `--self-contained`.
* EPUB writer: If resource not found, skip it, as in Docx writer.
* Closes #916.
2013-07-18 20:58:14 -07:00
John MacFarlane
6c2e76ac61 Added ignore_line_breaks markdown extension.
This causes intra-paragraph line breaks to be ignored,
rather than being treated as hard line breaks or spaces.
This is useful for some East Asian languages, where spaces
aren't used between words, but text is separated into lines
for readability.
2013-07-17 15:38:56 -07:00
John MacFarlane
b2385d0e9b Text.Pandoc.ImageSize: Handle EPS.
Closes #903.  This change will make EPS images properly sized
on conversion to Word.
2013-07-16 22:04:59 -07:00
John MacFarlane
94c9825468 HTML reader: read widths from col tags if present.
Closes #893.
2013-07-16 17:03:28 -07:00
John MacFarlane
8483b5756f HTML reader: Handle non-simple tables (#893).
Column widths are divided equally.

TODO:  Get column widths from col tags if present.
2013-07-16 15:50:39 -07:00
John MacFarlane
0bd5830ad4 HTML reader: Generalized table parser.
This commit doesn't change the present behavior at all, but
it will make it easier to support non-simple tables in the future.
2013-07-16 15:37:15 -07:00
Alexander Kondratskiy
0b49f810f4 Fixing wrong numbered-list indentation in open document format 2013-07-14 14:33:58 -04:00
John MacFarlane
f42095b7b7 Docx writer: Make --no-highlight work properly. 2013-07-13 13:48:50 -07:00
Alexander Kondratskiy
6a235ba606 Checking options before applying syntax highlighting for HTML output 2013-07-13 02:23:27 -04:00
John MacFarlane
bd1079e48e Docx writer: Ignore most components of reference.docx.
We take the word/styles.xml, docProps/app.xml, word/theme/theme1.xml,
and word/fontTable.xml from reference.docx, ignoring everything else.

Perhaps this will help with the corruption problems caused when
different versions of Word resave the reference.docx and
reorganize things.
2013-07-12 20:58:15 +01:00