Commit graph

193 commits

Author SHA1 Message Date
fiddlosopher
98ff6b2fd0 Better looking simple tables. Resolves Issue #180.
* Markdown reader: simple tables are now given column widths of 0.

* Column width of 0 is interpreted as meaning: use default column width.

* Writers now include explicit column width information only
  for multiline tables.  (Exception:  RTF writer, which requires
  column widths.  In this case, columns are given equal widths,
  adding up to the text width.)

* Simple tables should now look better in most output formats.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1631 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-11-28 03:22:33 +00:00
fiddlosopher
d1b80f8f35 Markdown reader: parse refs and notes in the same pass.
Previously the markdown reader made one pass for references,
a second pass for notes (which it parsed and stored in the
parser state), and a third pass for the rest.  This patch
achieves a 10% speed improvement by storing the raw notes
on the first (reference) pass, then parsing them when the
notes are inserted into the AST. This eliminates the need
for a second pass to parse notes.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1629 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-11-28 03:22:18 +00:00
fiddlosopher
1d440130c4 Added \int to characters handled as unicode in tex math.
Resolves Issue #177.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1628 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-11-28 03:22:14 +00:00
fiddlosopher
14a25b287c Fixed htmlComment parser.
(Added a needed try.)

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1621 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-11-21 05:23:09 +00:00
fiddlosopher
9d20eeb019 Support for "..code-block" directive in RST reader.
Not core RST, but used in Sphinx for code blocks annotated with
syntax information.  Thanks to Luke Plant for the patch.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1619 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-11-17 03:36:04 +00:00
fiddlosopher
fce48c392a Specially mark code blocks that were "literate" in the input.
They can then be treated differently in the writers.  This allows
authors to distinguish bits of the literate program they are writing
from source code examples, even if the examples are marked as
Haskell for highlighting.

Resolves Issue #174.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1618 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-11-03 06:50:17 +00:00
fiddlosopher
eb2e560d86 Properly handle commented-out list items in markdown.
Example:
- a
<!--
- b
-->
- c

Resolves Issue #142.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1615 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-11-01 02:38:15 +00:00
fiddlosopher
75f31c9440 Added % as an rst underline character.
Resolves Issue #173.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1612 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-10-29 05:52:17 +00:00
fiddlosopher
7163a044a4 Fix inline math parser so that \$ is allowed in math.
Resolves Issue #169.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1609 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-10-12 03:40:47 +00:00
fiddlosopher
74ac66a0cb Added haddock comments warning that readers assume \n line endings.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1608 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-10-04 22:09:23 +00:00
fiddlosopher
1fe28483bd Fixed bug in HTML comment parser.
Resolves Issue #157.  ('try' in the wrong place.)

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1605 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-07-21 08:02:03 +00:00
fiddlosopher
667b8f62ea Improved clarity of titleTransform in RST reader.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1592 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-07-11 01:08:31 +00:00
fiddlosopher
e577233095 Allow -, _, :, . in markdown attribute names.
These are legal in XML attribute names.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1586 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-07-03 02:33:52 +00:00
fiddlosopher
313405f59a Allow continuation lines in line blocks.
Also added test cases for line blocks for RST reader.
Resolves Issue #149.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1583 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-06-25 02:01:41 +00:00
fiddlosopher
cca2acb6db Improved LaTeX reader's coverage of math modes.
Remove displaymath* (which is not in LaTeX) and recognize
all the amsmath environments that are alternatives to eqnarray, namely
equation, equation*, gather, gather*, gathered, multline, multline*,
align, align*, alignat, alignat*, aligned, alignedat, split

