Commit graph

752 commits

Author SHA1 Message Date
John MacFarlane
921d0f3081 Shared: enamed stringToURI -> escapeURI. 2010-03-23 15:05:33 -07:00
John MacFarlane
09ca37bd62 Don't escape URIs in HTML writer.
This should be done in the readers instead.
2010-03-23 14:02:37 -07:00
John MacFarlane
9e65867300 Better definition of stringToURI.
Now it escapes all characters that aren't allowed in a URI.
%, ?, /, and other characters that are allowed in a URI are
left alone.  Unicode high characters are UTF-8 encoded.
2010-03-23 13:51:52 -07:00
John MacFarlane
1aeb7d23ad Updated copyright notices. 2010-03-23 13:31:09 -07:00
John MacFarlane
71eac37ac5 Fixed treatment of unicode characters in URIs.
* Added stringToURI to Shared.  This is used in the HTML
  writer for all URIs.  It properly URI-encodes high
  characters (> 127), leaving everything else (including
  symbols and spaces) the same.

* Modified unsanitaryURI to allow UTF8 characters in a URI.
  (First, we convert the URI to URI-encoded octets, then we
  pass through parseURIReference.)
  This resolves gitit Issue #99. Previously
  '[abc](http://gitit.net/测试)' would not be rendered as
  a link when --sanitize was selected.
2010-03-23 00:33:50 -07:00
John MacFarlane
1b1ba25432 OpenDocument writer: Use a Map for stTextStyleAttr.
This avoids duplicates (and invalid xml).
2010-03-22 09:46:55 -07:00
John MacFarlane
483a591eba HTML writer: fixed error in Math writer that caused infinite loop. 2010-03-21 22:48:47 -07:00
fiddlosopher
1547728d7e HTML writer: Don't include TOC div if table of contents is empty.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1922 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-20 17:14:18 +00:00
fiddlosopher
485e503ba6 Changed copyright date range for -v.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1914 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-19 15:12:15 +00:00
fiddlosopher
5ae0e0d442 Depend on extensible-exceptions, remove CPP in Templates module.
It's safe to depend on extensible-exceptions, since this is
shipped with GHC 6.10 and 6.12.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1911 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-19 02:33:15 +00:00
fiddlosopher
bd433b5738 Templates: Conditionally import Control.Exception.Extensible if base < 4.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1910 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-18 21:35:41 +00:00
fiddlosopher
56217f1004 Added --mathml option; removed Text.Pandoc.LaTeXMathML.
* Added data/MathMLinHTML.js, which is included when no URL is provided
  for --mathml.  This allows MathML to be displayed in better browsers,
  as text/html.
* The module was no longer necessary; its functionality (two lines)
  was incorporated into pandoc.hs.
* Consolidated the two LaTeXMathML.js files into one.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1909 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-18 06:45:56 +00:00
fiddlosopher
d704f47b86 Better heuristics for guessing reader to use.
If argument is an absolute URL without a recognized extension,
and no reader is explicitly specified, use HTML.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1908 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-18 06:45:50 +00:00
fiddlosopher
695961155a Added plain writer.
Text.Pandoc.Writers.Markdown now exports a writePlain,
which writes plain text without links, pictures, or
special formatting (not even markdown conventions).

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1907 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-18 06:45:43 +00:00
fiddlosopher
b5a5215c32 Refactored handler for base-header-level option.
Now we have a list of "transforms" (Pandoc -> Pandoc).
They get applied at the end in a fold.
This should make it easier to add new document-transforming
options in the future.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1905 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-18 06:45:28 +00:00
fiddlosopher
ff68dd3883 MediaWiki writer: make links to relative URLs wikilinks.
The new rule:  If the link target is an absolute URL, an external
link is created. Otherwise, a wikilink is created.

Examples:

