summaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs
Commit message (Collapse)AuthorAge
* Powerpoint writer: use `trim` from SharedJesse Rosenthal2018-02-27
| | | | Instead of writing my own.
* Powerpoint writer: Remove empty slidesJesse Rosenthal2018-02-27
| | | | | | | | | | | | Make sure there are no empty slides in the pptx output. Because of the way that slides were split, these could be accidentally produced by comments after images. When animations are added, there will be a way to add an empty slide with either incremental lists or pauses. Test outputs checked with MS PowerPoint (Office 2013, Windows 10, VBox). Both files have expected output and are not corrupted.
* Powerpoint writer: Ignore links and (end)notes in speaker notes.Jesse Rosenthal2018-02-18
| | | | | | | | | | | | 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.
* Powerpoint writer: Read notes into powerpoint Presentatation type.Jesse Rosenthal2018-02-18
| | | | We record notes in a map in state while processing.
* Powerpoint writer: Change references to Notes to SpeakerNotesJesse Rosenthal2018-02-18
| | | | This is to avoid confusion with {foot,end}notes.
* hlint code improvements.John MacFarlane2018-01-19
|
* Powerpoint writer: Implement syntax highlightingJesse Rosenthal2018-01-18
| | | | | | | This also necessitated implementing colors and underlining, though there is currently no way to produce these from markdown. Note that background colors can't be implemented in PowerPoint, so highlighting styles that require these will be incomplete.
* Powerpoint writer: Make our own docProps/core.xml file.Jesse Rosenthal2018-01-18
| | | | This allows us to set document metadata properties from pandoc metadata.
* Powerpoint writer: Add docProps to Presentation datatype.Jesse Rosenthal2018-01-18
| | | | | | This picks up the necessary information from meta and carries it over to the XML output, so Output.hs doesn't need access to the original pandoc information.
* Powerpoint writer: Link notes to endnotes slide.Jesse Rosenthal2018-01-17
|
* Powerpoint writer: Use more specific slide id names.Jesse Rosenthal2018-01-17
|
* Powerpoint writer: Use slideids to simplify code.Jesse Rosenthal2018-01-17
|
* Powerpoint writer: Revamp slide typeJesse Rosenthal2018-01-17
| | | | | | | | | | | | | | This is an internal change to the Presentation type. The algebraic datatype that used to be called `Slide` is now `Layout`, and Slide is defined as `Slide SlideId Layout (Maybe Notes)`. Though there should be no user-visible changes in this commit, it offers two benefits moving forward: 1. Slides now carry their Id with them, instead of being assigned it in deck order. This makes it easier to set up a link to, say, an endnotes slide ahead of time. 2. This makes room for Notes slides, when we implement them.
* Powerpoint writer: Change reference to notesSlide to endNotesSlideJesse Rosenthal2018-01-17
| | | | This will prevent confusion when speakers notes are implemented.
* Powerpoint writer: Move image sizing into picProps.Jesse Rosenthal2018-01-17
| | | | | Rather than passing around attributes, we can have image sizing in the picProps and then pass it along to write to XML.
* Powerpoint writer: Move Presentation.hs out of PandocMonadJesse Rosenthal2018-01-15
| | | | | | We don't need it for anything but the log messages, and we can just keep track of that in state and pass it along to the `writePowerpoint` function. This will simplify the code.
* Powerpoint writer: Ignore anchor links to nowehere.Jesse Rosenthal2018-01-15
| | | | | | We don't convert a '#target' ExternalTarget to an InternalTarget if `target` is not in the AnchorMap. We just remove the link. This prevents broken links in the Powerpoint output.
* Powerpoint writer: Fix anchor links.Jesse Rosenthal2018-01-14
| | | | | | | | | They were broken when I refactored (the Output module wanted to use state left over from the construction of the Presentation type). This change introduces a new type `LinkTarget = InternalTarget | ExternalTarget`. Internal target points to a slide number, and these will all be resolved before the Presentation is passed along to the Output module.
* Powerpoint writer: Refactor into separate modules.Jesse Rosenthal2018-01-14
There are two steps in the conversion: a conversion from pandoc to a Presentation datatype modeling pptx, and a conversion from Presentation to a pptx archive. The two steps were sharing the same state and environment, and the code was getting a bit spaghetti-ish. This separates the conversion into separate modules (T.P.W.Powerpoint.Presentation, which defineds the Presentation datatype and goes Pandoc->Presentation) and (T.P.W.Pandoc.Output, which goes Presentation->Archive). Text.Pandoc.Writers.Powerpoint a thin wrapper around the two modules.