Commit graph

1861 commits

Author SHA1 Message Date
fiddlosopher
42aca57dee Moved all haskell source to src subdirectory.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1528 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-01-24 20:00:26 +00:00
fiddlosopher
9a67a486c2 Moved everything from src into the top-level directory.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1104 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-29 02:02:34 +00:00
fiddlosopher
7deee9c874 Reverted changes in r1086 (implicit section header references).
This caused too much of a performance hit.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1093 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-23 03:51:21 +00:00
fiddlosopher
fb07803be6 + Changed \useurl to \useURL in ConTeXt output.
+ Changed links from red to blue in ConTeXt output.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1087 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-22 17:33:12 +00:00
fiddlosopher
f7b705b44c Implemented implicit reference-style links to section headers in markdown.
For example, if you have a header '# Supported architectures', you can
link to it with '[Supported architectures]'.  If there are multiple
headers with this label, the link will point to the first of them.
Implicit references are always overridden by explicitly specified references.
Addresses Issue #20.

+ Moved isPunctuation, uniqueIdentifiers, and inlineListToIdentifier from
  Text.Pandoc.Writers.HTML to Text.Pandoc.Shared.

+ Added stHeaders to ParserState.   This holds a list of header texts
  used in the document, and is used to construct implicit header references.

+ In Text.Pandoc.Readers.Markdown, added call to headerReference
  parser in initial parsing pass, constructing a list of section header
  labels. This is then passed to uniqueIdentifiers to produce
  identifiers, and a list of implicit references is constructed. This is
  added to the end of the explicitly specified references, so it will be
  overridden by explicitly specified references. All of this processing
  is skipped if --strict was specified.

+ Modified documentation in README.



git-svn-id: https://pandoc.googlecode.com/svn/trunk@1086 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-22 17:14:21 +00:00
fiddlosopher
f4a1fa4b8d More improvements to ConTeXt writer:
+ writer options are now in state, so they don't have to be passed as
  a parameter
+ state also keeps track of ordered list level, so the right default
  numbering scheme can be used
+ extra blank line after \stopitemize
+ removed definitions of ltxenum and ltxitem from the preamble
+ both kinds of lists are now generated using \start-stopitemize, with
  appropriate options
+ in the case of bulleted lists, no options need be specified, because
  defaults are given in the preamble
+ test suite updated accordingly


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1084 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-18 01:24:43 +00:00
fiddlosopher
5fa78695bc ConTeXt writer:
+ Don't use \(sub)+subject if header level > 5.
+ Modified tests to conform to new treatment of level 4 and 5 headers.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1083 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-17 23:34:16 +00:00
fiddlosopher
4c9a85b821 Modified ConTeXt writer to use \subsubsubsubsection etc.,
since these are supported (up to at least sub x 5).


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1082 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-17 23:26:51 +00:00
fiddlosopher
09b57fcf9c Adjusted formatting of LaTeX and ConTeXt footnotes:
- in ConTeXt, % is not needed at end of line before note, since
  space is gobbled.
- beginning of footnote indented four spaces.
- this required an additional parameter in wrappedTeX and
  wrapTeXIfNeeded, in Text.Pandoc.Shared.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1080 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-17 18:42:11 +00:00
fiddlosopher
780b77c147 ConTeXt writer: Use itemize options, not sym{}, to produce ordered
lists with custom numbering styles.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1079 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-16 06:20:25 +00:00
fiddlosopher
13d8a75060 New, "official" definition of blockquote environment in ConTeXt header.
Also, use blank line after \startblockquote to balance blank line at the end.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1078 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-16 04:04:53 +00:00
fiddlosopher
ea5e945470 Changes to ConTeXt writer:
+ PrettyPrint module now used for output.
+ Text wrapping now provided, using wrapTeXIfNeeded.
+ Better treatment of footnotes:  footnotes are always on lines by themselves.
+ Use \subject, \subsubject, ... or \section, \subsection, ... for headings,
  depending on whether --number-sections option is selected.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1072 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:20:05 +00:00
