aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Org.hs
AgeCommit message (Collapse)AuthorFilesLines
2015-11-08Org reader: fix markup parsing in headersAlbert Krewinkel1-1/+1
Markup as the very first item in a header wasn't recognized. This was caused by an incorrect parser state: positions at which inline markup can start need to be marked explicitly by changing the parser state. This wasn't done for headers. The proper function to update the state is now called at the beginning of the header parser, fixing this issue. This fixes #2504.
2015-10-25Merge pull request #2477 from tarleb/org-toggling-header-argsJohn MacFarlane1-4/+16
Org reader: allow toggling header args
2015-10-25Org reader: allow toggling header argsAlbert Krewinkel1-4/+16
Org-mode allows to skip the argument of a code block header argument if it's toggling a value. Argument-less headers are now recognized, avoiding weird parsing errors. The fixes are not exactly pretty, but neither is the code that was fixed. So I guess it's about par for the course. However, a rewrite of the header parsing code wouldn't hurt in the long run. Thanks to @jo-tham for filing the bug report. This fixes #2269.
2015-10-24Org reader: fix paragraph/list interactionAlbert Krewinkel1-6/+29
Paragraphs can be followed by lists, even if there is no blank line between the two blocks. However, this should only be true if the paragraph is not within a list, were the preceding block should be parsed as a plain instead of paragraph (to allow for compact lists). Thanks to @rgaiacs for bringing this up. This fixes #2464.
2015-10-14Use custom Prelude to avoid compiler warnings.John MacFarlane1-5/+2
- The (non-exported) prelude is in prelude/Prelude.hs. - It exports Monoid and Applicative, like base 4.8 prelude, but works with older base versions. - It exports (<>) for mappend. - It hides 'catch' on older base versions. This allows us to remove many imports of Data.Monoid and Control.Applicative, and remove Text.Pandoc.Compat.Monoid. It should allow us to use -Wall again for ghc 7.10.
2015-09-19Make sure verse blocks can contain empty linesAlbert Krewinkel1-1/+1
The previous verse parsing code made the faulty assumption that empty strings are valid (and empty) inlines. This isn't the case, so lines are changed to contain at least a newline. It would generally be nicer and faster to keep the newlines while splitting the string. However, this would require more code, which seems unjustified for a simple (and fairly rare) block as *verse*. This fixes #2402.
2015-08-15Org reader: add auto identifiers if not present on headersJuliusz Gonera1-1/+16
Refs #2354 This should also fix the table of contents (--toc) when generating a html file from org input
2015-05-26Merge pull request #2170 from tarleb/org-generalize-result-blockJohn MacFarlane1-16/+21
Org generalize result block
2015-05-23Org reader: drop trees with a :noexport: tagAlbert Krewinkel1-4/+12
Trees having a `:noexport:` tag set are not exported. This mirrors default Emacs Org-Mode behavior.
2015-05-23Org reader: put header tags into empty spansAlbert Krewinkel1-2/+19
Org mode allows headers to be tagged: ``` org-mode * Headline :TAG1:TAG2: ``` Instead of being interpreted as part of the headline, the tags are now put into the attributes of empty spans. Spans without textual content won't be visible by default, but they are detectable by filters. They can also be styled using CSS when written as HTML. This fixes #2160.
2015-05-23Org reader: generalize code block result parsingAlbert Krewinkel1-3/+3
Code blocks can be followed by optional result blocks, representing the output generated by running the code in the code block. It is possible to choose whether one wants to export the code, the result, both or none. This patch allows any kind of `Block` as the result. Previously, only example code blocks were recognized.
2015-05-23Reorder block arguments parsing codeAlbert Krewinkel1-13/+18
Group code used to parse block arguments together in one place. This seems better than having part of the code mixed between unrelated parsing state changing functions.
2015-04-26Updated copyright notices to -2015. Closes #2111.John MacFarlane1-1/+1
2015-04-18Revert "Merge pull request #1947 from mpickering/Fmonad"John MacFarlane1-226/+248
Closes #2062. This reverts commit c302bdcdbe97b38721015fe82403b2a8f488a702, reversing changes made to b983adf0d0cbc98d2da1e2751f46ae1f93352be6. Conflicts: src/Text/Pandoc/Parsing.hs src/Text/Pandoc/Readers/Markdown.hs src/Text/Pandoc/Readers/Org.hs src/Text/Pandoc/Readers/RST.hs
2015-03-28Merge branch 'master' of https://github.com/rootzlevel/pandoc into ↵John MacFarlane1-1/+1
rootzlevel-master Conflicts: src/Text/Pandoc/Readers/Org.hs
2015-03-28Merge branch 'errortype' of https://github.com/mpickering/pandoc into ↵John MacFarlane1-12/+12
mpickering-errortype Conflicts: benchmark/benchmark-pandoc.hs src/Text/Pandoc/Readers/Markdown.hs src/Text/Pandoc/Readers/Org.hs src/Text/Pandoc/Readers/RST.hs tests/Tests/Readers/LaTeX.hs
2015-03-22Factor out "returnState" into Parsing moduleMatthew Pickering1-8/+1
2015-03-22Remove F monad from ParsingMatthew Pickering1-2/+1
2015-03-22Remove F monad from Org Reader.Matthew Pickering1-239/+227
2015-03-09Org reader: add support for smart punctuationCraig S. Bosma1-8/+50
2015-02-25Org reader: Allow image links with non-image targetsHans-Peter Deifel1-1/+1
Org-Mode's own html exporter converts the following org link: [[http://example.com][https://www.haskell.org/static/img/logo.png]] to <a href="http://example.com"> <img src="https://www.haskell.org/static/img/logo.png" alt="logo.png" /> </a> but pandoc generates: <a href="http://example.com"> <a href="https://www.haskell.org/static/img/logo.png" class="uri"> https://www.haskell.org/static/img/logo.png </a> </a> which is useless. With this patch, it generates: <a href="http://example.com"> <img src="https://www.haskell.org/static/img/logo.png" alt="" /> </a>
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.