Commit graph

768 commits

Author SHA1 Message Date
John MacFarlane
da52412455 Extended --offline to s5.
S5 default is now to include links, rather than a full copy
of scripts and stylesheets.
2010-07-22 22:23:43 -07:00
John MacFarlane
c5ed016616 Added new --offline option for slidy.
Added slidy/slidy.min.{css,js}.
2010-07-22 21:50:53 -07:00
John MacFarlane
5fd1389263 Slidy writer: Avoid spurious blank page. 2010-07-22 17:28:15 -07:00
John MacFarlane
a3051b8acb Export HTMLSlideVariant in Text.Pandoc. 2010-07-22 17:12:57 -07:00
John MacFarlane
2253c8ef65 Require texmath >= 0.3, adjusted for new elements. 2010-07-22 15:06:46 -07:00
John MacFarlane
4c88ecaeca Changed to using strict bytestrings in UTF8 module.
This avoids a problem on Windows reading from stdin.
Previously we'd get an error from hGetBufNonBlocking.
2010-07-21 15:14:20 -07:00
John MacFarlane
87cd12a573 Avoid shadowing when compiling with citeproc. 2010-07-21 11:24:37 -07:00
John MacFarlane
feb70b6e93 Made spacing at end of output more consistent.
Previously some of the writers added spurious whitespace.
This has been removed, resolving Issue #232.

NOTE: If your application combines pandoc's output with other
text, for example in a template, you may need to add spacing.
For example, a pandoc-generated markdown file will not have
a blank line after the final block element.  If you are inserting
it into another markdown file, you will need to make sure there
is a blank line between it and the next block element.
2010-07-20 12:42:12 -07:00
John MacFarlane
465a4a6699 Slidy writer: create new slide at every level 1 header. 2010-07-18 23:06:22 -07:00
John MacFarlane
85f8c51b64 Use default highlighting CSS rather than embedding CSS in templates. 2010-07-16 00:23:13 -07:00
John MacFarlane
9be9bccfcf Added --section-divs option.
+ Header identifiers now get attached to the headers, unless
  --section-divs is specified, in which case they are added to
  enclosing divs. By default, the divs are not added.
+ Resolves Issue #230, #239.
2010-07-15 22:26:45 -07:00
John MacFarlane
57a91f3b6a Added --webtex option for HTML math.
+ Added --webtex command-line option, with optional parameter.
  (Defaults to using google charts API.)
+ Added WebTeX HTMLMathMethod.
+ Removed MimeTeX HTMLMathMethod.  (WebTeX is generic and subsumes it.)
+ Modified --mimetex option to use WebTeX.
+ Thanks to lpeterse for the idea and some of the code.
2010-07-15 19:01:00 -07:00
John MacFarlane
8757da76b0 Improved handling of code in man writer.
+ Inline code is now in monoscpace, not bold.
+ Code blocks now use .nf (no fill) and .IP (indented paragraph).
+ Resolves Issue #247.
2010-07-14 10:58:34 -07:00
John MacFarlane
68e3f83545 HTML reader: code cleanup + parse <tt> as Code.
Partially resolves Issue #247.
2010-07-14 09:39:48 -07:00
John MacFarlane
851c5e6ae2 Code cleanup, S5 writer. 2010-07-14 09:04:17 -07:00
John MacFarlane
255aa7eb6e Improved Slidy writer.
We now carve up slides at HorizontalRules, rather than by level-1
headers. This gives the user lots of flexibility.
2010-07-13 23:41:18 -07:00
John MacFarlane
9b833e8744 Added a slidy writer.
Resolves Issue #122.
2010-07-13 20:44:56 -07:00
John MacFarlane
71b4700669 Made latex \section, \chapter parsers more forgiving of whitespace. 2010-07-13 19:22:41 -07:00
John MacFarlane
0b23956d48 Parse \chapter{} in latex.
+ Added stateHasChapters to ParserState.
+ If a \chapter command is encountered, this is set to True
  and subsequent \section commands (etc.) will be bumped up
  one level.