1. [label](/foo/bar)                => [[foo/bar|label]]
2. [label](foo)                     => [[foo|label]]
3. [label](http://gitit.net/foo)    => [http://gitit.net/foo label]

Note on 1: We strip the leading / here, since otherwise we get a
link to Help:Links/foo/bar.  would it be better for 1 to become
[http://{SERVERNAME}}/foo/bar label]?  Perhaps, since this would
guarantee the same link destination as you'd get if you used the
HTML writer directly.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1904 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-18 06:45:23 +00:00
fiddlosopher
312d098d35 Texinfo writer: Handle images in figures.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1901 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-18 02:39:13 +00:00
fiddlosopher
a9b0d876d9 HTML writer: Use a p rather than a div for image caption.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1900 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-18 02:39:06 +00:00
fiddlosopher
874b574038 RST writer: handle images in figures.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1899 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-18 02:38:58 +00:00
fiddlosopher
97bff3f9dc MediaWiki writer: Support images in figures.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1898 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-17 06:53:48 +00:00
fiddlosopher
16e5b15cae Docbook writer: support images as figures.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1897 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-17 06:53:43 +00:00
fiddlosopher
1a09a9d40f Revert "LaTeX writer: Add unique labels to figures."
This reverts commit be34432122.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1896 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-17 06:53:38 +00:00
fiddlosopher
be34432122 LaTeX writer: Add unique labels to figures.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1895 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-16 06:45:57 +00:00
fiddlosopher
26b41ce7ba Shared: Export uniqueIdent, don't allow tilde in identifier.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1894 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-16 06:45:52 +00:00
fiddlosopher
9562390d68 ConTeXt writer: support images in figures.
Also, DON'T put image in figure (as was done previously)
when it's an inline image.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1893 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-16 06:45:47 +00:00
fiddlosopher
da117c9d68 LaTeX writer: support figures with captions.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1892 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-16 04:06:33 +00:00
fiddlosopher
cb31c89eab HTML writer: implemented image-with-caption feature.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1891 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-16 04:06:25 +00:00
fiddlosopher
baae74af57 Added --base-header-level option.
Thanks to Jérémy Bobbio for the patch that formed the basis of this commit.
Closes Debian #563416.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1889 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-14 23:23:26 +00:00
fiddlosopher
075f958c6a Markdown(+lhs) reader: handle "inverse bird tracks"
Inverse bird tracks (<) are used for haskell example code that is not
part of the literate Haskell program.

Resolves Issue #211.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1888 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-14 23:23:20 +00:00
fiddlosopher
800b03ba50 LaTeX reader: ignore \section, \pdfannot, \pdfstringdef.
Resolves Issue #202.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1887 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-14 23:23:14 +00:00
fiddlosopher
139b2ed6d1 LaTeX reader: Ignore alt title in section headers.
Partially resolves Issue #202.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1886 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-14 23:23:07 +00:00
fiddlosopher
36a19e0f2e LaTeX reader: don't treat \section as inline LaTeX.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1885 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-13 07:03:26 +00:00
fiddlosopher
df6274e3d7 LaTeX reader: recognize nonbreaking space ~.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1884 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-13 04:30:27 +00:00
fiddlosopher
3b9be92492 Use template variables for include-before/after.
* These options now imply -s; previously they worked also
  in fragment mode.
* Users can now adjust position of include-before and
  include-after text in the templates.
* Default position of include-before moved back (as it
  originally was) before table of contents.
* Resolves Issue #217.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1883 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-13 04:11:24 +00:00
fiddlosopher
a35af5db29 OpenDocument writer: handle tables with no headers.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1882 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-13 03:19:19 +00:00
fiddlosopher
533dd14f98 Man writer: properly handle headerless tables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1881 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-13 03:19:13 +00:00
fiddlosopher
bc31d9fe28 Texinfo writer: fixed headerless tables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1880 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-13 03:19:03 +00:00
fiddlosopher
a34afa91ef RST writer: Fixed headerless tables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1879 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-11 03:01:27 +00:00
fiddlosopher
ea67219449 MediaWiki writer: fixed headerless tables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1878 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-11 03:01:18 +00:00
fiddlosopher
df9d79cb81 RTF writer: fixed headerless tables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1877 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-11 03:01:09 +00:00
fiddlosopher
3b9e7f36eb Markdown writer: proper support for headerless tables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1876 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-10 07:34:10 +00:00
fiddlosopher
8382de28de HTML writer: Use tbody, thead, and cols in tables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1875 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-10 06:19:53 +00:00
fiddlosopher
0cf4652ad6 Docbook writer: handle headerless tables.
In addition, use cols, thead, and tbody.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1874 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-09 04:34:07 +00:00
fiddlosopher
be34ad5b1d Markdown writer: Fixed citations.
Previously the markdown writer printed raw citation codes, e.g.
[geach1970], rather than the expanded citations provided by citeproc,
e.g. (Geach 1970).  Now it prints the expanded citations.  This means
that the document produced can be processed as a markdown document
without citeproc.  Thanks to dsanson for reporting, and arossato
for the patch.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1871 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-07 19:36:00 +00:00
fiddlosopher
53d8977886 ConTeXt writer: Don't use header in headerless table.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1868 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-07 19:35:41 +00:00
fiddlosopher
0943d24e47 HTML writer: Fixed multiline tables with no header.
In this case, the widths must be in the first table row.
In the process, simplified table generation code.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1864 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-07 19:35:14 +00:00
fiddlosopher
e9de86de2d Fixed docbook writer for headerless tables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1863 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-07 19:35:06 +00:00
fiddlosopher
1f3b48c193 Markdown reader: Added p., pp., sec., ch., as abbreviations.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1861 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-06 04:08:34 +00:00
fiddlosopher
76e6c071d0 Disallow blank lines in inline code span.
Also added additional test cases for markdown code spans.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1860 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-06 02:42:15 +00:00
fiddlosopher
f5e00c50b8 Markdown reader: Allow footnotes to be indented < 4 spaces.
This fixes a regression.  A test case has been added in testsuite.txt.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1859 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-01 22:37:06 +00:00
fiddlosopher
66d2fe3dd2 HTML, LaTeX writer: Don't print header row in headerless table.
Resolves Issue #210.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1856 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-03-01 02:28:03 +00:00
fiddlosopher
77ba3429e2 Allow multi-line titles and authors in meta block.
Based on a patch by Justin Bogner.

Titles may span multiple lines, provided continuation lines
begin with a space character.

Separate authors may be put on multiple lines, provided
each line after the first begins with a space character.
Each author must fit on one line. Multiple authors on
a single line may still be separated by a semicolon.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1854 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-28 11:21:19 +00:00
fiddlosopher
36675bd206 Added accessors (docTitle, docAuthors, docDate) to Meta type.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1853 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-28 08:13:48 +00:00
fiddlosopher
76ab88807e RST reader: Improved grid tables.
+ Table cells can now contain multiple block elements, such
  as lists or paragraphs.
+ Table parser is now forgiving of spaces at ends of lines.
+ Added test cases.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1852 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-27 20:39:21 +00:00
fiddlosopher
ddcde4d543 Markdown reader: Use simpler approach for URLs - just escape spaces.
Markdown.pl doesn't URI-escape anything, so we won't do that either,
except for spaces, which can cause problems if not escaped.

Resolves Issue #220 and partially reverts r1847.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1851 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-27 04:59:34 +00:00
fiddlosopher
f2552cf382 Mediawiki writer: Don't print a "== Notes ==" header before references.
This is too English-centric. Writers can provide their own
header at the end of the document.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1850 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-27 03:57:24 +00:00
fiddlosopher
9089e54880 Promoted mediawiki headers.
= head = is now level 1, == head == level 2, etc.
This seems to be correct; it's only by convention that
wikipedia articles have level 2 headers at most.

Patch due to Eric Kow.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1849 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-27 03:57:11 +00:00
fiddlosopher
07ae5bc264 Markdown reader: properly escape URIs.
+ Resolves Issue #220.
+ Added escapeURI function to Markdown reader. This escapes
  links in a way that makes sense for markdown.  If they've
  used URI escapes like %20 in their link, these will be preserved.
  But if they've used a special character or space without escaping
  it, it will be escaped. This should make sense in most cases.
+ Previously pandoc collapsed adjacent spaces and replaced these
  sequences of spaces with + characters.  That isn't correct for
  a URI path (+ is to be used only in the query part).  We've also
  removed the space-collapsing behavior.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1847 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-27 03:06:39 +00:00
fiddlosopher
d3f1ddf57e LaTeX reader: handle \ (interword space).
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1846 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-27 02:35:46 +00:00
fiddlosopher
4ded477409 LaTeX reader: allow any special character to be escaped.
Resolves Issue #221.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1845 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-26 23:57:41 +00:00
fiddlosopher
40ea955e23 Behave gracefully if HOME is not set.
If getAppUserDataDirectory raises an error, just use
the default data files.

Previously pandoc *assumed* HOME was set and would error out
if not.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1842 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-21 16:47:24 +00:00
fiddlosopher
c6b34574bf Incomplete support for RST tables (simple and grid).
Thanks to Eric Kow.
Note TODO for future improvement in RST reader code comments.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1840 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-20 08:30:34 +00:00
fiddlosopher
07f25fb13c LaTeX reader: treat \paragraph and \subparagraph as level 4, 5 headers.
Resolves Issue #207.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1838 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-12 03:03:23 +00:00
fiddlosopher
53ede0de5d HTML reader: handle spaces before <html>.
Resolves Issue #216.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1837 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-12 02:52:38 +00:00
fiddlosopher
0c21e4342c HTML reader: Be forgiving in parsing a bare list within a list.
The following is not valid xhtml, but the intent is clear:
<ol>
<li>one</li>
<ol><li>sub</li></ol>
<li>two</li>
</ol>

We'll treat the <ol> as if it's in a <li>.

Resolves Issue #215.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1836 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-12 02:47:24 +00:00
fiddlosopher
997ea5ea1d Removed html2markdown and hsmarkdown.
html2markdown is no longer needed, since you can pass URI arguments
to pandoc and directly convert web pages. (Note, however, that pandoc
assumes the pages are UTF8. html2markdown made an attempt to guess the
encoding and convert them.)

hsmarkdown is pointless -- a large executable that could be replaced
by 'pandoc --strict'.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1834 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-06 18:55:28 +00:00
fiddlosopher
6f0d4e49d1 Require two spaces after capital letter + period for list item.
Otherwise "E. coli" starts a list.  This might change the semantics
of some existing documents, since previously the two-space requirement
was only enforced when the second word started with a capital letter.
But it is consistent with the existing documentation and follows the
principle of least surprise.

Resolves Issue #212.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1829 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-03 05:48:46 +00:00
fiddlosopher
9fee73d2a3 Allow absolute URI as parameter (in this case, content is downloaded).
+ Adds dependency on HTTP.
+ If a parameter is an absolute URI, pandoc will try to
  get the content via HTTP.
+ So, you can do:  pandoc -r html -w markdown http://www.fsf.org

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1826 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-02 07:37:01 +00:00
fiddlosopher
19b0c72dd1 Made HTML reader much more forgiving.
+ Incorporated idea (from HXT) that an element can be closed
  by an open tag for another element.
+ Javascript is partially parsed to make sure that a <script>
  section is not closed by a </script> in a comment or string.
+ More lenient non-quoted attribute values.
  Now we accept anything but a space character, quote, or <>.
  This helps in parsing e.g. www.google.com!
+ Bare & signs are now parsed as a string.  This is a common
  HTML mistake.
+ Skip a bare < in malformed HTML.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1825 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-02-02 07:36:55 +00:00
fiddlosopher
70a7d7b214 LaTeX writer: set numbersections template variable.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1824 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-31 01:07:58 +00:00
fiddlosopher
f0bfbc5508 Made userdir arg of saveDocumentAsODT a Maybe.
This way it's consistent with other data file retrieval
functions.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1823 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-18 07:21:10 +00:00
fiddlosopher
4cdb4c0b36 Removed unneeded import.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1822 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-18 07:09:03 +00:00
fiddlosopher
b412a9cf4a Made user directory a Maybe in readFile, s5HeaderIncludes, laTeXMathML.
This is more uniform, and calling libraries can always disable
searching of user directories for overrides.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1821 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-18 07:01:29 +00:00
fiddlosopher
9fed26181f Rename getTemplate -> getDefaultTemplate.
(One reason is that getTemplate conflicts with a
function in yst.)

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1820 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-18 05:06:08 +00:00
fiddlosopher
eb851a41ca Added --data-dir option.
+ This specifies a user data directory. If not specified, will default
  to ~/.pandoc on unix or Application Data\pandoc on Windows.
  Files placed in the user data directory will override system default
  data files.
+ Added datadir parameter to readDataFile, saveOpenDocumentAsODT,
  latexMathMLScript, s5HeaderIncludes, and getTemplate.  Removed
  getDefaultTemplate.
+ Updated documentation.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1809 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-14 05:54:38 +00:00
fiddlosopher
fd7fe7d000 Added getTemplate to Text.Pandoc.Templates.
This allows the caller to select whether to allow user overrides
from the user data directory (~/.pandoc).

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1803 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-11 03:43:49 +00:00
fiddlosopher
2a4e5f9daa HTML writer: don't include empty UL if --toc but no sections.
Resolves Issue #199.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1799 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-09 03:13:08 +00:00
fiddlosopher
66c4f90e09 markdown2pdf: always do at least two runs.
Reason:  hyperref bookmarks require this.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1797 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-05 08:36:08 +00:00
fiddlosopher
e1e9bfc004 LaTeX writer: Removed stLink, link template variable.
Reason: we now always include hyperref in the template.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1796 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-05 08:36:02 +00:00
fiddlosopher
d5d67f9657 Updated haddocks for changes in Meta type.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1794 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-04 02:27:24 +00:00
fiddlosopher
e91cb556d2 LaTeX writer: if book, report, or memoir documentclass, use \chapter{}
for first-level headers. Otherwise use \section{}.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1793 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-03 08:47:54 +00:00
fiddlosopher
6c2cf70fb0 Changed default of writerXeTeX to False.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1790 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-02 21:09:29 +00:00
fiddlosopher
9070777091 markdown2pdf.hs: throw error if pandoc --dump-args does.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1781 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-02 18:19:28 +00:00
fiddlosopher
77396199e7 markdown2pdf.hs: When --toc, run latex an extra time.
Previously --toc was broken.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1780 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-02 18:19:24 +00:00
fiddlosopher
1e0c8e21cf pandoc.hs: warn of deprecated options after --dump-args has exited.
Otherwise we mess up the wrappers that look at the output of
--dump-args.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1779 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-02 18:19:19 +00:00
fiddlosopher
8fce9c54ec XML: don't escape \160 (nonbreaking space) as an entity.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1770 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-01 04:12:06 +00:00
fiddlosopher
c7149d317f Docbook writer: use unicode instead of entities.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1769 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-01 04:12:00 +00:00
fiddlosopher
41aff1cf55 HTML writer: Use functions from XML module to escape strings.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1768 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-01 04:11:54 +00:00
fiddlosopher
87c66d4623 Finished converting HTML writer to use unicode instead of entities.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1767 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-01 04:11:48 +00:00
fiddlosopher
8a308ac1b2 Modified S5 writer to look for s5 files in s5 directory.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1764 788f1e2b-df1e-0410-8736-df70ead52e1b
2010-01-01 01:32:48 +00:00
fiddlosopher
ed1535de10 Added --reference-odt option.
This allows the user to customized the styles used in pandoc-generated
ODTs.  The user may also put a default reference.odt in the ~/.pandoc
directory.

We have removed the old data/odt directory and replaced it with a
reference.odt.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1760 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 22:40:59 +00:00
fiddlosopher
bdd448ea2c LaTeX writer: Only require listings package if needed.
That is, if literate Haskell code is used.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1759 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 21:18:36 +00:00
fiddlosopher
957f4b9524 Added needed imports from System.IO when we're using ghc >= 6.12.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1754 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 16:48:55 +00:00
fiddlosopher
ca2bbafbb9 Removed redundant imports (found by ghc 6.12).
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1750 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 16:48:36 +00:00
fiddlosopher
aab574f9ef Use System.IO.UTF8 only if ghc < 6.12.
GHC >= 6.12 (base >= 4.2) uses iconv to convert to unicode
Strings.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1748 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 16:48:21 +00:00
fiddlosopher
1b3d5896c7 Removed unneeded LANGUAGE pragmas.
(CPP is enabled globally in the cabal file.)

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1747 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 16:48:14 +00:00
fiddlosopher
709de16223 Use UTF8 instead of entities in HTML.
Resolves Issue #163.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1744 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 02:06:52 +00:00
fiddlosopher
e620eab478 HTML footnotes: put anchor inside sup, instead of other way.
Resolves Issue #191.  Thanks to infinity0x for suggesting.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1743 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:47:08 +00:00
fiddlosopher
a2860f6fac markdown2pdf.hs: interpret ! in a log as an error line.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1739 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:18:20 +00:00
fiddlosopher
ade6d8a3fe Modified latex template to include bare minimum of packages.
Packages will be included only if they are needed, given what
is in the document.  So if you never use strikeout, you don't
need to install the ulem package.

Also moved amsmath to the top of the package list, made
\maketitle conditional on a title being present, and
adjusted spacing.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1738 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:18:14 +00:00
fiddlosopher
ffed5c1cc3 Added --xetex option to pandoc and markdown2pdf.
If --xetex is specified, pandoc produces latex suitable for
processing by xelatex, and markdown2pdf uses xelatex to create
the PDF. Resolves Issue #185.

This seems better than using latex packages to detect xetex,
since not all latex installations will have these.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1737 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:18:06 +00:00
fiddlosopher
b867109830 Modified mediawiki writer to use new templates.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1736 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:17:55 +00:00
fiddlosopher
3f53d6f270 Updated texinfo writer to use new templates.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1735 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:17:45 +00:00
fiddlosopher
cc6294c4f2 Modified RTF writer to use new templates.
Also changed treatment of multiple authors: they now occupy
multiple paragraphs rather than using a line break.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1734 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:17:36 +00:00
fiddlosopher
87537c3ff8 Revised man writer to use new templates.
Note that now the "--after-body" will come after the "AUTHORS"
section, whereas before it would come before it.  This is a
slight break from backwards compatibility.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1733 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:17:27 +00:00
fiddlosopher
e0ab935353 Opendocument writer: support new templates.
Also, don't generate unneeded style declarations.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1731 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:17:12 +00:00
fiddlosopher
9eb4107af9 Don't wrap text in OpenDocument writer.
The tags are so long that it's pointless.
Use <> instead of $$ to prevent huge indents.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1730 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:17:02 +00:00
fiddlosopher
2a9ac1e65a Context and latex writers - parse title, author, date before body.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1729 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:16:55 +00:00
fiddlosopher
7dc43d3684 Updated docbook writer to use new templates.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1728 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:16:44 +00:00
fiddlosopher
998fb9820e LaTeX reader: use \\ to separate multiple authors.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1727 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:16:34 +00:00
fiddlosopher
54dda0ff9e Markdown reader: use ; as separator between authors.
This allows you to use ',' within author names:
e.g. "John Jones, Jr."

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1726 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:16:27 +00:00
fiddlosopher
312d9337b9 Improved RST writer.
Updated test suite.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1725 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:16:19 +00:00
fiddlosopher
f4e738a6a9 Fixed bug with $else$ in templates module.
We need to be sure we parse the else block even if the
if condition is satisfied.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1724 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:16:08 +00:00
fiddlosopher
dd210437f6 Use $for$ for multiple authors in context, latex, markdown.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1723 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:16:00 +00:00
fiddlosopher
fbef848a3a Use $for$ for header-includes.
Put variables in right order.  We've specified that if they
use -A, -B, -H multiple times, the text appears in the same
order as on the command line.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1722 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:15:50 +00:00
fiddlosopher
7baa79597e Use $for$ for --css option in HTML writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1721 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:15:42 +00:00
fiddlosopher
5ba6c0911c Added $for$ to template system.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1720 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:15:33 +00:00
fiddlosopher
16f0604bec Use separate title, author, date variables in markdown template.
This allows us to simplify the writer code and gives the
user more control.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1719 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:15:24 +00:00
fiddlosopher
0535396290 Don't set "standalone" variable.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1717 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:15:08 +00:00
fiddlosopher
d35f34fb44 Fixed RST writer to use new templates.
Use stHasMath instead of stIncludes.

This gives the user more control over how the math
directive is defined.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1715 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:14:57 +00:00
fiddlosopher
780df052f6 Made an import more specific.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1713 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:14:42 +00:00
fiddlosopher
d5907b3034 Made renderTemplate polymorphic; added TemplateTarget class.
Now renderTemplate can return an Html, a Doc, a ByteString, or
a String.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1712 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:14:35 +00:00
fiddlosopher
c70f585e56 Templates: don't try to handle indented $if$, $else$, $endif$.
Instead, require that these be flush left in multiline
conditionals.

Also, swallow empty space after keywords in multiline conditionals.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1709 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:14:11 +00:00
fiddlosopher
213895f033 Modified templates to respect indentation.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1708 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:14:04 +00:00
fiddlosopher
cc8e3345d9 -Wall cleanup in markdown writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1706 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:13:48 +00:00
fiddlosopher
225f7dd411 Got s5 writer working with html template.
s5 css and js is included using header-includes variable.
We don't need a separate s5 template, so it has been
removed.

Use linebreak to separate authors in S5 title page.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1705 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:13:41 +00:00
fiddlosopher
43d5e3d279 HTML writer changes for templates.
Note:  now a single meta tag is used for multiple authors.
Previously one tag per author was used.

Fixed title in HTML template to avoid excess blank space.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1703 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:13:26 +00:00
fiddlosopher
f36ce015c4 Fixed up LaTeXMathML module not to use TH.
Instead, we read the script in pandoc.hs, and pass it via variables.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1702 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:13:16 +00:00
fiddlosopher
b7750b705a Implemented templates for context writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1701 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:13:08 +00:00
fiddlosopher
1f580fb701 Restored writerIncludeBefore, writerIncludeAfter.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1700 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:12:59 +00:00
fiddlosopher
3ec8772daf Changed Meta author and date types to Inline lists instead of Strings.
Meta [Inline] [[Inline]] [Inline] rather than
Meta [Inline] [String] String.

This is a breaking change for libraries that use pandoc and
manipulate the metadata.

Changed .native files in test suite for new Meta format.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1699 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:12:44 +00:00
fiddlosopher
4806628c8d Added 'standalone' variable, use in templates.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1697 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:12:14 +00:00
fiddlosopher
359f110974 Fixed markdown writer to use templates.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1696 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:12:03 +00:00
fiddlosopher
b80de325b7 Moved odt-styles -> odt. Changed ODT module to look at user data first.
So if the user has an odt-styles directory in ~/.pandoc, it
will be used instead of the default.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1694 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:11:49 +00:00
fiddlosopher
fad620c004 Changed readDataFile to look first in user data directory.
This way all of the pandoc data files can be overridden by
user files.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1693 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:11:30 +00:00
fiddlosopher
9eb435d3c1 Removed TH module; refactored LaTeXMathML not to use TH.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1692 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:11:23 +00:00
fiddlosopher
ae44c7297f Removed TH dependency from S5 module, removed DefaultTemplates.
S5 module now exports s5HeaderIncludes, which pandoc.hs
includes if writer is s5 and standalone.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1691 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:11:13 +00:00
fiddlosopher
9551e36389 Removed need for TH in ODT module.
Instead get reference zip file directly from the file at run time.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1690 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:11:04 +00:00
fiddlosopher
ecbf3388d4 Use Text.Pandoc.Templates instead of Text.Pandoc.DefaultTemplates.
(in pandoc.hs and Text.Pandoc)

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1689 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:10:57 +00:00
fiddlosopher
2b1c010599 Added getDefaultTemplate to Templates.
Exposed Templates module in API.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1688 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:10:49 +00:00
fiddlosopher
5ef0be2375 Simplified handling of --css; removed optCSS in pandoc.hs.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1686 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:10:32 +00:00
fiddlosopher
b771051432 Added -V/--variable option to set custom template variables.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1685 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:10:26 +00:00
fiddlosopher
9f126c15cf Removed unneeded writer options; use template variables instead.
Removed writerIncludeAfter, writerIncludeBefore, writerTitlePrefix,
writerHeader.  Removed corresponding fields of Options structure
in pandoc.hs.  The options now set template variables (writerVariables)
instead.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1684 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:10:17 +00:00
fiddlosopher
c602ed3459 Added and documented --template option.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1683 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:10:04 +00:00
fiddlosopher
974bceaac5 Use legacy-header variable for custom header.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1682 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:09:56 +00:00
fiddlosopher
e037d6ace3 Made writerVariables active in LaTeX writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1681 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:09:50 +00:00
fiddlosopher
0d8fc82a8c Changed --print-default-header to --print-default-template.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1679 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:09:36 +00:00
fiddlosopher
732e6a1097 Added writerTemplate and writerVariables to writerOptions.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1678 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:09:28 +00:00
fiddlosopher
ca97f1482d Renamed headers -> templates.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1677 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:09:20 +00:00
fiddlosopher
2033da8e47 Revised LaTeX writer to use templates.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1675 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-12-31 01:08:56 +00:00