diff options
author | John MacFarlane <jgm@berkeley.edu> | 2010-07-15 19:01:00 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2010-07-15 22:26:45 -0700 |
commit | 9be9bccfcfc2c46459b3da963bc59a37f841fe8a (patch) | |
tree | 1ecfb499923d950426d8ca1cc12e1c28291ae235 /src/Text | |
parent | 57a91f3b6add303ef70aa29a14a8c67123ec7c0f (diff) | |
download | pandoc-9be9bccfcfc2c46459b3da963bc59a37f841fe8a.tar.gz |
Added --section-divs option.
+ Header identifiers now get attached to the headers, unless
--section-divs is specified, in which case they are added to
enclosing divs. By default, the divs are not added.
+ Resolves Issue #230, #239.
Diffstat (limited to 'src/Text')
-rw-r--r-- | src/Text/Pandoc/Shared.hs | 2 | ||||
-rw-r--r-- | src/Text/Pandoc/Writers/HTML.hs | 19 |
2 files changed, 12 insertions, 9 deletions
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs index b8eb14177..633708046 100644 --- a/src/Text/Pandoc/Shared.hs +++ b/src/Text/Pandoc/Shared.hs @@ -487,6 +487,7 @@ data WriterOptions = WriterOptions , writerHTMLMathMethod :: HTMLMathMethod -- ^ How to print math in HTML , writerIgnoreNotes :: Bool -- ^ Ignore footnotes (used in making toc) , writerNumberSections :: Bool -- ^ Number sections in LaTeX + , writerSectionDivs :: Bool -- ^ Put sections in div tags in HTML , writerStrictMarkdown :: Bool -- ^ Use strict markdown syntax , writerReferenceLinks :: Bool -- ^ Use reference links in writing markdown, rst , writerWrapText :: Bool -- ^ Wrap text to line length @@ -512,6 +513,7 @@ defaultWriterOptions = , writerHTMLMathMethod = PlainMath , writerIgnoreNotes = False , writerNumberSections = False + , writerSectionDivs = True , writerStrictMarkdown = False , writerReferenceLinks = False , writerWrapText = True diff --git a/src/Text/Pandoc/Writers/HTML.hs b/src/Text/Pandoc/Writers/HTML.hs index 20022e182..e9006a39b 100644 --- a/src/Text/Pandoc/Writers/HTML.hs +++ b/src/Text/Pandoc/Writers/HTML.hs @@ -208,15 +208,16 @@ elementToHtml opts (Sec level num id' title' elements) = do innerContents <- mapM (elementToHtml opts) elements modify $ \st -> st{stSecNum = num} -- update section number header' <- blockToHtml opts (Header level title') - let stuff = header' : innerContents - return $ case writerSlideVariant opts of - SlidySlides -> toHtmlFromList stuff - S5Slides -> toHtmlFromList stuff - -- S5 gets confused by the extra divs around sections - _ | (writerStrictMarkdown opts && - not (writerTableOfContents opts)) -> - toHtmlFromList stuff - _ -> thediv ! [prefixedId opts id'] << stuff + let slides = writerSlideVariant opts `elem` [SlidySlides, S5Slides] + let header'' = header' ! [prefixedId opts id' | + not (writerStrictMarkdown opts || + writerSectionDivs opts || slides)] + let stuff = header'' : innerContents + return $ if slides -- S5 gets confused by the extra divs around sections + then toHtmlFromList stuff + else if writerSectionDivs opts + then thediv ! [prefixedId opts id'] << stuff + else toHtmlFromList stuff -- | Convert list of Note blocks to a footnote <div>. -- Assumes notes are sorted. |