aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers
AgeCommit message (Collapse)AuthorFilesLines
2014-09-05Docx reader: Use polyglot header list.Jesse Rosenthal1-7/+7
We're just keeping a list of header formats that different languages use as their default styles. At the moment, we have English, German, Danish, and French. We can continue to add to this. This is simpler than parsing the styles file, and perhaps less error-prone, since there seems to be some variations, even within a language, of how a style file will define headers.
2014-09-05Docx Reader: Start list of polyglot section headers.Jesse Rosenthal1-0/+7
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-09-04Docx reader: Rewrite rewriteLink to work with new headers.Jesse Rosenthal1-9/+4
There could be new top-level headers after making lists, so we have to rewrite links after that.
2014-09-04Docx reader: Single-item headers in ordered lists are headers.Jesse Rosenthal1-4/+6
When users number their headers, Word understands that as a single item enumerated list. We make the assumption that such a list is, in fact, a header.
2014-09-02Docx reader: Fix window path for image lookup.Jesse Rosenthal1-1/+1
Don't use os-sensitive "combine", since we always want the paths in our zip-archive to use forward-slashes.
2014-08-31Markdown reader: better handling of paragraph in div.John MacFarlane1-0/+7
Previously text that ended a div would be parsed as Plain unless there was a blank line before the closing div tag. Test case: <div class="first"> This is a paragraph. This is another paragraph. </div> Closes #1591.
2014-08-30Merge branch 'mime' of https://github.com/Aelve/John into Aelve-mimeJohn MacFarlane1-8/+7
Conflicts: src/Text/Pandoc/Writers/Docx.hs
2014-08-28Docx Reader: Read single para in table cell as plainJesse Rosenthal1-1/+12
This makes to docx reader's native output fit with the way the markdown reader understands its markdown output. Ie, as far as table cells go: docx -> native == docx -> native -> markdown -> native (This identity isn't true for other things outside of table cells, of course).
2014-08-26Fixed exampleLine parser to accept example lines which have indentation at ↵Calvin Beck1-1/+1
the start of the line.
2014-08-21Txt2Tags Reader: Fixed crash when reading from stdinmpickering1-3/+5
2014-08-21Txt2Tags Reader: Corrected formatting of %%mtime macrompickering1-1/+1
2014-08-21Txt2Tags Reader: Parse Meta informationmpickering1-10/+36
The header is now parsed as meta information. The first line is the `title`, the second is the `author` and third line is the `date`.
2014-08-20Txt2Tags reader: Header is now parsed only if standalone flag is setmpickering1-1/+4
2014-08-18Merge pull request #1547 from jkr/styleparseJohn MacFarlane2-36/+110
Docx reader: parsing styles
2014-08-18HTML reader: improved handling of tags that can be block or inline.John MacFarlane1-5/+13
Previously a section like this would be enclosed in a paragraph, with RawInline for the video tags (since video is a tag that can be either block or inline): <video controls="controls"> <source src="../videos/test.mp4" type="video/mp4" /> <source src="../videos/test.webm" type="video/webm" /> <p> The videos can not be played back on your system.<br/> Try viewing on Youtube (requires Internet connection): <a href="http://youtu.be/etE5urBps_w">Relative Velocity on Youtube</a>. </p> </video> This change will cause the video and source tags to be parsed as RawBlock instead, giving better output. The general change is this: when we're parsing a "plain" sequence of inlines, we don't parse anything that COULD be a block-level tag.
2014-08-17Docx reader: whitespace fix.Jesse Rosenthal1-6/+6
2014-08-17Docx reader: remove emph styles and strong styles list.Jesse Rosenthal1-6/+0
We no longer need the explicit lists since we're deriving them from the ground up.
2014-08-17Docx reader: Add "Hyperlink" to blacklisted styles.Jesse Rosenthal1-2/+2
This is the only one so far. We'll add others as they show up.
2014-08-17Docx reader: Use style resolver.Jesse Rosenthal1-23/+9
We now no longer check against explicit styles.
2014-08-17Docx Reader: Introduce function for resolving dependent run styles.Jesse Rosenthal1-0/+31
We always favor an explicit positive or negative in a style in a descendent, and only turn to the ancestor if nothing is set. We also introduce an (empty) list of styles that are black-listed. We won't check them. (Think underlines in hyperlinks).
2014-08-17Docx Parse: build a bottom-up style tree.Jesse Rosenthal1-6/+31
Two points here: (1) We're going bottom-up, from styles not based on anything, to avoid circular dependencies or any other sort of maliciousness/incompetence. And (2) each style points to its parent. That way, we don't need the whole tree to pass a style over to Docx.hs
2014-08-17Update Reader.EPUB to use `MimeType`.Artyom Kazak1-8/+7
2014-08-17Alias string and runStyle to CharStyle type.Jesse Rosenthal1-7/+10
2014-08-17Docx Style parser: Basic one now just takes a parent style.Jesse Rosenthal1-13/+15
This will make it easier to build the style map from the bottom up (to avoid any infinite references).
2014-08-17Docx reader: work with new rStyle.Jesse Rosenthal1-4/+4
Just discards info at the moment, so at least it works the same.
2014-08-17Parser: Framework for parsing styles.Jesse Rosenthal1-11/+44
We want to be able to read user-defined styles. Eventually we'll be able to figure out styles in terms of inheritance as well. The actual cascading will happen in the docx reader.
2014-08-17Docx reader: Change behavior of Super/SubscriptJesse Rosenthal2-16/+17
In docx, super- and subscript are attributes of Vertalign. It makes more sense to follow this, and have different possible values of Vertalign in runStyle. This is mainly a preparatory step for real style parsing, since it can distinguish between vertical align being explicitly turned off and it not being set. In addition, it makes parsing a bit clearer, and makes sure we don't do docx-impossible things like being simultaneously super and sub.
2014-08-16HTML reader: Parse appropriately styled span as SmallCaps.John MacFarlane1-1/+6
2014-08-16Docx reader: Remove unnecessary plural functionsJesse Rosenthal1-11/+5
functions like runElemsToInlines and parPartsToInlines are just defined in terms of concatting and mapping their singular version (e.g. `runElemToInlines`). Having two functions with almost identical names makes it easier to introduce errors. It's easy enough to just concat and map inline, and it makes it clearer what is going on in the code.
2014-08-16Docx reader: Fix bug in character styles.Jesse Rosenthal1-2/+2
Style handling has been cleaned up, but introduced a bug here. There wasn't previously a test to catch it.
2014-08-16Rewrite Docx.hs and Reducible to use Builder.Jesse Rosenthal2-415/+368
The big news here is a rewrite of Docx to use the builder functions. As opposed to previous attempts, we now see a significant speedup -- times are cut in half (or more) in a few informal tests. Reducible has also been rewritten. It can doubtless be simplified and clarified further. We can consider this, at the moment, a reference for correct behavior.
2014-08-14Markdown reader: Better handle quote characters in inline links.John MacFarlane1-2/+4
This was previously failing to be recognized as a link: [Test](http://en.wikipedia.org/wiki/Ward's_method) Closes #1534.
2014-08-13Docx reader: Interpret "Strong" and Emphasis run styles.Jesse Rosenthal1-2/+6
2014-08-13Docx: Reducible forgot about smallcapsJesse Rosenthal1-0/+2
2014-08-12Docx Reader: Trim line breaks from the beginning and end of SectionJesse Rosenthal1-2/+10
Headers. We might also want to do this elsewhere (for pars, for example).
2014-08-12Docx: More robust handling of multiple bookmarks in header.Jesse Rosenthal1-6/+8
2014-08-12Docx reader: Check for null-id'd anchors too.Jesse Rosenthal1-1/+0
Otherwise they get left dangling in the document.
2014-08-12Docx reader: accept explicit "Italic" and "Bold" rStyles.Jesse Rosenthal2-18/+31
Note that "Italic" can be on, and, from the last commit, `<w:i>` can be present, but be turned off. In that case, the turned-off tag takes precedence. So, we have to distinguish between something being off and something not being there. Hence, isItalic, isBold, isStrike, and isSmallCaps have become Maybes.
2014-08-12Docx reader: Add "BlockQuotation" to divs list.Jesse Rosenthal1-1/+1
2014-08-12Docx Reader: Fix font style parsing.Jesse Rosenthal1-12/+27
Before we just checked for the existence of a tag. Now, we make sure to check for its on/off value.
2014-08-12Merge pull request #1528 from mpickering/epubtitlepageJohn MacFarlane1-4/+10
EPUB Reader: Ignores titlepage attribute
2014-08-12EPUB Reader: Ignore title pagesMatthew Pickering1-4/+10
2014-08-12DocBook: Support equations with mathml.John MacFarlane1-4/+16
equation, informalequation, inlineequation and mml:math elements.
2014-08-12Merge pull request #1524 from jkr/dropCap3John MacFarlane2-3/+11
Docx reader: move dropcap combining logic to Reducible
2014-08-12Markdown reader: Improved parsing of indented code in list items.John MacFarlane1-25/+42
Indented code at the beginning of a list item must be indented eight spaces from the margin (or from the edge of the container), or four spaces past the list marker, whichever is farther. Some examples in `tests/markdown-reader-more.txt`.
2014-08-12Docx reader: move combining logic to ReducibleJesse Rosenthal2-3/+11
Introduces a new function in Reducibles, concatR. The idea is that if we have two list of Reducibles (blocks or inlines), we can combine them and just perform the reduction on the joining parts (the last element of the first list, the first element of the second list). This is useful in cases where the two lists are already reduced, and we're only worried about the joining elements. This actually improves the efficiency a bit further, because concatR can be smart about empty lists.
2014-08-12Docx reader: Make dropcap combining more efficient.Jesse Rosenthal1-1/+3
Before, we had to run reduceList on the whole combined paragraph, which was redundant, and could take some time for long paragraphs. We only need to combine the drop cap with the first inline of the next paragraph.
2014-08-11Docx reader: combine inlines properly in dropcaps.Jesse Rosenthal1-1/+1
Make sure that adjacent inlines are combined properly in dropcaps. This updates the test results as well.
2014-08-11Docx reader: Use dropcap state.Jesse Rosenthal1-9/+17
If we get to a dropcap, we keep hold the inlines until the next paragraph, and combine it there.