aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
AgeCommit message (Collapse)AuthorFilesLines
2018-02-22Docx reader: Move pandoc inline styling inside custom-style spanJesse Rosenthal1-7/+7
Previously Emph, Strong, etc were outside the custom-style span. This moves them inside in order to make it easier to write filters that act on the formatting in these contents. Tests and MANUAL example are changed to match.
2018-02-22Docx reader: Avoid repeated spans in custom styles.Jesse Rosenthal1-10/+20
The previous commit had a bug where custom-style spans would be read with every recurrsion. This fixes that, and changes the example given in the manual.
2018-02-22Docx reader: read custom stylesJesse Rosenthal1-60/+96
This will read all paragraph and character classes as divs and spans, respectively. Dependent styles will still be resolved, but will be wrapped with appropriate style tags. It is controlled by the `+styles` extension (`-f docx+styles`). This can be used in conjunction with the `custom-style` feature in the docx writer for a pandoc-docx editing workflow. Users can convert from an input docx, reading the custom-styles, and then use that same input docx file as a reference-doc for producing an output docx file. Styles will be maintained across the conversion, even if pandoc doesn't understand them. Without the extension: $ pandoc test/docx/custom-style-reference.docx -f docx -t markdown This is some text. This is text with an *emphasized* text style. And this is text with a **strengthened** text style. > Here is a styled paragraph that inherits from Block Text. With the extension: $ pandoc test/docx/custom-style-reference.docx -f docx+styles -t markdown ::: {custom-style="FirstParagraph"} This is some text. ::: ::: {custom-style="BodyText"} This is text with an *[[emphasized]{custom-style="Emphatic"}]{custom-style="Emphatic"}* text style. And this is text with a **[[strengthened]{custom-style="Strengthened"}]{custom-style="Strengthened"}** text style. ::: ::: {custom-style="MyBlockStyle"} Closes: #1843
2018-02-22Extensions: Add Ext_stylesJesse Rosenthal1-0/+1
This will be used in the docx reader (defaulting to off) to read pargraph and character styles not understood by pandoc (as divs and spans, respectively).
2018-02-21LaTeX writer: Put hypertarget inside figure environment.John MacFarlane1-4/+4
Previously it surrounded the figure. This works around a problem with the endfloat package and makes pandoc's output compatible with it. Closes #4388.
2018-02-21LaTeX writer: Fix image height with percentage.John MacFarlane1-1/+5
This previously caused the image to be resized to a percentage of textwidth, rather than textheight. Closes #4389.
2018-02-21Org reader: allow changing emphasis syntaxAlbert Krewinkel3-11/+39
The characters allowed before and after emphasis can be configured via `#+pandoc-emphasis-pre` and `#+pandoc-emphasis-post`, respectively. This allows to change which strings are recognized as emphasized text on a per-document or even per-paragraph basis. The allowed characters must be given as (Haskell) string. #+pandoc-emphasis-pre: "-\t ('\"{" #+pandoc-emphasis-post: "-\t\n .,:!?;'\")}[" If the argument cannot be read as a string, the default value is restored. Closes: #4378
2018-02-21Muse reader: replace setState with updateState where possibleAlexander Krotov1-18/+9
2018-02-20Muse reader: fix compiler warningJesse Rosenthal1-1/+1
lambda variable `st` shadowed an existing variable.
2018-02-20Powerpoint writer: Use ph name and idx for getting layout shapesJesse Rosenthal1-37/+26
Internal change: when we take shapes from the layout for title, content, etc, we should use the attributes of the "ph" (placeholder) tag -- idx and name. This is what powerpoint uses internally, and therefore seems more dependable across reference-docs than using the shape names, as we had previously done. There should be no output changes as a result of this commit.
2018-02-20Muse reader: use updateState instead of setState to restore museInLinkAlexander Krotov1-1/+1
2018-02-19Powerpoint writer: Add notesMaster to presentation.xml if necessaryJesse Rosenthal1-25/+54
In previous version, we only modified the notesMaster entry in the presentation.xml file, and removed it if necessary. But if using a template, it might not be available. So we always delete it, and then add it back in if necessary. We also have to make sure that we add it appropriately the .rels file associated with presentation.xml.
2018-02-19Move manyUntil to Text.Pandoc.Parsing and use it in Txt2Tags readerAlexander Krotov3-16/+16
2018-02-18Powerpoint writer: Another attempt at avoiding compiler warnings.Jesse Rosenthal1-4/+2
2018-02-18Powerpoint writer: fix compiler complaints.Jesse Rosenthal1-7/+11
2018-02-18Powerpoint writer: separate SpeakerNotes paragraphs with empy parJesse Rosenthal1-4/+8
This will add a space between notes paragraphs, which seems more like what most users would do by hand (press "enter" twice).
2018-02-18Powerpoint writer: Ignore links and (end)notes in speaker notes.Jesse Rosenthal2-10/+30
MS PowerPoint does not offer a way to insert links into speaker notes text, so we match that behavior, and make our lives easier. As for (end)notes, there is no clear solution to the question of wat that would *mean*. The default behavior would be to add it to the endnote slide, but that would put speaker note content into the public presentation. The best solution would be to put the content at the bottom of the notes page, but that would take some doing, and can be added to the speaker notes feature later.
2018-02-18Powerpoint writer: Output speaker notes.Jesse Rosenthal1-25/+287
There are a number of interlocking parts here. The main thing to note is that, to match the MSPowerPoint-generated pptx files, we only include the notesMaster and notesSlide files if there are notes. This means we have to be careful with the rIds, and build a number of files conditionally.
2018-02-18Powerpoint writer: modify speaker notes in presentation.xmlJesse Rosenthal1-1/+12
We remove the `notesMasterIdLst` entry in `presentation.xml` if there no speaker notes in the presentation.
2018-02-18Powerpoint writer: Read speaker note templates conditionallyJesse Rosenthal1-18/+38
If there are speaker notes in the presentation, we read in the notesMasters templates from the reference pptx file.
2018-02-18Powerpoint writer: Move notes slides into data tree.Jesse Rosenthal1-0/+8
2018-02-18Powerpoint writer: Read notes into powerpoint Presentatation type.Jesse Rosenthal1-3/+20
We record notes in a map in state while processing.
2018-02-18Powerpoint writer: Change references to Notes to SpeakerNotesJesse Rosenthal1-7/+7
This is to avoid confusion with {foot,end}notes.
2018-02-18EMF Image size support (#4375)Andrew Pritchard3-1/+39
2018-02-17LaTeX reader: Fixed comments inside citations. Closes #4374.John MacFarlane1-3/+3
2018-02-16Markdown writer: properly escape @ to avoid capture as citation.John MacFarlane1-1/+7
Closes #4366.
2018-02-16Make image size detection for PDFs more robust.John MacFarlane1-2/+4
See #4322.
2018-02-16TEI writer: more attribute fixes.John MacFarlane1-18/+15
- Ensure that id prefix is always used. - Don't emit `role` attribute; that was a leftover from the Docbook writer.
2018-02-16TEI writer: Use 'xml:id', not 'id' attribute.John MacFarlane1-3/+3
Closes #4371.
2018-02-16Muse reader: prioritize lists with roman numerals over alphabetical listsAlexander Krotov1-1/+1
This is to make sure "i." starts a roman numbered list, instead of a list with letter "i" (followed by "j", "k", ...").
2018-02-15Docx reader: Pick table width from the longest row or headerdanse1-5/+9
This change is intended to preserve as much of the table content as possible Closes #4360
2018-02-15Muse reader: fix directive parsingAlexander Krotov1-3/+1
This fixes bugs introduced in commit 4bfab8f04c105f111d8d4e1c3ed7f7b5c75dbd19.
2018-02-15Muse writer: use unicode quotes for quoted textAlexander Krotov1-2/+2
2018-02-13AsciiDoc writer: do not output implicit heading IDsAlexander Krotov1-1/+8
Convert to asciidoc-auto_identifiers for old behaviour. Fixes #4363
2018-02-13Muse reader: remove listItemContents functionAlexander Krotov1-12/+8
2018-02-13Muse reader: hlintAlexander Krotov1-7/+7
2018-02-13Muse reader: parse definition lists with multiple descriptionsAlexander Krotov1-14/+25
2018-02-13Muse reader: parse next list item before parsing more item contentsAlexander Krotov1-7/+10
2018-02-12Muse reader: refactor to avoid reparsingAlexander Krotov1-78/+195
Lists are parsed in linear instead of exponential time now. Contents of block tags, such as <quote>, is parsed directly, without storing it in a string and parsing with parseFromString. Fixed a bug: headers did not terminate lists.
2018-02-12Muse reader: move indentation parsing from definitionListItem to definitionListAlexander Krotov1-6/+6
2018-02-12Muse reader: paragraph indentation does not indicate nested quoteAlexander Krotov1-35/+10
Muse allows indentation to indicate quotation or alignment, but only on the top level, not within a <quote> or list. This patch also simplifies the code by removing museInQuote and museInList fields from the state structure. Headers and indented paragraphs are attempted to be parsed only at the topmost level, instead of aborting parsing with guards.
2018-02-12Muse reader: replace optionMaybe with optionalAlexander Krotov1-5/+5
2018-02-11Muse reader: move para definition into blockElementsAlexander Krotov1-4/+1
2018-02-11Muse reader: move end-of-line parsing to paraUntilAlexander Krotov1-3/+3
2018-02-06Muse reader: rename "literal" to "literalTag"Alexander Krotov1-3/+3
2018-02-06Muse reader: avoid reparsing at the top levelAlexander Krotov1-2/+14
Blocks following paragraphs are parsed only once at the top level. Lists still take exponential time to parse, but this time is not doubled anymore when this list terminates paragraph.
2018-02-06Muse reader: implement paraUntilAlexander Krotov1-8/+36
paraUntil does not discard the result of the following block parsing. This change is a part of Muse reader refactoring to avoid reparsing.
2018-02-05Muse reader: avoid parsing newline after paragraph twiceAlexander Krotov1-5/+3
Removed lookAhead from blankline, so it is consumed.
2018-02-05Muse reader: make block parsers responsible for parsing newlineAlexander Krotov1-3/+5
Block parsers must always stop after newline or at the end of file.
2018-02-04Muse reader: simplify listItemContents' with sepBy1Alexander Krotov1-4/+2