2010-07-13 19:18:58 -07:00
John MacFarlane
afe18e53f1 Modified example refs so they can occur before or after target.
The refs are now replaced by numbers at the final stage, using
processWith.
2010-07-12 23:05:46 -07:00
John MacFarlane
0181e66250 Merge branch 'atlists'. Added auto-numbered example lists. 2010-07-11 22:47:52 -07:00
John MacFarlane
cfb27ece34 Moved headerShift from pandoc.hs to Shared. 2010-07-11 20:03:55 -07:00
John MacFarlane
5765ac2523 Slight code cleanup on substitute function. 2010-07-11 12:22:18 -07:00
John MacFarlane
da7931f35f Cleaned up EPUB writer. 2010-07-09 10:58:24 -07:00
John MacFarlane
0bfbabba81 EPUB writer: don't put multiple copies of same image in epub. 2010-07-08 18:22:43 -07:00
John MacFarlane
8af979311a Get default stylesheet in EPUB writer, rather than pandoc.hs. 2010-07-08 17:51:13 -07:00
John MacFarlane
bf43da01c9 Added writerUserDataDir to WriterOptions. 2010-07-08 17:31:55 -07:00
John MacFarlane
d67ec663ba Added writerSourceDirectory to WriterOptions.
This allows us to remove an argument from the ODT and EPUB
writers.
2010-07-08 17:16:30 -07:00
John MacFarlane
1cd99f9880 Addendum to the fix to issue #242.
The previous fix resulted in bird tracks being included in
both html and html+lhs renderings of literate haskell sections
when pandoc was compiled without highlighting support. This change make
pandoc without highlighting behave like pandoc with highlighting: the
bird tracks are used only if html+lhs output is specified.
2010-07-07 10:28:25 -07:00
John MacFarlane
6a68dbe5ae Changed order of functions in Shared. 2010-07-06 23:17:06 -07:00
John MacFarlane
73b4cc0897 Minor comment change. 2010-07-06 21:23:25 -07:00
John MacFarlane
7d687684aa Allow language-neutral table captions.
+ Captions may now begin simply with ':', instead of 'Table:'
+ Captions may now appear either above or below the table.
+ Resolves Issue #227.
2010-07-06 21:02:26 -07:00
John MacFarlane
6a8fa53f6c More refactoring of grid table code. 2010-07-05 23:43:07 -07:00
John MacFarlane
ba19dff8af Minor reformatting. 2010-07-05 20:41:42 -07:00
John MacFarlane
869946114e Moved generic grid table functions from RST reader -> Parsing.
Here they can be used by the Markdown reader as well.
2010-07-05 14:34:48 -07:00
John MacFarlane
bd0320962e Comment change in Templates (thanks to Alexander Hirzel).
Resolves Issue #245.
2010-07-05 00:11:02 -07:00
John MacFarlane
306c474562 Don't allow colon in autogenerated HTML identifiers.
They have a special meaning in XML (e.g. in EPUB).
2010-07-05 00:06:28 -07:00
John MacFarlane
efd7167ace Made -Wall clean. 2010-07-05 00:06:27 -07:00
John MacFarlane
6a7b16eb4d Removed links (internal and external). 2010-07-05 00:06:27 -07:00
John MacFarlane
f895ee2e48 Process user-supplied EPUB metadata.
Read a sequence of elements from the file.
Ignore anything that's not valid Dublin Core.
If title, language, uuid not supplied, supply them.
2010-07-05 00:06:27 -07:00
John MacFarlane
e3dcf8e3bf Added writerEPUBMetadata field and --epub-metadata option. 2010-07-05 00:06:27 -07:00
John MacFarlane
15cc99c617 Removed writerInclude{Before,After} from WriterOptions.
This is no longer used with the new templating system.
2010-07-05 00:06:27 -07:00
John MacFarlane
3548bf6d9c Moved Pandoc prettyprinting code from Shared to new Native writer.
+ Text.Pandoc.Writers.Native
+ The function prettyPandoc is now gone.  Use writeNative instead.
2010-07-05 00:06:27 -07:00
John MacFarlane
998fd098d0 Moved parsing functions from Text.Pandoc.Shared to new module.
+ Text.Pandoc.Parsing
2010-07-05 00:06:27 -07:00
John MacFarlane
f1114733a6 Added an EPUB writer.
+ New writer module Text.Pandoc.Writers.EPUB
+ Stylesheet in epub.css
+ --epub-stylesheet command-line option.
+ New utility module Text.Pandoc.UUID to generate
  random UUIDs for EPUBs.
2010-07-05 00:06:27 -07:00
John MacFarlane
ff4d94e054 Made a proper ODT writer.
+ Transformed the old Text.Pandoc.ODT module into a proper
  writer module, Text.Pandoc.Writers.ODT.
+ Instead of saveOpenDocumentAsODT, we now have writeODT, which
  takes a Pandoc document and produces a bytestring.
  saveOpenDocumentAsODT has been removed.
+ To extract the images and insert them into the ODT, we now use
  processPandocM on the Pandoc document rather than a custom XML parser.
