From 8af979311aebd8c8782c86987b1c6ab4754b935f Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Thu, 8 Jul 2010 17:51:13 -0700 Subject: Get default stylesheet in EPUB writer, rather than pandoc.hs. --- src/Text/Pandoc/Writers/EPUB.hs | 7 +++++-- src/pandoc.hs | 17 +++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Text/Pandoc/Writers/EPUB.hs b/src/Text/Pandoc/Writers/EPUB.hs index 998a5aa3a..1ac2c8244 100644 --- a/src/Text/Pandoc/Writers/EPUB.hs +++ b/src/Text/Pandoc/Writers/EPUB.hs @@ -47,11 +47,14 @@ import Text.Pandoc.Writers.Markdown ( writePlain ) import Data.Char ( toLower ) -- | Produce an EPUB file from a Pandoc document. -writeEPUB :: String -- ^ EPUB stylesheet +writeEPUB :: Maybe String -- ^ EPUB stylesheet specified at command line -> WriterOptions -- ^ Writer options -> Pandoc -- ^ Document to convert -> IO B.ByteString -writeEPUB stylesheet opts doc = do +writeEPUB mbStylesheet opts doc = do + stylesheet <- case mbStylesheet of + Just s -> return s + Nothing -> readDataFile (writerUserDataDir opts) "epub.css" (TOD epochtime _) <- getClockTime let opts' = opts{ writerEmailObfuscation = NoObfuscation , writerStandalone = True diff --git a/src/pandoc.hs b/src/pandoc.hs index dd2787e7b..bfb619f04 100644 --- a/src/pandoc.hs +++ b/src/pandoc.hs @@ -695,16 +695,13 @@ main = do Just r -> return r Nothing -> error ("Unknown reader: " ++ readerName') - writer <- case (lookup writerName' writers) of - Just _ | writerName' == "epub" -> do - epubstyle <- case epubStylesheet of - Just s -> return s - Nothing -> readDataFile datadir "epub.css" - return (writeEPUB epubstyle) - Just _ | writerName' == "odt" -> return (writeODT referenceODT) - Just r -> return $ \o d -> - return $ fromString (r o d) - Nothing -> error ("Unknown writer: " ++ writerName') + let writer = case lookup writerName' writers of + Just _ | writerName' == "epub" -> writeEPUB epubStylesheet + Just _ | writerName' == "odt" -> writeODT referenceODT + Just r -> \o -> + return . fromString . r o + Nothing -> error $ "Unknown writer: " ++ + writerName' templ <- getDefaultTemplate datadir writerName' let defaultTemplate = case templ of -- cgit v1.2.3