aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Org.hs
AgeCommit message (Collapse)AuthorFilesLines
2015-02-18Change return type of Org readerMatthew Pickering1-4/+6
2015-02-18Factor out "returnState" into Parsing moduleMatthew Pickering1-7/+1
2015-02-18Remove F monad from ParsingMatthew Pickering1-2/+1
2015-02-18Remove F monad from Org Reader.Matthew Pickering1-227/+212
2015-01-05ghc 7.10.1 RC1 requires FlexibleContexts ↵Mark Wright1-3/+4
https://ghc.haskell.org/trac/ghc/wiki/Migration/7.10#Inferredtype-signaturesnowmayrequiretoenableFlexibleContextsGADTsorTypeFamilies ; ghc 7.10.1 RC1 requires specifying the type of String literals https://ghc.haskell.org/trac/ghc/wiki/Migration/7.10#GHCsaysNoinstanceforFoldable...arisingfromtheuseof...
2014-12-14Org reader: properly handle links to `file:target`Albert Krewinkel1-6/+18
Org links like `[[file:target][title]]` were not handled correctly, parsing the link target verbatim. The org reader is changed such that the leading `file:` is dropped from the link target. This is related to issues #756 and #1812.
2014-11-13Fixed bug in org with bulleted lists:John MacFarlane1-5/+5
- a - b * c was being parsed as a list, even though an unindented `*` should make a heading. See <http://orgmode.org/manual/Plain-lists.html#fn-1>.
2014-11-05Org reader: allow empty links for gitit interopAlbert Krewinkel1-1/+5
While empty links are not allowed in Emacs org-mode, Pandoc org-mode should support them: gitit relies on empty links as they are used to create wiki links. Fixes jgm/gitit#471
2014-11-05Org reader: absolute, relative paths in linksAlbert Krewinkel1-14/+19
The org reader was to restrictive when parsing links, some relative links and links to files given as absolute paths were not recognized correctly. The org reader's link parsing function was amended to handle such cases properly. This fixes #1741
2014-10-20Org reader: parse LaTeX-style MathML entitiesAlbert Krewinkel1-1/+8
Org supports special symbols which can be included using LaTeX syntax, but are actually MathML entities. Examples for this are `\nbsp` (non-breaking space), `\Aacute` (the letter A with accent acute) or `\copy` (the copyright sign ©). This fixes #1657.
2014-10-18Merge pull request #1680 from shelf/masterJohn MacFarlane1-7/+26
Respect indent when parsing Org bullet lists
2014-10-18Merge pull request #1700 from tarleb/org-emphasis-fixJohn MacFarlane1-5/+5
Org reader: fix rules for emphasis recognition
2014-10-18Org reader: Drop COMMENT document treesAlbert Krewinkel1-1/+26
Document trees under a header starting with the word `COMMENT` are comment trees and should not be exported. Those trees are dropped silently. This closes #1678.
2014-10-18Org reader: fix rules for emphasis recognitionAlbert Krewinkel1-5/+5
Things like `/hello,/` or `/hi'/` were falsy recognized as emphasised strings. This is wrong, as `,` and `'` are forbidden border chars and may not occur on the inner border of emphasized text. This patch enables the reader to matches the reference implementation in that it reads the above strings as plain text.
2014-10-17Fix indent issue for definition listsTimothy Humphries1-14/+25
Tidy up fix for #1650, #1698 as per comments in #1680. Fix same issue for definition lists with the same method.
2014-10-12Respect indent when parsing Org bullet listsTimothy Humphries1-2/+10
Fixes issue with top-level bullet list parsing. Previously we would use `many1 spaceChars` rather than respecting the list's indent level. We also permitted `*` bullets on unindented lists, which should unambiguously parse as `header 1`. Combined, this meant headers at a different indent level were being unwittingly slurped into preceding bullet lists, as per Issue #1650.
2014-09-27Org Reader: Parse multi-inline terms correctly in definition listMatthew Pickering1-1/+1
Closes #1649
2014-09-04Org reader: Added state changing blanklines.Jesse Rosenthal1-1/+8
This allows us to emphasize at the beginning of a new paragraph (or, in general, after blank lines).
2014-08-26Fixed exampleLine parser to accept example lines which have indentation at ↵Calvin Beck1-1/+1
the start of the line.
2014-08-04Merge pull request #1486 from Aelve/minorJohn MacFarlane1-1/+1
Very minor cleanup and readability changes
2014-08-04Use texmath 0.7 interface.John MacFarlane1-2/+5
2014-08-04Use `mapM_` instead of `() <$ mapM` in one place.Artyom Kazak1-1/+1
2014-07-20Org reader: text adjacent to a list yields a Plain, not Para.John MacFarlane1-3/+7
This gives better results for tight lists. Closes #1437. An alternative solution would be to use Para everywhere, and never Plain. I am not sufficiently familiar with org to know which is best. Thoughts, @tarleb?
2014-07-17Org reader: Respect :exports header arguments on code blocksCraig S. Bosma1-5/+27
Adds support to the org reader for conditionally exporting either the code block, results block immediately following, both, or neither, depending on the value of the `:exports` header argument. If no such argument is supplied, the default org behavior (for most languages) of exporting code is used.
2014-06-16Org reader: make tildes create inline code.John MacFarlane1-4/+4
Closes #1345. Also relabeled 'code' and 'verbatim' parsers to accord with the org-mode manual. I'm not sure what the distinction between code and verbatim is supposed to be, but I'm pretty sure both should be represented as Code inlines in pandoc. The previous behavior resulted in the text not appearing in any output format.
2014-06-16Org reader: fixed #1342.John MacFarlane1-9/+5
This change rewrites `inlineLaTeXCommand` so that parsec will know when input is being consumed. Previously a run-time error would be produced with some input involving raw latex. (I believe this does not affect the last release, as the inline latex reading was added recently.)
2014-05-20Org reader: support for inline LaTeXAlbert Krewinkel1-1/+31
Inline LaTeX is now accepted and parsed by the org-mode reader. Both, math symbols (like \tau) and LaTeX commands (like \cite{Coffee}), can be used without any further escaping.
2014-05-14Org reader: support Pandocs citation extensionAlbert Krewinkel1-2/+53
Citations are defined via the "normal citation" syntax used in markdown, with the sole difference that newlines are not allowed between "[...]". This is for consistency, as org-mode generally disallows newlines between square brackets. The extension is turned on by default and can be turned off via the default syntax-extension mechanism, i.e. by specifying "org-citation" as the input format. Move `citeKey` from Readers.Markdown into Parsing The function can be used by other readers, so it is made accessible for all parsers.
2014-05-14Introduce class HasLastStrPosition, generalize functionsAlbert Krewinkel1-7/+4
Both `ParserState` and `OrgParserState` keep track of the parser position at which the last string ended. This patch introduces a new class `HasLastStrPosition` and makes the above types instances of that class. This enables the generalization of functions updating the state or checking if one is right after a string.
2014-05-10Org reader: Fix block parameter reader, relax constraintsAlbert Krewinkel1-6/+13
The reader produced wrong results for block containing non-letter chars in their parameter arguments. This patch relaxes constraints in that it allows block header arguments to contain any non-space character (except for ']' for inline blocks). Thanks to Xiao Hanyu for noticing this.
2014-05-09Org reader: Fix parsing of blank lines within blocksAlbert Krewinkel1-6/+2
Blank lines were parsed as two newlines instead of just one. Thanks to Xiao Hanyu (@xiaohanyu) for pointing this out.
2014-05-09Org reader: Support arguments for code blocksAlbert Krewinkel1-42/+56
The general form of source block headers (`#+BEGIN_SRC <language> <switches> <header arguments>`) was not recognized by the reader. This patch adds support for the above form, adds header arguments to the block's key-value pairs and marks the block as a rundoc block if header arguments are present. This closes #1286.
2014-05-09Org reader: refactor #+BEGIN..#+END block parsing codeAlbert Krewinkel1-42/+80
2014-05-06Org reader: Read inline code blocksAlbert Krewinkel1-3/+40
Org's inline code blocks take forms like `src_haskell(print "hi")` and are frequently used to include results from computations called from within the document. The blocks are read as inline code and marked with the special class `rundoc-block`. Proper handling and execution of these blocks is the subject of a separate library, rundoc, which is work in progress. This closes #1278.
2014-05-01Org reader: Add support for custom link typesAlbert Krewinkel1-8/+60
Org allows users to define their own custom link types. E.g., in a document with a lot of links to Wikipedia articles, one can define a custom wikipedia link-type via #+LINK: wp https://en.wikipedia.org/wiki/ This allows to write [[wp:Org_mode][Org-mode]] instead of the equivallent [[https://en.wikipedia.org/wiki/Org_mode][Org-mode]].
2014-04-25Org reader: Enable internal linksAlbert Krewinkel1-12/+38
Internal links in Org are possible by using an anchor-name as the target of a link: [[some-anchor][This]] is an internal link. It links <<some-anchor>> here.
2014-04-24Org reader: Read anchors as empty spansAlbert Krewinkel1-0/+25
Anchors (like <<this>>) are parsed as empty spans.
2014-04-24Org reader: Recognize plain and angle linksAlbert Krewinkel1-9/+25
This adds support for plain links (like http://zeitlens.com) and angle links (like <http://moltkeplatz.de>).
2014-04-19Org reader: Allow for compact definition listsAlbert Krewinkel1-2/+2
Use `Text.Pandoc.Shared.compactify'DL` to allow for compact definition lists.
2014-04-19Org reader: Fix parsing of footnotesAlbert Krewinkel1-2/+6
Footnotes can consist of multiple blocks and end only at a header or at the beginning of another footnote. This fixes the previous behavior, which restricted notes to a single paragraph.
2014-04-19Org reader: Fix distinction of images and normal linksAlbert Krewinkel1-2/+2
Fixed a false assumption about the precedence of (&&) vs (||).
2014-04-19Org reader: Apply captions to code blocks and tablesAlbert Krewinkel1-40/+94
The `Table` blocktype already takes the caption as an argument, while code blocks are wrapped in a `Div` block together with a labelling `Span`.
2014-04-18Org reader: Add support for plain LaTeX fragmentsAlbert Krewinkel1-1/+40
This adds support for LaTeX fragments like the following: ``` \begin{equation} \int fg \mathrm{d}x \end{equation} ```
2014-04-18Org reader: Fix parsing of loose listsAlbert Krewinkel1-4/+7
Loose lists (i.e. lists with blankline separated items), were parsed as multiple lists, each containing a single item. This patch fixes this issue.
2014-04-17Org reader: Support more types of '#+BEGIN_<type>' blocksAlbert Krewinkel1-7/+34
Support for standard org-blocks is improved. The parser now handles "HTML", "LATEX", "ASCII", "EXAMPLE", "QUOTE" and "VERSE" blocks in a sensible fashion.
2014-04-17Org reader: Support footnotesAlbert Krewinkel1-2/+64
2014-04-16Org reader: introduce Reader environment around Blocks/InlinesAlbert Krewinkel1-130/+176
This introduces a Reader environment in the style of Text.Pandoc.Parsing.F, but adapted to the Org reader parser.
2014-04-16Org reader: Fix code for subexpression parsingAlbert Krewinkel1-21/+4
2014-04-16Org reader: Better module description, minor style changesAlbert Krewinkel1-6/+6
Use module description analogous to the markdown reader's. Use (<$) where it makes sense.
2014-04-13Merge pull request #1239 from tarleb/org-linebreakJohn MacFarlane1-0/+4
Org linebreaks