aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2014-06-28Rewrote header generation.Jesse Rosenthal1-25/+25
In preparation for auto ids.
2014-06-28Docx Reader: Simplify makeHeaderAnchorsJesse Rosenthal1-8/+5
Using pattern guard, in preparation for doing some more complicated stuff with it (recording header anchors, so we can change them to auto ids.)
2014-06-28Docx Reader: Clean up guardsJesse Rosenthal1-9/+9
Use PatternGuards to get rid of need for `isJust`, `fromJust` altogether.
2014-06-28Docx rdr: Avoid mapping makeHeaderAnchors globallyJesse Rosenthal1-4/+4
It only applies to headers, so we can just apply it when we make a header.
2014-06-28Move Docx reader to DocxContext monadJesse Rosenthal1-107/+140
This is a ReaderT State stack, which keeps track of some environment info, such as the options and the docx doc. The state will come in handy in the future, for a couple of planned features (rewriting the section anchors as auto_idents, and hopefully smart-quoting).
2014-06-26Require haddock-library >= 1.1 and simplify haddock reader code.John MacFarlane1-39/+1
See #1346.
2014-06-25Merge pull request #1374 from jkr/track-changes-optionsJohn MacFarlane2-3/+25
Track changes with options
2014-06-25Docx reader: Code cleanup in parse.Jesse Rosenthal1-38/+12
Remove some redundant ways of dealing with Maybe.
2014-06-25Docx reader: Make use of track-changes option.Jesse Rosenthal1-3/+16
2014-06-25Add TrackChanges to Options export.Jesse Rosenthal1-0/+1
2014-06-25Add reader option for track changes.Jesse Rosenthal1-0/+2
2014-06-25Add TrackChanges type to options.Jesse Rosenthal1-0/+6
2014-06-25Docx reader: Remove unnecessary filter in Parse.Jesse Rosenthal1-7/+2
mapMaybe does the filtering for us.
2014-06-25Docx reader: Add rudimentary track changes support.Jesse Rosenthal1-0/+3
This will only read the insertions, and ignore the deletions.
2014-06-25Docx reader: Parse Insertions and Deletions.Jesse Rosenthal1-1/+17
This is just for the Parse module, reading it into the Docx format. It still has to be translated into pandoc.
2014-06-25Docx Reader: Add change typesJesse Rosenthal1-1/+5
Insertion and deletion. Dates are just strings for now.
2014-06-24Docx reader: Ignore zero (or negative) indentJesse Rosenthal1-5/+8
If a block has an indentation less than or equal to zero, it should not be treated as a block quote.
2014-06-24Docx reader: remove T.P.Generic import.Jesse Rosenthal1-1/+0
This marks the removal of the final tree-walk in the code. (Though there is still one in the Lists module.)
2014-06-24Docx reader: pass definition test.Jesse Rosenthal1-8/+13
This commit also fixes a problem with the previous code pushes, which wouldn't allow code blocks to share a div.
2014-06-24Docx reader: pass code tests.Jesse Rosenthal1-33/+47
2014-06-23Add copyright block to T.P.R.Docx.Reducible.Jesse Rosenthal1-0/+31
2014-06-23Merge pull request #1366 from jkr/reducible3John MacFarlane3-276/+283
Docx rewrite and cleanup (in terms of Reducible typeclass)
2014-06-23Use Reducible in docx reader.Jesse Rosenthal1-273/+111
This cleans up them implementation, and cuts down on tree-walking. Anecdotally, I've seen about a 3-fold speedup.
2014-06-23Move some of the clean-up logic into List module.Jesse Rosenthal1-3/+22
This will allow us to get rid of more general functions we no longer need in the main reader.
2014-06-23Add new typeclass, ReducibleJesse Rosenthal1-0/+150
This defines a typeclass `Reducible` which allows us to "reduce" pandoc Inlines and Blocks, like so Emph [Strong [Str "foo", Space]] <++> Strong [Emph [Str "bar"]], Str "baz"] = [Strong [Emph [Str "foo", Space, Str "bar"], Space, Str "baz"]] So adjacent formattings and strings are appropriately grouped. Another set of operators for `(Reducible a) => (Many a)` are also included.
2014-06-23LaTeX writer: Use `\textquotesingle` for `'` in inline code.John MacFarlane1-0/+1
Otherwise we get curly quotes in the PDF output. Closes #1364.
2014-06-23Markdown reader: Combine consecutive latex environments.John MacFarlane1-2/+4
This helps when you have two minipages which can't have blank lines between them. See #690, #1196.
2014-06-22Docx reader: Fix spacing in formatting.Jesse Rosenthal1-1/+1
The normalizing tests revealed a problem with unformatted spaces, brought about by `spanTrim`. This fixes by not trimming the spaces out of spans until they are in their final form.
2014-06-22Implement new normalization.Jesse Rosenthal1-11/+57
There were some problems with the old str normalization. This fixes those problems. Also, since it drills down on its own, it only needs to be mapped over the blocks, not walked over the tree.
2014-06-20Markdown reader: Support smallcaps through span.John MacFarlane1-1/+6
`<span style="font-variant:small-caps;">foo</span>` will be parsed as a `SmallCaps` inline, and will work in all output formats that support small caps. Closes #1360.
2014-06-20MediaWiki reader: Tightened up template parsing.John MacFarlane1-0/+1
The opening "{{" must be followed by an alphanumeric or ':'. This prevents the exponential slowdown in #1033. Closes #1033.
2014-06-20MediaWiki reader: Support --trace.John MacFarlane1-1/+10
2014-06-20LaTeX writer: Correctly handle figures in notes.John MacFarlane1-5/+7
Notes can't contain figures in LaTeX, so we fake it to avoid an error. Closes #1053.
2014-06-20Markdown reader: Prevent spurious line breaks after list items.John MacFarlane1-1/+2
When the `hard_line_breaks` option was specified, pandoc would produce a spurious line break after a tight list item. This patch solves the problem. Closes #1137.
2014-06-20ImageSize: Use default instead of failing if image size not foundJohn MacFarlane1-1/+6
in exif header. Closes #1358.
2014-06-20HTML reader: Fix performance issue with malformed HTML tables.John MacFarlane1-0/+2
We let a `</table>` tag close an open `<tr>` or `<td>`. Closes #1167.
2014-06-20Support --trace in HTML reader.John MacFarlane1-1/+10
2014-06-20LaTeX writer: Fixed strikeout + highlighted code. Closes #1294.John MacFarlane1-1/+10
Previously strikeout highlighted code caused an error.
2014-06-20Make strNormalize go bottomUp.Jesse Rosenthal1-5/+5
This was how it used to be before it was folded into blockNormalize.
2014-06-20Docx reader: Add a comment explaining strNormalizeJesse Rosenthal1-0/+4
`normalize` from Text.Pandoc.Shared is more general. In tests, though, it more than doubles the run time. `strNormalize` does less, but it does what we need. This comment is added for future maintainability.
2014-06-20Docx Reader: Normalize DefinitionListsJesse Rosenthal1-0/+2
Previously DefinitionList had been left out of `blockNormalize`. Now it is included.
2014-06-20Docx reader: simplify blockNormalizeJesse Rosenthal1-10/+8
Use a function `stripSpaces`, instead of recursion. Makes it a bit easier to read and mantain, and simplify normalizing DefinitionList, which was left out the first time.
2014-06-20Docx reader: Fix hdr handling in block normJesse Rosenthal1-0/+2
`blockNormalize` previously forgot to account for the case in which a Header's inlines did not start with a space.
2014-06-19Docx writer: Use Compact style for empty table cells.John MacFarlane1-1/+3
Otherwise we get overly tall lines when there are empty table cells and the other cells are compact. Closes #1353.
2014-06-19HTML reader: Allow space between `<col>` and `</col>`.John MacFarlane1-0/+1
Test case: ``` <table border="1"> <colgroup> <col> </col> <col></col> </colgroup> <tbody> <tr> <td>X</td> <td>Y</td> </tr> <tr> <td>1</td> <td>2</td> </tr> </tbody> </table> ```
2014-06-19Merge pull request #1354 from jkr/literalTabJohn MacFarlane2-2/+20
Parse literal tabs in docx
2014-06-19Introduce blockNormalizeJesse Rosenthal1-1/+14
This will help take care of spaces introduced at the beginning of strings.
2014-06-19Have Docx reader properly interpret tabs.Jesse Rosenthal1-0/+2
2014-06-19Add literal tabs to parser.Jesse Rosenthal1-1/+4
2014-06-19ImageSize: ignore unknown exif header tag rather than crashing.John MacFarlane1-1/+2
Some images seem to have tag type of 256, which was causing a runtime error.