diff options
author | John MacFarlane <fiddlosopher@gmail.com> | 2012-11-04 21:21:57 -0800 |
---|---|---|
committer | John MacFarlane <fiddlosopher@gmail.com> | 2012-11-04 21:21:57 -0800 |
commit | 5914be88a8e783cb8368e654109dc291a6d92092 (patch) | |
tree | 89b75e9d27348c03ced7f727fc50ea009f714ca7 /src/Text | |
parent | 83b326b005c3917cee9a475bbac00462cd5ffe5a (diff) | |
download | pandoc-5914be88a8e783cb8368e654109dc291a6d92092.tar.gz |
EPUB writer: Rationalized templates.
* Previously there were three different templates involved in
epub production. There is now just one template, default.epub
or default.epub3.
* It can now be overridden using `--template`, just like other
templates.
Diffstat (limited to 'src/Text')
-rw-r--r-- | src/Text/Pandoc/Templates.hs | 2 | ||||
-rw-r--r-- | src/Text/Pandoc/Writers/EPUB.hs | 11 |
2 files changed, 3 insertions, 10 deletions
diff --git a/src/Text/Pandoc/Templates.hs b/src/Text/Pandoc/Templates.hs index 4e43160ba..75c133101 100644 --- a/src/Text/Pandoc/Templates.hs +++ b/src/Text/Pandoc/Templates.hs @@ -93,8 +93,6 @@ getDefaultTemplate user writer = do "native" -> return $ Right "" "json" -> return $ Right "" "docx" -> return $ Right "" - "epub" -> return $ Right "" - "epub3" -> return $ Right "" "odt" -> getDefaultTemplate user "opendocument" "markdown_strict" -> getDefaultTemplate user "markdown" "multimarkdown" -> getDefaultTemplate user "markdown" diff --git a/src/Text/Pandoc/Writers/EPUB.hs b/src/Text/Pandoc/Writers/EPUB.hs index ec51253e7..f1ae41d2f 100644 --- a/src/Text/Pandoc/Writers/EPUB.hs +++ b/src/Text/Pandoc/Writers/EPUB.hs @@ -33,7 +33,7 @@ import Data.Maybe ( fromMaybe, isNothing ) import Data.List ( isPrefixOf, isInfixOf, intercalate ) import System.Environment ( getEnv ) import Text.Printf (printf) -import System.FilePath ( (</>), (<.>), takeBaseName, takeExtension, takeFileName ) +import System.FilePath ( (</>), takeBaseName, takeExtension, takeFileName ) import qualified Data.ByteString.Lazy as B import qualified Data.ByteString.Lazy.Char8 as B8 import Text.Pandoc.UTF8 ( fromStringLazy ) @@ -74,15 +74,12 @@ writeEPUB :: EPUBVersion writeEPUB version opts doc@(Pandoc meta _) = do let epub3 = version == EPUB3 epochtime <- floor `fmap` getPOSIXTime - pageTemplate <- readDataFile (writerUserDataDir opts) - $ "templates" </> "epub-page" <.> "html" let mkEntry path content = toEntry path epochtime content let vars = ("epub3", if epub3 then "true" else "false") : ("css", "stylesheet.css") : writerVariables opts let opts' = opts{ writerEmailObfuscation = NoObfuscation , writerStandalone = True - , writerTemplate = pageTemplate , writerSectionDivs = True , writerHtml5 = epub3 , writerTableOfContents = False -- we always have one in epub @@ -102,7 +99,7 @@ writeEPUB version opts doc@(Pandoc meta _) = do Just img -> do let coverImage = "cover-image" ++ takeExtension img let cpContent = renderHtml $ writeHtml opts' - (Pandoc meta [RawBlock "html" $ "<div id=\"cover-image\">\n<img src=\"" ++ coverImage ++ " alt=\"cover image\" />\n</div"]) + (Pandoc meta [RawBlock "html" $ "<div id=\"cover-image\">\n<img src=\"" ++ coverImage ++ "\" alt=\"cover image\" />\n</div>"]) imgContent <- B.readFile img return ( [mkEntry "cover.xhtml" cpContent] , [mkEntry coverImage imgContent] ) @@ -149,9 +146,7 @@ writeEPUB version opts doc@(Pandoc meta _) = do let chapToEntry :: Int -> [Block] -> Entry chapToEntry num bs = mkEntry (showChapter num) $ renderHtml - $ writeHtml opts'{ writerStandalone = True - , writerTemplate = pageTemplate - } + $ writeHtml opts' $ case bs of (Header 1 xs : _) -> Pandoc (Meta xs [] []) bs _ -> Pandoc (Meta [] [] []) bs |