aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/RST.hs
AgeCommit message (Collapse)AuthorFilesLines
2014-12-12RST Reader: compute Attrs when role is definedDaniel Bergey1-15/+15
Move recursive role lookup from renderRole to addNewRole. The Attr value will be the same for every occurance of this role, so there's no reason to compute it every time. This allows simplifying the stateRstCustomRoles map considerably. We could go even further, and remove the fmt and attr arguments to renderRole, which are null except for custom roles.
2014-12-12RST reader: improve support for custom rolesDaniel Bergey1-11/+14
- Add "sourceCode" to classes for :code: role, and anything inheriting from it. - Add the name of the custom role to classes if the Inline constructor supports Attr. - If the custom role directive does not specify a parent role, inherit from the :span: role. This differs somewhat from the rst2xml.py behavior. If a custom role inherits from another custom role, Pandoc will attach both roles' names as classes. rst2xml.py will only use the class of the directly invoked role (though in the case of inheriting from a :code: role with a :language: defined, it will also provide the inherited language as a class).
2014-12-12RST: literal role should produce Code,Daniel Bergey1-2/+2
code role should have "code" class. http://docutils.sourceforge.net/docs/ref/rst/roles.html says that `text`:literal` is the same as ``text``. docutils outputs a <literal> element in both cases, whereas for the code role, it outputs a <literal> element with the "code" class.
2014-12-12expose warnings from RST reader; refactorDaniel Bergey1-2/+9
This commit moves some code which was only used for the Markdown Reader into a generic form which can be used for any Reader. Otherwise, it takes naming and interface cues from the preexisting Markdown code.
2014-12-08RST Reader: Warn about skipped directivesDaniel Bergey1-1/+4
move `addWarning` to Parsing.hs, so it can be used by Markdown & RST readers.
2014-12-01parse RST class directivesDaniel Bergey1-2/+8
The class directive accepts one or more class names, and creates a Div value with those classes. If the directive has an indented body, the body is parsed as the children of the Div. If not, the first block folowing the directive is made a child of the Div. This differs from the behavior of rst2xml, which does not create a Div element. Instead, the specified classes are applied to each child of the directive. However, most Pandoc Block constructors to not take an Attr argument, so we can't duplicate this behavior.
2014-12-01parse RST quoted literal blocksDaniel Bergey1-1/+9
closes #65 RST quoted literal blocks are the same as indented literal blocks (which pandoc already supports) except that the quote character is preserved in each line. This includes test cases for the quoted literal block, as well as additional tests for line blocks and indented literal blocks, to verify that these are unaffected by the changes.
2014-08-04Remove redundant isHexDigit function.Artyom Kazak1-4/+1
2014-07-11Removed (>>~) functionMatthew Pickering1-4/+4
This function is equivalent to the more general (<*) which is defined in Control.Applicative. This change makes pandoc code easier to understand for those not familar with the codebase.
2014-05-09Update copyright notices for 2014, add missing noticesAlbert Krewinkel1-2/+2
2014-04-30RST reader: Some fixes to last change, and use "author" not "authors".John MacFarlane1-6/+7
(in metadata)
2014-04-30RST reader: Better handling of directives.John MacFarlane1-12/+15
* We now correctly handle field lists that are indented more than 3 spaces. * We treat an "aafig" directive as a code block with attributes, so it can be processed in a filter. (Closes #1212.)
2014-04-24RST reader: Remove duplicate 'http' in PEP linksAlbert Krewinkel1-1/+1
The generated link to PEPs had a duplicate 'http://' in its URL.
2014-04-01Changed the smart punctuation parser to return Inlines rather than an Inline ↵Matthew Pickering1-1/+1
element and updated files accordingly
2014-02-19Make rst figures true figures. Closes #1168.John MacFarlane1-1/+1
Thanks to CasperVector.
2014-02-15Enhanced Pandoc's support for rST roles.Merijn Verstraaten1-10/+81
rST parser now supports: - All built-in rST roles - New role definition - Role inheritance Issues/TODO: - Silently ignores illegal fields on roles - Silently drops class annotations for roles - Only supports :format: fields with a single format for :raw: roles, requires a change to Text.Pandoc.Definition.Format to support multiple formats. - Allows direct use of :raw: role, rST only allows indirect (i.e., inherited use of :raw:).
2013-09-07Added support for LaTeX style literate Haskell code blocks in rST.Merijn Verstraaten1-6/+17
2013-09-01Use registerHeader in RST and LaTeX readers.John MacFarlane1-2/+4
This will give automatic unique identifiers, unless `-auto_identifiers` is specified.
2013-08-10Adjustments for new Format newtype.John MacFarlane1-0/+1
2013-06-25Fixed 'authors' metadata parsing in reST.John MacFarlane1-1/+22
Semicolons separate different authors.
2013-06-24Use new flexible metadata type.John MacFarlane1-40/+33
* Depend on pandoc 1.12. * Added yaml dependency. * `Text.Pandoc.XML`: Removed `stripTags`. (API change.) * `Text.Pandoc.Shared`: Added `metaToJSON`. This will be used in writers to create a JSON object for use in the templates from the pandoc metadata. * Revised readers and writers to use the new Meta type. * `Text.Pandoc.Options`: Added `Ext_yaml_title_block`. * Markdown reader: Added support for YAML metadata block. Note that it must come at the beginning of the document. * `Text.Pandoc.Parsing.ParserState`: Replace `stateTitle`, `stateAuthors`, `stateDate` with `stateMeta`. * RST reader: Improved metadata. Treat initial field list as metadata when standalone specified. Previously ALL fields "title", "author", "date" in field lists were treated as metadata, even if not at the beginning. Use `subtitle` metadata field for subtitle. * `Text.Pandoc.Templates`: Export `renderTemplate'` that takes a string instead of a compiled template.. * OPML template: Use 'for' loop for authors. * Org template: '#+TITLE:' is inserted before the title. Previously the writer did this.
2013-06-18RST reader: don't insert paragraphs where docutils doesn't.John MacFarlane1-1/+6
rst2html doesn't add `<p>` tags to list items (even when they are separated by blank lines) unless there are multiple paragraphs in the list. This commit changes the RST reader to conform more closely to what docutils does. Closes #880.
2013-03-11Fixed spacing bugs involving code block attributes.John MacFarlane1-1/+1
Closes #763.
2013-01-27Markdown/RST reader: Skip blank lines.John MacFarlane1-0/+1
This fixes a subtle regression involving grid tables with empty cells. Closes #732. Also added test for grid table with empty cells.
2013-01-25RST reader: Allow anonymous form of explicit links.John MacFarlane1-0/+1
`hello <url>`__ Closes #724.
2013-01-25Use anyLine everywhere instead of 'manyTill anyChar newline'.John MacFarlane1-5/+5
2013-01-13Moved lineBlockLines to Parsing.John MacFarlane1-12/+1
This will be used by both RST and markdown readers.
2013-01-13RST reader: Refactored line block parser.John MacFarlane1-14/+10
2013-01-13RST reader: Line block improvements.John MacFarlane1-3/+8
* Use nonbreaking spaces for initial indent (otherwise lost in HTML and LaTeX). * Allow multiple paragraphs in a single line block.
2013-01-09Added Attr field to Header.John MacFarlane1-6/+6
Previously header ids were autogenerated by the writers. Now they are generated (unless supplied explicitly) in the markdown parser, if the `header_identifiers` extension is selected. In addition, the textile reader now supports id attributes on headers.
2012-10-06RST reader: Don't create empty definition list for metadata field lists.John MacFarlane1-3/+3
Previously a field list consisting only of metadata fields (author, title, date) would be parsed as an empty DefinitionList, which is not legal in LaTeX and not needed in any format. This patch fixes the problem, which I learned of from http://stackoverflow.com/questions/12762767/modify-variable-in-rst-with-pandoc.
2012-09-30RST reader: Removed 'plain' in blocks, since 'para' includes it.John MacFarlane1-1/+0
2012-09-30RST reader: Consolidate super/subscript, math into interpretedRole.John MacFarlane1-35/+26
2012-09-30RST reader: Renamed 'image' to 'subst', since it now handles more.John MacFarlane1-4/+3
2012-09-30Ignore unknown interpreted roles.John MacFarlane1-3/+12
The contents are treated as rst, not literal, which will sometimes be wrong.
2012-09-30RST reader: Removed requirement that directives begin at left margin.John MacFarlane1-3/+0
This was (correctly) not in earlier releases; docutils doesn't make the requirement.
2012-09-30RST reader: Require whitespace after field list field names.John MacFarlane1-1/+1
2012-09-30RST reader: Consolidated rawBlock into directive.John MacFarlane1-15/+1
2012-09-30RST reader: Handle replace:: and unicode:: substitutions.John MacFarlane1-8/+77
2012-09-29RST reader: Make directive labels case-insensitive.John MacFarlane1-1/+3
2012-09-29RST reader: Folded figureBlock into directive.John MacFarlane1-14/+10
2012-09-29RST reader: Made comments a separate parser.John MacFarlane1-6/+17
2012-09-29RST reader: Folded image block handling into directive.John MacFarlane1-41/+36
2012-09-29RST reader: Folded code block parsers into directive.John MacFarlane1-18/+15
2012-09-29RST reader: Folded default-role parser into directive.John MacFarlane1-21/+8
2012-09-29Renamed removedLeadingTrailingSpace to trim.John MacFarlane1-11/+11
Also removeLeadingSpace to triml, removeTrailingSpace to trimr.
2012-09-29RST reader: Consolidated math block parsers into directive.John MacFarlane1-29/+9
2012-09-29RST reader: Refactored directive parser.John MacFarlane1-83/+105
We now also hander container, compound, epigraph, rubric, highligts, pull-quote.
2012-09-28RST reader: Support ".. code::".John MacFarlane1-1/+5
2012-09-28RST reader: Combine para/plain.John MacFarlane1-9/+10