aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/RST.hs
AgeCommit message (Collapse)AuthorFilesLines
2012-08-01Parsing: removed duplication of Key and Key'.John MacFarlane1-14/+19
Now we just use the former Key' (string contents), renamed Key. lookupKeySrc and fromKey are no longer eport. Key', toKey' and KeyTable' have become Key, toKey, and KeyTable.
2012-08-01Major rewrite of markdown reader.John MacFarlane1-2/+2
* Use Builder's Inlines/Blocks instead of lists. * Return values in the reader monad, which are then run (at the end of parsing) against the final parser state. This allows links, notes, and example numbers to be resolved without a second parser pass. * An effect of using Builder is that everything is normalized automatically. * New exports from Text.Pandoc.Parsing: widthsFromIndices, NoteTable', KeyTable', Key', toKey', withQuoteContext, singleQuoteStart, singleQuoteEnd, doubleQuoteStart, doubleQuoteEnd, ellipses, apostrophe, dash * Updated opendocument tests. * Don't derive Show for ParserState. * Benchmarks: markdown reader takes 82% of the time it took before. Markdown writer takes 92% of the time (here the speedup is probably due to the fact that everything is normalized by default).
2012-07-26Fixed whitespace errors.John MacFarlane1-26/+26
2012-07-25Changed reader parameters from ParserState to ReaderOptions.John MacFarlane1-4/+4
2012-07-25Restored stateStandalone as readerStandalone.John MacFarlane1-2/+5
It is indeed needed by the RST reader.
2012-07-25Got rid of stateStandalone, which was hardly used anyway.John MacFarlane1-3/+1
The only possible effect will be with rst fragments that begin with an rst title block, which will now cause the header transform.
2012-07-25Moved stateTabStop to readerTabStop in ReaderOptions.John MacFarlane1-2/+2
2012-07-24Refactored table parsers, captions now not part of core tableWith.John MacFarlane1-2/+2
2012-07-20Use Parser as type synonym for Parsec.John MacFarlane1-92/+92
2012-07-20Text.Pandoc.Parsing: Export all Parsec functions used in pandoc code.John MacFarlane1-1/+0
No other module directly imports Parsec. This will make it easier to change the parsing backend in the future, if we want to.
2012-07-20Use Text.Parsec instead of Text.ParserCombinators.Parsec.John MacFarlane1-95/+95
2012-07-16Don't recognize inline-markup starts inside words.John MacFarlane1-8/+17
For example, "2*2 = 4*1" should not contain an emphasized section. Added test case for "Literal symbols". Closes #569.
2012-05-29RST reader: handle figures.John MacFarlane1-0/+15
Closes #522.
2012-03-25Oops! Forgot to munch whitespace / ignore body after directive.Greg Maslov1-1/+4
2012-03-24Add parsing support for the rST default-role directive.Greg Maslov1-3/+31
2012-03-24RST reader: allow :math:`...` even when not followed by blank or \.John MacFarlane1-2/+3
This does not implement the complex rule described at http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#inline-markup-recognition-rules, but it should be good enough for most purposes. Closes #453.
2012-03-24RST reader: '\ ' is null, not escaped space.John MacFarlane1-1/+3
2011-12-31Support for math in RST reader and writer.John MacFarlane1-4/+5
Inline math uses the :math:`...` construct. Display math uses .. math:: ... or if multilin .. math:: ... These seem to be supported now by rst2latex.py.
2011-12-30Support Sphinx style math in RST reader.John MacFarlane1-4/+35
Inline: :math:`E=mc^2` Block: .. math: E = mc^2 .. math:: E = mc^2 a = b^2 (This latter will turn into a paragraph with two display math elements.) Closes #117.
2011-12-29Better smart quote parsing.John MacFarlane1-1/+5
* Added stateLastStrPos to ParserState. This lets us keep track of whether we're parsing the position immediately after a 'str'. If we encounter a ' in such a location, it must be an apostrophe, and can't be a single quote start. * Set this in the markdown, textile, html, and rst str parsers. * Closes #360.
2011-12-05Parsing: Changed type of escaped to return CharJohn MacFarlane1-1/+2
2011-08-23allow footnotes followed by newline without space charstakahashim1-2/+2
2011-07-23RST reader: Partial support for labeled footnotes.John MacFarlane1-7/+20
Also made simpleReferenceName parser more accurate, which affects several other parsers.
2011-04-20Disallow notes within notes in reST and markdown.John MacFarlane1-5/+11
These previously caused infinite looping and stack overflows. For example: [^1] [^1]: See [^1] Note references are allowed in reST notes, so this isn't a full implementation of reST. That can come later. For now we need to prevent the stack overflows. Partially resolves Issue #297.
2011-04-11Allow '|' followed by newline in RST line block.John MacFarlane1-2/+5
2011-03-18Changed uri parser so it doesn't include trailing punctuation.John MacFarlane1-1/+1
So, in RST, 'http://google.com.' should be parsed as a link to 'http://google.com' followed by a period. The parser is smart enough to recognize balanced parentheses, as often occur in wikipedia links: 'http://foo.bar/baz_(bam)'. Also added ()s to RST specialChars, so '(http://google.com)' will be parsed as a link in parens. Added test cases. Resolves Issue #291.
2011-03-12Fixed bug in RST field list parser.John MacFarlane1-7/+6
The bug affected field lists with multi-line items at the end of the list.
2011-01-28RST reader: skip blanklines at beginning, not all leading spaces.John MacFarlane1-1/+1
If you skip all spaces, it becomes impossible to start with a blockquote.
2011-01-28RST reader: Skip blank space at beginning.John MacFarlane1-0/+1
Resolves Debian Bug #611328.
2011-01-26Add support for attributes in inline Code.John MacFarlane1-1/+2
Additional related changes: * URLs in Code in autolinks now use class "url". * Require highlighting-kate 0.2.8.2, which omits the final <br/> tag, essential for inline code.
2011-01-26RST reader: Improved field lists.John MacFarlane1-59/+56
Field lists now work properly with block content. (Thanks to Lachlan Musicman for pointing out the bug.) In addition, definition list items are now always Para instead of Plain -- which matches behavior of rst2xml.py. Finally, in image blocks, the alt attribute is parsed properly and used for the alt, not also the title.
2011-01-26RST reader: Include line breaks in raw field list parser output.John MacFarlane1-1/+3
Note: field list items can have lists, etc. as values.
2011-01-26RST reader: Allow spaces in field list names.John MacFarlane1-1/+1
2011-01-26Bumped version to 1.8; depend on pandoc-types 1.8.John MacFarlane1-3/+5
The old TeX, HtmlInline and RawHtml elements have been removed and replaced by generic RawInline and RawBlock elements. All modules updated to use the new raw elements.
2011-01-22RST reader: Big speed improvement (300->260ms).John MacFarlane1-2/+2
Moved whitespace parser to top of inline parsers.
2011-01-19Use spaceChar instead of oneOf " \t" in rst reader.John MacFarlane1-5/+5
2010-12-22RST reader: Added unicode quote characters to specialChars.John MacFarlane1-1/+1
(So they can trigger Quoted environments.)
2010-12-22RST reader: recouped speed loss due to addition of --smart.John MacFarlane1-4/+4
This was achieved by rearranging the parsers in inline. Benchmarks went from 500ms to 307ms -- not quite back to the 279ms we had in 1.6, before supporting smart punctuation and footnotes, but close.
2010-12-08RST reader: Added footnote suppport.John MacFarlane1-3/+51
Resolves issue #258. Note that there are some differences in how docutils and pandoc treat footnotes. Currently pandoc ignores the numeral or symbol used in the note; footnotes are put in an auto-numbered ordered list.
2010-12-07Made --smart work with RST reader.John MacFarlane1-2/+3
2010-12-05Fix regression: markdown references should be case-insensitive.John MacFarlane1-7/+8
This broke when we added the Key type. We had assumed that the custom case-insensitive Ord instance would ensure case-insensitive matching, but that is not how Data.Map works. * Added a test case for case-insensitivity in markdown-reader-more * Removed old refsMatch from Text.Pandoc.Parsing module; * hid the 'Key' constructor; * dropped the custom Ord and Eq instances, deriving instead; * added fromKey and toKey to convert between Keys and Inline lists; * toKey ensures that keys are case-insensitive, since this is the only way the API provides to construct a Key. Resolves Issue #272.
2010-07-11Merge branch 'atlists'. Added auto-numbered example lists.John MacFarlane1-1/+1
2010-07-06Minor comment change.John MacFarlane1-1/+1
2010-07-05More refactoring of grid table code.John MacFarlane1-52/+6
2010-07-05Moved generic grid table functions from RST reader -> Parsing.John MacFarlane1-73/+6
Here they can be used by the Markdown reader as well.
2010-07-05Moved parsing functions from Text.Pandoc.Shared to new module.John MacFarlane1-1/+2
+ Text.Pandoc.Parsing
2010-05-08Made KeyTable a map instead of an association list.John MacFarlane1-19/+23
* 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-03-27Implemented @ for sequentially numbered examples.John MacFarlane1-1/+1
Also implemented (@label) for example labels and references.
2010-03-23Properly escape URIs in all readers.John MacFarlane1-18/+19
2010-03-23Updated copyright notices.John MacFarlane1-2/+2