fiddlosopher
851c04dfcd Improved footnote handling in LaTeX writer:
+ use wrapTeXIfNeeded instead of wrapIfNeeded
+ make sure footnotes occur on lines by themselves, with a % at the
  end of the preceding line to prevent unwanted spaces
+ added writer options to state, so it can be accessed by wrapTeXIfNeeded 


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1071 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:11:33 +00:00
fiddlosopher
fe684764e6 Reverted back to state as of r1062. The template haskell changes
are more trouble than they're worth.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1064 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-03 23:27:58 +00:00
fiddlosopher
4a841bfc54 Use template haskell to avoid the need for templates:
+ Added library Text.Pandoc.Include, with a template haskell
  function $(includeStrFrom fname) to include a file as a string
  constant at compile time.
+ This removes the need for the 'templates' directory or Makefile
  target.  These have been removed.
+ The base source directory has been changed from src to .
+ A new 'data' directory has been added, containing the ASCIIMathML.js
  script, writer headers, and S5 files.
+ The src/wrappers directory has been moved to 'wrappers'.
+ The Text.Pandoc.ASCIIMathML library is no longer needed, since
  Text.Pandoc.Writers.HTML can use includeStrFrom to include the
  ASCIIMathML.js code directly.  It has been removed.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1063 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-03 22:14:03 +00:00
fiddlosopher
40fa01765b Cleaned up LaTeX footnotes:
+ Footnotes start on a separate line.  A comment % is used
  at the end of the previous line to prevent unwanted spaces.
  This makes footnotes easier to see, delete, and move around.
+ The final } now only appears on a separate line if it needs to
  (i.e. if the note ends with a Verbatim environment).


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1061 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-01 17:32:59 +00:00
fiddlosopher
447b99e35d '--no-wrap' option now prevents the addition of structural whitespace
in HTML output, minimizing the file size.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1053 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-18 15:36:51 +00:00
fiddlosopher
403f5f4728 Undid last change: instead of blocking the internal links in the
writers, it makes more sense to block them in the HTML reader.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1048 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-12 03:03:29 +00:00
fiddlosopher
4928045915 Man writer: Don't print link source for internal links (#...).
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1047 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-11 22:54:01 +00:00
fiddlosopher
27d3657eef Fixed bug in markdown writer: If an ordered list item began with
a marker greater than 3 characters in width, and the item took more
than one line, it would appear on the line after the list marker,
e.g.:

    (12)
        My list item.
        Multiline.

Now it works as follows:

    (12) My list item.
        Multiline.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1036 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-27 18:52:39 +00:00