+ Handle the case where the image is remote (or not found) by
  converting the Image element into an Emph with the label.
+ Plumbing in pandoc.hs changed slightly to accomodate this, and to
  allow other writers that live in the IO monad.
2010-07-05 00:06:26 -07:00
John MacFarlane
ee51124412 Use unicode for smart punctuation in plain, markdown, rst formats. 2010-06-30 18:53:35 -07:00
John MacFarlane
163b0c0f8a Let markdown2pdf recognize citeproc options. 2010-06-30 18:34:14 -07:00
John MacFarlane
d0be7ca8cb Add birdtracks to lhs in HTML when compiled wo -fhighlighting.
Resolves Issue #242.  Previously the bird tracks would be
stripped off when pandoc was not compiled with highlighting support,
even if -t html+lhs was specified.

Thanks to Nicholas Wu for pointing out the problem.
2010-06-28 19:49:07 -07:00
John MacFarlane
b5bda7569e Made KeyTable a map instead of an association list.
* This affects the RST and Markdown readers.
* The type for stateKeys in ParserState has also changed.
* Pandoc, Meta, Inline, and Block have been given Ord instances.
* Reference keys now have a type of their own (Key), with its
  own Ord instance for case-insensitive comparison.
2010-05-08 10:29:40 -07:00
John MacFarlane
91f52e2229 Use explicit imports from Data.Generics.
Otherwise we have a conflict with the 'empty' symbol,
introduced in syb >= 0.2.  Thanks to ddssff for pointing
out the problem. Resolves Issue #237.
2010-05-07 11:28:38 -07:00
John MacFarlane
7d20ffe3e0 UTF8: Modified readFile and getContents to strip BOM if present. 2010-05-06 23:04:44 -07:00
John MacFarlane
1cc11e6086 Use new UTF8 module in Shared, ODT, and the executables. 2010-05-06 22:28:28 -07:00
John MacFarlane
7be82b4536 Added Text.Pandoc.UTF8 for portable UTF8 string IO. 2010-05-06 20:27:10 -07:00
John MacFarlane
f20c4ae928 Convert command-line arguments to UTF8.
Resolves Issue #234.
2010-05-04 23:36:03 -07:00
John MacFarlane
d253955a7e Changed rawLaTeXInline to accept '\section', '\begin', etc.
Use new rawLaTeXInline' in LaTeX reader, and export rawLaTeXInline
for use in markdown reader.

Fixes bug wherein '\section{foo}' was not recognized as raw TeX
in markdown document.
2010-04-26 23:17:34 -07:00
John MacFarlane
4aaa1991fd Man writer: convert math to unicode when possible.
(As in other writers.)
2010-04-26 23:04:29 -07:00
John MacFarlane
c243e5b67b Use texmath's parser in TexMath module.
* This replaces a lot of custom parser code, and expands
  the tex -> unicode conversion.
* The behavior has also changed: if the whole formula can't
  be converted, the whole formula is left in raw TeX.
  Previously, pandoc converted parts of the formula to unicode
  and left other parts in raw TeX.
* Added (but not yet exported) readTeXMath', which returns a Maybe.
* Updated tests
2010-04-25 20:30:27 -07:00
John MacFarlane
5d9d7f32ca In parsing smart quotes, leave unicode curly quotes alone.
Resolves Issue #143.
2010-04-10 12:05:26 -07:00
Max Bolingbroke
e365c5950b Give LaTeX images a maximum width using the prelude only 2010-04-10 12:01:35 +08:00
John MacFarlane
c5c4e19c99 Shared: Fixed uniqueIdent so it behaves as described in README.
Previously some characters that are illegal in HTML identifiers,
such as '<', were being allowed in header identifiers.  The logic
has now been fixed. Thanks to Xyne for reporting.
2010-03-28 22:29:31 -07:00
John MacFarlane
6972c0b5b0 Implemented @ for sequentially numbered examples.
Also implemented (@label) for example labels and references.
2010-03-27 10:24:18 -07:00
John MacFarlane
14e7cb362a Markdown, RST writers: unescape URI in links, to make them readable.
(Since they aren't required to be escaped in these formats.)
2010-03-23 15:35:19 -07:00
John MacFarlane
8504055360 Shared: Export unescapeURI. 2010-03-23 15:34:53 -07:00
John MacFarlane
c87d52223a Properly escape URIs in all readers. 2010-03-23 15:07:48 -07:00
John MacFarlane
85ca50d623 Shared: Rewrote uri and emailAddress to return original text + escaped URI. 2010-03-23 15:06:18 -07:00
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