Commit graph

438 commits

Author SHA1 Message Date
fiddlosopher
df5244fd48 HTML writer: wrap sections in divs. Resolves Issue #70.
+ hierarchicalize has been rationalized; it builds a hierarchical
  representation of the document from the headers, and simultaneously
  gives each section a unique identifier based on the heading title.
+ Identifiers are now attached to the divs rather than
  to the headers themselves.
+ Table of content backlinks go to the beginning of the table, rather
  than to the section reference that was clicked.  This seems better.
+ Code for constructing identifiers has been moved to Text.Pandoc.Shared
  from the HTML writer, since it is now consumed only by
  hierarchicalize.
+ In --strict mode, pandoc just prints bare headings, as before
  (unless --toc has been specified).
+ In s5 output, it does not wrap sections in divs, as that seems to
  confuse the s5 javascript.
+ Test suite updated accordingly.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1562 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-04-25 00:29:58 +00:00
fiddlosopher
a972a6ccbc Use Paths_pandoc to get version number.
(Instead of hard-coding it into Text/Pandoc.hs.)

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1560 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-04-18 16:15:56 +00:00
fiddlosopher
0395ba157e Fixed regression with --preserveTabs.
Brought back optPreserveTabs.  The trick of setting
tabStop to 0 to mean "preserve tabs" had a bad side effect:
strings of 0 spaces were interpreted as indentation.
So, with --preserve-tabs, unindented paragraphs were
treated as code.  Resolves Issue #138.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1559 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-04-08 20:19:50 +00:00
fiddlosopher
9be0d098b8 Minor changes in Text.Pandoc.Biblio.
Replaced queryPandoc w queryWith, processPandoc w processWith.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1554 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-02-28 07:39:45 +00:00
fiddlosopher
75c7800d90 Don't return an error status on --help or --version.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1551 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-02-26 16:47:36 +00:00
fiddlosopher
5f3a147dfd Removed plugin support.
Plugins will probably be added in a later version,
but for now we want to avoid the heavy GHC API dependency.
Also, plugins are very slow with the current system.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1548 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-02-24 22:59:44 +00:00
fiddlosopher
f1c22f3d1a Version bump to 1.2.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1546 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-02-14 18:30:11 +00:00
fiddlosopher
a1eadcdbc1 Changed comment header on hsmarkdown.hs.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1543 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-02-14 17:24:22 +00:00
fiddlosopher
dcedb2f712 Fixed bug with header spacing in Markdown and RST writers.
A null header (Meta [] [] []) should not cause a blank line
at the beginning of output.  But a blank line is needed between
a non-null header and the main text.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1536 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-02-07 19:20:35 +00:00
fiddlosopher
9b27f59fc2 Gobble space after Plain blocks containing only raw html inline.
Otherwise following header blocks are not parsed correctly,
since the parser sees blank space before them.  Resolves
Issue #124.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1534 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-01-31 18:30:44 +00:00
fiddlosopher
cdd3b67a05 Rewrote hsmarkdown in Haskell for portability.
For now, keeping the old shell script too.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1533 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-01-31 18:30:26 +00:00
fiddlosopher
ede0d805a0 Moved tabFilter to Shared.
Removed optPreserveTabs; instead, tabstop of 0 means preserve tabs.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1532 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-01-31 17:13:41 +00:00
fiddlosopher
5a9e3b7445 Renamed Main.hs -> pandoc.hs.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1531 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-01-31 17:13:30 +00:00
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
66efec1670 Improved and simplified setextHeader parser in markdown reader.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1092 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-22 19:09:38 +00:00
fiddlosopher
5a0179d0a0 Improved efficiency of romanNumeral parser (in Text.Pandoc.Shared)
for a big speed boost in (non-strict) markdown parsing.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1089 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-22 18:17:29 +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
8d334b84cc Fixed some haddock documentation bugs in Shared.hs.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1085 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-18 01:44:08 +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
87d6d0d069 Fixed logic in markdown smart quote parsing:
+ Added some needed 'try' statements.
+ Unicode right single-quote can double as apostrophe, so treat it
  as a quote-end only when not followed by an alphanumeric character.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1077 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 17:29:24 +00:00
fiddlosopher
ccb5fbb209 Fixed smart quote parsing in markdown reader so that unicode
characters 8216 and 8217 are recognized as single quotes,
and 8220 and 8221 as double quotes.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1075 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:55:58 +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
e73c3d3561 Added wrappedTeX and wrapTeXIfNeeded functions to Text.Pandoc.Shared.
These ensure that footnotes occur on lines by themselves (to make them
easier to move around), and that they don't screw up text wrapping.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1070 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-15 03:09:31 +00:00
fiddlosopher
bd7f5f3f7c Fixed bug in LaTeX reader (pointed out by Mark Eli Kalderon):
needed a "try" before "string" in parser for \[ math blocks.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1068 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-11-10 21:44:05 +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
d5adbcb774 Fixed bug in parsing files that begin with blank lines.
+ In Text.Pandoc.Shared: rewrote lineClump to parse EITHER a string
  of blank lines OR a string of nonblanks.  Removed code for parsing
  eof.
+ In Markdown and RST readers, use 'manyTill (... <|> lineClump) eof'
  instead of many, since lineClump no longer parses eof. 


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1057 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-29 21:00:48 +00:00
fiddlosopher
63dfc3abf2 Modified specialChar in LaTeX reader so that '"'
characters are parsed and do not cause an error.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1056 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-28 23:30:29 +00:00
fiddlosopher
65a5db2d41 Modified fromUTF8 to strip out the BOM (byte order marker)
wherever it is present.  See
http://en.wikipedia.org/wiki/Byte_Order_Mark and
http://six.pairlist.net/pipermail/markdown-discuss/2007-October/000874.html.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1054 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-27 22:55:40 +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
a81613df34 Removed 'version' constant from Main.hs; added 'pandocVersion' to Text.Pandoc.
This way all programs that use pandoc libraries will have access to the version
number.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1052 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-15 21:21:52 +00:00
fiddlosopher
8144c54f82 Improvements to RST reader:
+ Allow field lists to be indented.
+ Parse the contents of field lists instead of treating them as
  raw strings.
+ Represent field lists as definition lists rather than blockquotes.
+ Fixed bug in which metadata would be overridden if the document
  contained more than one field list.
+ Parse fields associated with ..image: blocks, and use the 'alt'
  field, if present, for image alt text and title.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1050 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-13 21:39:17 +00:00
fiddlosopher
11e7ad2259 Save and restore position in parseFromString, so that it doesn't
mess up accurate error location reporting.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1049 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-13 21:37:06 +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
ad9603231f Fixed bug in RST reader: previously, code blocks had to be
indented a full tabstop, but RST allows any amount of indentation.
Resolves Issue #27.

+ removed 'variable' parameter from indentedBlock function in
  RST reader, as it is no longer needed
+ updated test suite
+ updated changelog


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1046 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-11 05:50:28 +00:00
fiddlosopher
a1ad3b4e5f Modified html2markdown. Previously html2markdown piped all input
through html tidy before passing it to pandoc.  This causes problems
on certain sites (e.g. daringfireball.com/markdown) which have
well-formed xhtml that causes tidy to choke.  Solution is to try
pandoc on the original HTML, and run it through tidy only if that
fails.

This means that a temp file is now always used, even when input comes
from a local file or standard input.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1039 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-10-02 02:08:52 +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