fiddlosopher
5b888e8b3b Added a writer option for wrapped text and a command-line option
'--no-wrap', which disables text wrapping.  (Resolves Issue #26.)

+ Added support for '--no-wrap' to Main.hs.
+ Added wrapIfNeeded function to Text.Pandoc.Shared.
+ Use wrapIfNeeded instead of wrapped in the RST, Man, Docbook, and 
  Markdown writers.
+ Note:  Not yet implemented in HTML, LaTeX, or ConTeXt writers. 
  No documentation yet.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1034 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-27 01:23:44 +00:00
fiddlosopher
4f9814087e Fixed a bug in the Markdown writer: incorrect line wrapping in
paragraphs including hard line breaks.  Resolves Issue #25.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1032 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-25 05:43:38 +00:00
fiddlosopher
d9dedf0813 RST writer: If label for a link reference contains a colon,
surround by ` signs so the colon won't be interpreted as the
end of the link label.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1029 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-19 01:15:20 +00:00
fiddlosopher
f8eac5b377 Markdown writer: Don't print title attribute if title is empty.
(This differs from the behavior of Markdown.pl, and agrees with PHP
Markdown.  But John Gruber has indicated that he prefers this behavior.)
Adjusted test suite accordingly.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1026 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-18 01:35:50 +00:00
fiddlosopher
9cadf53621 + Fixed bug in RST writer's handling of ordered lists. Previously,
list items with multiple lines would not always line up with single-line
  list items.  Now, list items are nested the length of the list marker + 1.
  This looks better and ensures that list items all line up.  (Note that
  list markers are padded to the length of the longest list marker in the
  series.)
+ Use 3-space indent for unordered lists.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1013 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-10 23:44:21 +00:00
fiddlosopher
d5e8ab71a4 HTML writer: Don't produce HTML for table of contents if
there are no headers.  (This would be an empty list, which is
invalid XHTML.)


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1011 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-05 02:16:50 +00:00
fiddlosopher
4f3ad778ba HTML writer: put anchors around contents of headers, not around
the header tags themselves, when producing backlinks to TOC.
Resolves Issue #23.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1000 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-02 17:22:22 +00:00
fiddlosopher
a70c2b261e Markdown writer: escape paragraphs that begin with ordered list
markers, so they don't get interpreted as ordered lists.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@988 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-02 00:39:56 +00:00
fiddlosopher
dcb1dd1ee4 Replaced individual wrapping routines in RST, Man, and
Markdown writers with 'wrapped' from Text.Pandoc.Shared.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@967 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-30 22:59:13 +00:00
fiddlosopher
1827ab40c3 Rewrote LaTeX writer to use the prettyprinting library,
so we get word wrapping, etc.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@964 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-30 22:48:34 +00:00
fiddlosopher
902d6c7115 Fixed bug in LaTeX writer: autolinks would not cause
'\usepackage{url}' to be put in the document header.
Also, changes to state in enumerated list items would be
overwritten.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@947 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-29 00:03:45 +00:00
fiddlosopher
f609755cb6 Fixed bug in LaTeX writer. When a footnote ends with a Verbatim
environment, the close } of the footnote needs to occur on the same
line or an error occurs.  Fixed by adding a newline before the close }
in every footnote.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@897 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-25 18:17:01 +00:00
fiddlosopher
3de1f19b43 Removed incorrect "{}" around style information in
HTML tables.  Adjusted test suite accordingly.  Column
widths now work properly in HTML.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@882 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-23 23:20:54 +00:00
fiddlosopher
57d52c39ec If --strict and not --toc, don't include identifiers in headers.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@875 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-20 18:42:09 +00:00
fiddlosopher
a6f3dd3755 Fixed block quote output in markdown writer: previously,
block quotes in notes would be indented only in the first line.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@859 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-17 18:48:16 +00:00
fiddlosopher
a8e2199034 Major code cleanup in all modules. (Removed unneeded imports,
reformatted, etc.)  More major changes are documented below:

+ Removed Text.Pandoc.ParserCombinators and moved all its definitions
  to Text.Pandoc.Shared.
+ In Text.Pandoc.Shared:
  - Removed unneeded 'try' in blanklines.
  - Removed endsWith function and rewrote functions to use isSuffixOf instead.
  - Added >>~ combinator.
  - Rewrote stripTrailingNewlines, removeLeadingSpaces.
+ Moved Text.Pandoc.Entities -> Text.Pandoc.CharacterReferences.
  - Removed unneeded functions charToEntity, charToNumericalEntity.
  - Renamed functions using proper terminology (character references,
    not entities).  decodeEntities -> decodeCharacterReferences,
    characterEntity -> characterReference.
  - Moved escapeStringToXML to Docbook writer, which is the only thing
    that uses it.
  - Removed old entity parser in HTML and Markdown readers; replaced with
    new charRef parser in Text.Pandoc.Shared.
+ Fixed accent bug in Text.Pandoc.Readers.LaTeX:  \^{} now correctly
  parses as a '^' character.
+ Text.Pandoc.ASCIIMathML is no longer an exported module.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@835 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-15 06:00:58 +00:00
fiddlosopher
e814a3f6d2 Major change in the way ordered lists are handled:
+ The changes are documented in README, under Lists.
+ The OrderedList block element now stores information
  about list number style, list number delimiter, and
  starting number.
+ The readers parse this information, when possible.
+ The writers use this information to style ordered
  lists.
+ Test suites have been changed accordingly.

Motivation:  It's often useful to start lists with
numbers other than 1, and to have control over the
style of the list.

Added to Text.Pandoc.Shared:
+ camelCaseToHyphenated
+ toRomanNumeral
+ anyOrderedListMarker
+ orderedListMarker
+ orderedListMarkers

Added to Text.Pandoc.ParserCombinators:
+ charsInBalanced'
+ withHorizDisplacement
+ romanNumeral

RST writer:
+ Force blank line before lists, so that sublists will be handled
  correctly.

LaTeX reader:
+ Fixed bug in parsing of footnotes containing multiple paragraphs,
  introduced by use of charsInBalanced.  Fix: use charsInBalanced'
  instead.

LaTeX header:
+ use mathletters option in ucs package, so that basic unicode Greek
  letters will work properly.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@834 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-08 02:43:15 +00:00
fiddlosopher
271c3f987e Use \url{} for autolinks in LaTeX writer.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@832 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-08-03 22:14:32 +00:00
fiddlosopher
1be1f77569 LaTeX writer:
+ No longer using examplep (too many quirks, too hard to install)
+ Instead, using deVerb function for environments that don't support
  \verb
+ And fancyvrb for footnotes and verbatim environments in footnotes.
+ Add fancyvrb to header if Code inline occurs in a footnote.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@825 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 18:14:40 +00:00
fiddlosopher
7c8dcc3db6 Cleaned up and fixed autolinks in RST. All that's needed
is a bare email address or URL.  This is now handled with
a separate matching clause in the definition of inlineToRST,
rather than with conditionals.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@821 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 15:33:58 +00:00
fiddlosopher
db0757d65b Don't put autolinks in typewriter font in ConTeXt, since
ConTeXt has its own way of printing links.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@820 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 15:33:04 +00:00
fiddlosopher
f273965e16 Fixed problems with obfuscateLink introduced by last round
of changes.  Changed type so that text parameter is String,
not HTML, which allows easier testing for autolinks.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@819 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 06:38:49 +00:00
fiddlosopher
d65f01f467 Man page writer: modified treatment of autolinks,
in accord with recent change from Str to Code.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@816 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 04:14:32 +00:00
fiddlosopher
94ed30cf15 LaTeX writer: include fancyvrb and \VerbatimFootnotes
line in header only if absolutely needed -- that is, only
if there is actually a code block in a footnote.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@815 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 03:58:09 +00:00
fiddlosopher
465c0849ff Simplified HTML writer's treatment of autolinks.
There are now a few different cases for Link, and
less conditional logic needed.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@813 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 02:43:04 +00:00
fiddlosopher
9939b0f07e Make URLs and emails in autolinks appear as Code.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@810 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 02:12:40 +00:00
fiddlosopher
cf87eb854d Fixed a bug in Docbook writer: email links with text were being
incorrectly treated as autolinks.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@809 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 02:11:04 +00:00
fiddlosopher
d488dd0f66 Reinstated dependence on fancyvrb. It is compatible with examplep.
fancyvrb is needed for verbatim environments in footnotes.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@808 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 01:40:48 +00:00
fiddlosopher
b29f221cba Changed LaTeX writer to use the examplep package instead
of fancyvrb. examplep allows verbatim text in places where
fancyvrb does not, e.g. definition list terms, and provides
for line-breaking of verbatim text.
+ examplep code put in LaTeX header instead of being dynamically
  included, since it is frequently used, and people may want to
  customize the options.
+ documented dependency on examplep
+ added texlive-latex-extra as a "Suggested" package in debian/control
+ use examplep's \Q{} is now used instead of \verb:  note that 
  \Q requires backslash- escaping symbols in its scope.
+ modified README so that the verbatim sections will look good at
  shorter line lengths.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@807 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-28 01:10:04 +00:00
fiddlosopher
4283ce3662 Use ` as default character for \verb in LaTeX output.
If ` is in the content to be escaped, another symbol
will be used as before.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@806 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-07-27 22:52:11 +00:00