aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers
AgeCommit message (Collapse)AuthorFilesLines
2014-08-06Docx reader: remove now-unnecessary state variable.Jesse Rosenthal1-4/+2
This also introduces a `defaultDState` value.
2014-08-06Remove now-unnecessary TexCharJesse Rosenthal1-4386/+0
TeXMath does the work now.
2014-08-06Add a note on how `mapD` works.Jesse Rosenthal1-0/+3
2014-08-06Docx reader: Use TeXMath to write mathJesse Rosenthal2-177/+315
The new version of TeXMath can translate from its type system into LaTeX. So instead of writing the LaTeX ourself, we write to the TeXMath `Exp` type, and let TeXMath do the rest.
2014-08-06MediaWiki reader doesn't recognize german "Bild"Uli Köhler1-1/+2
2014-08-04Merge pull request #1486 from Aelve/minorJohn MacFarlane3-12/+9
Very minor cleanup and readability changes
2014-08-04Merge pull request #1476 from jkr/endnote-fixJohn MacFarlane1-2/+2
Docx Parser: Produce endnotes.
2014-08-04HTML reader: ignore <?xml..> and <DOCTYPE..> tags.John MacFarlane1-1/+1
Previously they were parsed as raw.
2014-08-04Use texmath 0.7 interface.John MacFarlane3-7/+11
2014-08-04Remove redundant isHexDigit function.Artyom Kazak1-4/+1
2014-08-04Use `stripPrefix` where appropriate.Artyom Kazak1-7/+7
2014-08-04Use `mapM_` instead of `() <$ mapM` in one place.Artyom Kazak1-1/+1
2014-08-04Merge branch 'epubend' of https://github.com/mpickering/pandoc into ↵John MacFarlane2-32/+489
mpickering-epubend Conflicts: pandoc.cabal
2014-08-01Docx Parser: Produce endnotes.Jesse Rosenthal1-2/+2
The parser had been changing footnotes and endnotes into footnotes. This isn't a problem, because pandoc collapses them, but the parser should maintain as much of the docx structure as is collapsed, and let the toplevel reader worry about how to translate it into Pandoc. (This would be an issue when, as is planned, the docx parser spins off into its own module.) The output is the same, so no test change is required.
2014-07-31Docx Reader: Single underlines are "emph"Jesse Rosenthal1-1/+2
All other underlines are ignored.
2014-07-31EPUB Reader: Now uses the new MediaBag for imagesMatthew Pickering1-20/+45
2014-07-31HTML Reader: Added ability to read MathML formatted <math> blocksMatthew Pickering1-0/+16
2014-07-31HTML Reader: Added support for anchors on links and list itemsMatthew Pickering1-4/+22
2014-07-31HTML Reader: Extended HTML Reader to recognise EPUB specific elementsMatthew Pickering1-28/+178
2014-07-31EPUB Reader: Added EPUB readerMatthew Pickering1-0/+248
2014-07-31New module, Text.Pandoc.MediaBag.John MacFarlane1-1/+3
Moved `MediaBag` definition and functions from Shared: `lookupMedia`, `mediaDirectory`, `insertMedia`, `extractMediaBag`. Removed `emptyMediaBag`; use `mempty` instead, since `MediaBag` is a Monoid.
2014-07-31Made MediaBag a newtype, and added mime type information to media.John MacFarlane1-2/+2
Shared now exports functions for interacting with a MediaBag: - `emptyMediaBag` - `lookuMedia` - `insertMedia` - `mediaDirectory` - `extractMediaBag`
2014-07-30getT2TMeta: Take list of source files instead of single.John MacFarlane1-7/+8
Get latest modification time.
2014-07-30Docx reader: Make docx reader put image data in MediaBag.Jesse Rosenthal2-37/+30
Image data will not be put in a media bag map, which will be output along with the pandoc output.
2014-07-29Docx reader: Make metavalues out of styled paragraphs.Jesse Rosenthal1-11/+73
This will make paragraphs styled with `Author`, `Title`, `Subtitle`, `Date`, and `Abstract` into pandoc metavalues, rather than text. The implementation only takes those elements from the beginning of the document (ignoring empty paragraphs). Multiple paragraphs in the `Author` style will be made into a metaList, one paragraph per item. Hard linebreaks (shift-return) in the paragraph will be maintained, and can be used for institution, email, etc.
2014-07-26Merge pull request #1457 from mpickering/generalstateJohn MacFarlane1-18/+61
Generalised more in Parsing.hs to enable the use of custom state
2014-07-27Added compatability layer to support directory-1.1Matthew Pickering1-1/+1
2014-07-27Txt2Tags Reader: Added copyright informationMatthew Pickering1-0/+26
2014-07-27Txt2Tags Reader: Added recognition of macrosMatthew Pickering1-4/+18
2014-07-27Added txt2tags readerMatthew Pickering1-0/+507
http://txt2tags.org/ There are two points which currently do not match the official implementation. 1. In the official implementation lists can not be nested like the following but the reader would interpret this as a bullet list with the first item being a numbered list. ``` - + This is not a list ``` 2. The specification describes how URIs automatically becomes links. Unfortunately as is often the case, their definitiong of URI is not clear. I tried three solutions but was unsure about which to adopt. * Using isURI from Network.URI, this matches far too many strings and is therefore unsuitable * Using uri from Text.Pandoc.Shared, this doesn't match all strings that the reference implementation matches * Try to simulate the regex which is used in the native code I went with the third approach but it is not perfect, for example trailing punctuation is captured in Urls.
2014-07-26Generalised more in Parsing.hs to enable the use of custom stateMatthew Pickering1-18/+61
2014-07-23DocBook reader: Better handle elements inside code environments.John MacFarlane1-1/+6
Of course, we can't include structure in the code block, but this way we at least preserve the text. Closes #1449.
2014-07-22Exported runParserT and StreamMatthew Pickering1-2/+1
2014-07-20HTML reader: parse Div and Span elements even without `--parse-raw`.John MacFarlane1-2/+0
Closes #1434.
2014-07-20Fix behavior of `markdown_attribute` extension.John MacFarlane1-4/+15
It now works as in PHP markdown extra. Setting `markdown="1"` on an outer tag affects all contained tags until it is reversed with `markdown="0"`. Closes #1378. Added `stateMarkdownAttribute` to `ParserState`.
2014-07-20Markdown reader: Fixed small bug in HTML parsing with markdown_attribute.John MacFarlane1-3/+4
Test case: <aside markdown="1"> *hi* </aside> Previously gave: <article markdown="1"> <p><em>hi</em> </article></p>
2014-07-20Markdown reader: revised definition list syntax (closes #1429).John MacFarlane1-23/+38
* This change brings pandoc's definition list syntax into alignment with that used in PHP markdown extra and multimarkdown (with the exception that pandoc is more flexible about the definition markers, allowing tildes as well as colons). * Lazily wrapped definitions are now allowed; blank space is required between list items; and the space before definition is used to determine whether it is a paragraph or a "plain" element. * For backwards compatibility, a new extension, `compact_definition_lists`, has been added that restores the behavior of pandoc 1.12.x, allowing tight definition lists with no blank space between items, and disallowing lazy wrapping.
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-19Renamed readTeXMath' to avoid name conflict with texmath 0.6.7Matthew Pickering1-12/+3
Also removed deprecated readTeXMath.
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-07-16Removed redundant clause in markdown parser.John MacFarlane1-2/+1
Thanks @dubiousjim. Close #1431.
2014-07-16Docx Reader: Fix hdr auto-id when already auto-id.Jesse Rosenthal1-11/+19
If header anchors (bookmarks in a header paragraph) already have an auto-id, which will happen if they're generated by pandoc, we don't want to rename it twice, and thus end up with an unnecessary number at the end. So we add a state value to check if we're in a header. If we are, we don't rename the bookmark -- wait until we rename it in our header handling.
2014-07-16Docx Reader: Change state handling.Jesse Rosenthal1-16/+12
We don't need `updateDState` -- the built-in `modify` works just fine. And we redefine `withDState` to use modify.
2014-07-13Use renderTags' for all tag rendering.John MacFarlane1-1/+1
This properly handles tags that should be self-closing. Previously `<hr/>` would appear in EPUB output as `<hr></hr>`. Closes #1420.
2014-07-12Removed space at ends of lines in source.John MacFarlane5-45/+45
2014-07-12Merge pull request #1414 from mpickering/generalJohn MacFarlane5-13/+13
Improvements to Parsing.hs
2014-07-12Merge pull request #1415 from jkr/nicertypeJohn MacFarlane2-751/+712
Nicer Docx type
2014-07-12Docx Reader: Add a compatibility layer for Except.Jesse Rosenthal1-3/+3
mtl switched from ErrorT to ExceptT, but we're not sure which mtl we'll be dealing with. This should make errors work with both. The main difference (beside the name of the module and the monad transformer) is that Except doesn't require an instance of an Error Typeclass. So we define that for compatability. When we switch to a later mtl, using Control.Monad.Exception, we can just erase the instance declaration, and all should work fine.
2014-07-12Docx Reader: A nicer Docx type.Jesse Rosenthal2-751/+712
This modifies the Docx type in the parser to avoid all the extra files (Notes, numbering, etc). A reader monad keeps track of these, and applies them at the end. The reader monad is stacked with ErrorT to enable better error-handling than the old Maybes. (Note that the better error handling isn't really there yet, but it is now possible.) One long-term goal of these changes is to make it easier to write the Docx type. This should make it easier to develop a standalone docx package in the future.
2014-07-11Removed (>>~) functionMatthew Pickering5-13/+13
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.