aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn MacFarlane <fiddlosopher@gmail.com>2011-10-01 22:57:03 -0700
committerJohn MacFarlane <fiddlosopher@gmail.com>2011-10-01 23:02:24 -0700
commit9b37c9cc35eff9008005afa3efc2e0855b89e056 (patch)
tree627495f0cbd29c974bdca980ad0fab26033f290b /src
parent22e43b8e1711e9470216cd114218d8fe62973bba (diff)
downloadpandoc-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.hs1
-rw-r--r--src/Text/Pandoc/Shared.hs1
-rw-r--r--src/Text/Pandoc/Writers/HTML.hs12
-rw-r--r--src/pandoc.hs12
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 }