Resolves Issue #103. Thanks to shreevatsa.public
for the patch.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1577 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-06-03 20:26:41 +00:00
fiddlosopher
236896bd10 RST reader: Allow explicit links with spaces in URL: link <to this>_
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1576 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-05-04 00:05:58 +00:00
fiddlosopher
c584e48168 Markdown reader: change ' ' to '\160' in abbreviations.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1571 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-05-01 04:17:54 +00:00
fiddlosopher
ab100f7c5e Markdown reader: improved efficiency of abbreviation parsing.
Instead of a separate abbrev parser, we just check for abbreviations
each time we parse a string.  This gives a huge performance boost
with -S.  Resolves Issue #141.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1570 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-04-30 04:39:45 +00:00
fiddlosopher
d4d99d281d Made htmlComment parser more efficient.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1567 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-04-29 19:28:54 +00:00
fiddlosopher
e203c562d6 Improved efficiency of whitespace parser.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1565 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-04-29 19:28:39 +00:00
fiddlosopher
5182381084 Use more efficient skipNonindentSpaces instead of nonidentSpaces where possible.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1564 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-04-29 19:28:31 +00:00
fiddlosopher
f43ae9edb4 Took out unneeded 'try' in indentSpaces parser.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1563 788f1e2b-df1e-0410-8736-df70ead52e1b
2009-04-29 19:28:23 +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
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
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
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
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
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
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
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
fbb048238e Markdown reader: require space before title in links and references.
This fixes a bug in parsing URLs like http://silly/url(withparen).


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1025 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-18 01:34:36 +00:00
fiddlosopher
65047e354a Remove just one leading and one trailing newline
from contents of <pre>...</pre> in codeBlock parser.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1023 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-17 03:08:14 +00:00
fiddlosopher
6f16d52c11 Changed parsing of code blocks in HTML reader:
+ <code> tag is no longer needed.  <pre> suffices.
+ all HTML tags in the code block (e.g. for syntax highlighting)
  are skipped, because they are not portable to other output formats.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1022 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-17 02:49:28 +00:00
fiddlosopher
d5b7257d7f Simplified HTML attribute parsing (HTML reader).
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1016 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-15 00:44:32 +00:00
fiddlosopher
28c2ee396c Fixed two bugs in HTML reader:
+ <code>...</code> not surrounded by <pre> should count as
  inline HTML, not code block.
+ parser for minimized attributes should not swallow trailing spaces


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1015 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-14 22:40:28 +00:00
fiddlosopher
4b4060b8ef Simplified parsing of reference keys and notes in markdown and RST
readers:
+ The Reference data structure from Text.Pandoc.Shared is no longer
  needed, since
+ referenceKey and noteBlock parses return strings (as many blank lines
  as are occuried by the key or note) and update state themselves.
+ getPosition and setPosition are now used to ensure that error messages
  will give the correct line number.
+ This yields cleaner (and slightly faster) code, with more accurate
  parsing error messages.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@1012 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-05 23:55:38 +00:00
fiddlosopher
0982a67585 LaTeX command and environment names can't contain numbers.
LaTeX reader updated accordingly.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@987 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-02 00:36:44 +00:00
fiddlosopher
25bbe134cb Skip notes parsing if running in strict mode. (This yields a nice
speed improvement in strict mode.)


git-svn-id: https://pandoc.googlecode.com/svn/trunk@983 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-01 20:26:40 +00:00
fiddlosopher
76d462c1cd Simplify autolink parsing code, using Network.URI to test for
URIs.  Added dependency on network library to debian/control
and pandoc.cabal.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@982 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-01 17:22:22 +00:00
fiddlosopher
f8f9fa49d6 More perspicuous definition of nonindentSpaces.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@981 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-01 16:08:47 +00:00
fiddlosopher
5c1632be5d Removed unneeded 'try' in 'rawLine'.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@979 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-01 02:26:39 +00:00
fiddlosopher
85d49ee936 Combined linebreak and whitespace into a new whitespace
parser, to avoid unnecessary reparsing of space characters.


git-svn-id: https://pandoc.googlecode.com/svn/trunk@978 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-01 02:18:25 +00:00
fiddlosopher
8d3bec3e4d Removed unnecessary 'try' in 'codeBlock'.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@977 788f1e2b-df1e-0410-8736-df70ead52e1b
2007-09-01 02:10:30 +00:00