summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Rosenthal <jrosenthal@jhu.edu>2017-12-10 11:05:21 -0500
committerJesse Rosenthal <jrosenthal@jhu.edu>2017-12-11 07:00:17 -0500
commitb212a51062c1ea2ab6aa6c5fb9f777ef2e1f29aa (patch)
treec0904bb61714fe46e32d1a98e8ec92a66158ac90
parentda4703236dbef86dd7fa036fb28fa43039e45146 (diff)
Integrate Powerpoint writer into pandoc.
-rw-r--r--pandoc.cabal42
-rw-r--r--src/Text/Pandoc/App.hs1
-rw-r--r--src/Text/Pandoc/Data.hs1
-rw-r--r--src/Text/Pandoc/Writers.hs3
4 files changed, 47 insertions, 0 deletions
diff --git a/pandoc.cabal b/pandoc.cabal
index ac5dffbcf..fb097aeb0 100644
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -98,6 +98,46 @@ data-files:
data/odt/Configurations2/accelerator/current.xml
data/odt/Thumbnails/thumbnail.png
data/odt/META-INF/manifest.xml
+ -- source files for reference.pptx
+ data/pptx/_rels/.rels
+ data/pptx/docProps/thumbnail.jpeg
+ data/pptx/docProps/app.xml
+ data/pptx/docProps/core.xml
+ data/pptx/ppt/slideLayouts/slideLayout4.xml
+ data/pptx/ppt/slideLayouts/_rels/slideLayout9.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout2.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout10.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout1.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout3.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout5.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout7.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout8.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout11.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout4.xml.rels
+ data/pptx/ppt/slideLayouts/_rels/slideLayout6.xml.rels
+ data/pptx/ppt/slideLayouts/slideLayout2.xml
+ data/pptx/ppt/slideLayouts/slideLayout8.xml
+ data/pptx/ppt/slideLayouts/slideLayout11.xml
+ data/pptx/ppt/slideLayouts/slideLayout3.xml
+ data/pptx/ppt/slideLayouts/slideLayout6.xml
+ data/pptx/ppt/slideLayouts/slideLayout9.xml
+ data/pptx/ppt/slideLayouts/slideLayout5.xml
+ data/pptx/ppt/slideLayouts/slideLayout7.xml
+ data/pptx/ppt/slideLayouts/slideLayout1.xml
+ data/pptx/ppt/slideLayouts/slideLayout10.xml
+ data/pptx/ppt/_rels/presentation.xml.rels
+ data/pptx/ppt/theme/theme1.xml
+ data/pptx/ppt/presProps.xml
+ data/pptx/ppt/slides/_rels/slide1.xml.rels
+ data/pptx/ppt/slides/_rels/slide2.xml.rels
+ data/pptx/ppt/slides/slide2.xml
+ data/pptx/ppt/slides/slide1.xml
+ data/pptx/ppt/viewProps.xml
+ data/pptx/ppt/tableStyles.xml
+ data/pptx/ppt/slideMasters/_rels/slideMaster1.xml.rels
+ data/pptx/ppt/slideMasters/slideMaster1.xml
+ data/pptx/ppt/presentation.xml
+ data/pptx/[Content_Types].xml
-- stylesheet for EPUB writer
data/epub.css
-- data for LaTeXMathML writer
@@ -433,12 +473,14 @@ library
Text.Pandoc.Writers.RTF,
Text.Pandoc.Writers.ODT,
Text.Pandoc.Writers.Docx,
+ Text.Pandoc.Writers.Powerpoint,
Text.Pandoc.Writers.EPUB,
Text.Pandoc.Writers.FB2,
Text.Pandoc.Writers.TEI,
Text.Pandoc.Writers.Muse,
Text.Pandoc.Writers.Math,
Text.Pandoc.Writers.Shared,
+ Text.Pandoc.Writers.OOXML,
Text.Pandoc.Lua,
Text.Pandoc.PDF,
Text.Pandoc.UTF8,
diff --git a/src/Text/Pandoc/App.hs b/src/Text/Pandoc/App.hs
index ae62db4f9..3dd4f214c 100644
--- a/src/Text/Pandoc/App.hs
+++ b/src/Text/Pandoc/App.hs
@@ -815,6 +815,7 @@ defaultWriterName x =
".tei" -> "tei"
".ms" -> "ms"
".roff" -> "ms"
+ ".pptx" -> "pptx"
['.',y] | y `elem` ['1'..'9'] -> "man"
_ -> "html"
diff --git a/src/Text/Pandoc/Data.hs b/src/Text/Pandoc/Data.hs
index 6bb6069ca..332882c22 100644
--- a/src/Text/Pandoc/Data.hs
+++ b/src/Text/Pandoc/Data.hs
@@ -18,4 +18,5 @@ dataFiles' = ("MANUAL.txt", $(embedFile "MANUAL.txt")) :
-- handle the hidden file separately, since embedDir doesn't
-- include it:
("docx/_rels/.rels", $(embedFile "data/docx/_rels/.rels")) :
+ ("pptx/_rels/.rels", $(embedFile "data/pptx/_rels/.rels")) :
$(embedDir "data")
diff --git a/src/Text/Pandoc/Writers.hs b/src/Text/Pandoc/Writers.hs
index 046022b09..b336c1f1a 100644
--- a/src/Text/Pandoc/Writers.hs
+++ b/src/Text/Pandoc/Writers.hs
@@ -68,6 +68,7 @@ module Text.Pandoc.Writers
, writeOpenDocument
, writeOrg
, writePlain
+ , writePowerpoint
, writeRST
, writeRTF
, writeRevealJs
@@ -113,6 +114,7 @@ import Text.Pandoc.Writers.ODT
import Text.Pandoc.Writers.OpenDocument
import Text.Pandoc.Writers.OPML
import Text.Pandoc.Writers.Org
+import Text.Pandoc.Writers.Powerpoint
import Text.Pandoc.Writers.RST
import Text.Pandoc.Writers.RTF
import Text.Pandoc.Writers.TEI
@@ -131,6 +133,7 @@ writers = [
,("json" , TextWriter $ \o d -> return $ writeJSON o d)
,("docx" , ByteStringWriter writeDocx)
,("odt" , ByteStringWriter writeODT)
+ ,("pptx" , ByteStringWriter writePowerpoint)
,("epub" , ByteStringWriter writeEPUB3)
,("epub2" , ByteStringWriter writeEPUB2)
,("epub3" , ByteStringWriter writeEPUB3)