diff options
author | John MacFarlane <fiddlosopher@gmail.com> | 2011-10-01 22:57:03 -0700 |
---|---|---|
committer | John MacFarlane <fiddlosopher@gmail.com> | 2011-10-01 23:02:24 -0700 |
commit | 9b37c9cc35eff9008005afa3efc2e0855b89e056 (patch) | |
tree | 627495f0cbd29c974bdca980ad0fab26033f290b /src | |
parent | 22e43b8e1711e9470216cd114218d8fe62973bba (diff) | |
download | pandoc-9b37c9cc35eff9008005afa3efc2e0855b89e056.tar.gz |
Added dzslides output option.
* Added DZSlides to HTMLSlideVariant.
* Added support for dzslides in HTML writer.
* Added dzslides template.
Diffstat (limited to 'src')
-rw-r--r-- | src/Text/Pandoc.hs | 1 | ||||
-rw-r--r-- | src/Text/Pandoc/Shared.hs | 1 | ||||
-rw-r--r-- | src/Text/Pandoc/Writers/HTML.hs | 12 | ||||
-rw-r--r-- | src/pandoc.hs | 12 |
4 files changed, 18 insertions, 8 deletions
diff --git a/src/Text/Pandoc.hs b/src/Text/Pandoc.hs index ef8560284..4517b0d52 100644 --- a/src/Text/Pandoc.hs +++ b/src/Text/Pandoc.hs @@ -173,6 +173,7 @@ writers = [("native" , writeNative) writeHtmlString o{ writerLiterateHaskell = True }) ,("s5" , writeHtmlString) ,("slidy" , writeHtmlString) + ,("dzslides" , writeHtmlString) ,("docbook" , writeDocbook) ,("opendocument" , writeOpenDocument) ,("latex" , writeLaTeX) diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs index 9717e1bc8..be34bc823 100644 --- a/src/Text/Pandoc/Shared.hs +++ b/src/Text/Pandoc/Shared.hs @@ -458,6 +458,7 @@ data ObfuscationMethod = NoObfuscation -- | Varieties of HTML slide shows. data HTMLSlideVariant = S5Slides | SlidySlides + | DZSlides | NoSlides deriving (Show, Read, Eq) diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs index 573adbf4a..25904e93f 100644 --- a/src/Text/Pandoc/Writers/HTML.hs +++ b/src/Text/Pandoc/Writers/HTML.hs @@ -226,8 +226,13 @@ elementToListItem opts (Sec _ num id' headerText subsecs) = do -- | Convert an Element to Html. elementToHtml :: WriterOptions -> Element -> State WriterState Html -elementToHtml opts (Blk HorizontalRule) | writerSlideVariant opts /= NoSlides = +elementToHtml opts (Blk HorizontalRule) + | writerSlideVariant opts == S5Slides || + writerSlideVariant opts == SlidySlides = return $ primHtml "</div>" +++ nl opts +++ primHtml "<div class=\"slide\">" +elementToHtml opts (Blk HorizontalRule) + | writerSlideVariant opts == DZSlides = + return $ primHtml "</section>" +++ nl opts +++ primHtml "<section>" elementToHtml opts (Blk block) = blockToHtml opts block elementToHtml opts (Sec level num id' title' elements) = do modify $ \st -> st{stSecNum = num} -- update section number @@ -239,12 +244,13 @@ elementToHtml opts (Sec level num id' title' elements) = do writerSlideVariant opts == S5Slides)] let stuff = header'' : innerContents let slide = writerSlideVariant opts /= NoSlides && level == 1 - let stuff' = if slide + let stuff' = if (writerSlideVariant opts == S5Slides || + writerSlideVariant opts == SlidySlides) && level == 1 then [thediv ! [theclass "slide"] << (nl opts : intersperse (nl opts) stuff ++ [nl opts])] else intersperse (nl opts) stuff let inNl x = nl opts : x ++ [nl opts] - return $ if writerSectionDivs opts + return $ if writerSectionDivs opts || writerSlideVariant opts == DZSlides then if writerHtml5 opts then tag "section" ! [prefixedId opts id'] << inNl stuff' else thediv ! [prefixedId opts id'] << inNl stuff' diff --git a/src/pandoc.hs b/src/pandoc.hs index 27bc2c25c..9298b3207 100644 --- a/src/pandoc.hs +++ b/src/pandoc.hs @@ -737,6 +737,7 @@ main = do Nothing -> error ("Unknown reader: " ++ readerName') templ <- case templatePath of + _ | not standalone -> return "" Nothing -> do deftemp <- getDefaultTemplate datadir writerName' case deftemp of @@ -790,9 +791,10 @@ main = do else takeDirectory (head sources) let slideVariant = case writerName' of - "s5" -> S5Slides - "slidy" -> SlidySlides - _ -> NoSlides + "s5" -> S5Slides + "slidy" -> SlidySlides + "dzslides" -> DZSlides + _ -> NoSlides let startParserState = defaultParserState { stateParseRaw = parseRaw, @@ -836,8 +838,8 @@ main = do writerIdentifierPrefix = idPrefix, writerSourceDirectory = sourceDir, writerUserDataDir = datadir, - writerHtml5 = html5 && - "html" `isPrefixOf` writerName', + writerHtml5 = html5 || + slideVariant == DZSlides, writerChapters = chapters, writerListings = listings, writerAscii = ascii } |