diff options
author | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2009-12-31 01:12:59 +0000 |
---|---|---|
committer | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2009-12-31 01:12:59 +0000 |
commit | 1f580fb70189f91894ec757dd00cd4286d0da8a6 (patch) | |
tree | 04f6a64233bca673b1e749599e14ad4ab9a60acf | |
parent | 3ec8772daff7d76097d7435c4e8da1df5ee4cc6a (diff) | |
download | pandoc-1f580fb70189f91894ec757dd00cd4286d0da8a6.tar.gz |
Restored writerIncludeBefore, writerIncludeAfter.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1700 788f1e2b-df1e-0410-8736-df70ead52e1b
-rw-r--r-- | src/Text/Pandoc/Shared.hs | 4 | ||||
-rw-r--r-- | src/Text/Pandoc/Writers/LaTeX.hs | 13 | ||||
-rw-r--r-- | src/Text/Pandoc/Writers/Markdown.hs | 14 | ||||
-rw-r--r-- | src/pandoc.hs | 26 | ||||
-rw-r--r-- | templates/context.template | 3 | ||||
-rw-r--r-- | templates/docbook.template | 4 | ||||
-rw-r--r-- | templates/html.template | 4 | ||||
-rw-r--r-- | templates/latex.template | 10 | ||||
-rw-r--r-- | templates/man.template | 4 | ||||
-rw-r--r-- | templates/markdown.template | 8 | ||||
-rw-r--r-- | templates/mediawiki.template | 4 | ||||
-rw-r--r-- | templates/opendocument.template | 4 | ||||
-rw-r--r-- | templates/rst.template | 5 | ||||
-rw-r--r-- | templates/rtf.template | 2 | ||||
-rw-r--r-- | templates/s5.template | 4 | ||||
-rw-r--r-- | templates/texinfo.template | 2 |
16 files changed, 50 insertions, 61 deletions
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs index ae14937d5..dbb5d94a4 100644 --- a/src/Text/Pandoc/Shared.hs +++ b/src/Text/Pandoc/Shared.hs @@ -984,6 +984,8 @@ data WriterOptions = WriterOptions { writerStandalone :: Bool -- ^ Include header and footer , writerTemplate :: String -- ^ Template to use in standalone mode , writerVariables :: [(String, String)] -- ^ Variables to set in template + , writerIncludeBefore :: String -- ^ Text to include before the body + , writerIncludeAfter :: String -- ^ Text to include after the body , writerTabStop :: Int -- ^ Tabstop for conversion btw spaces and tabs , writerTableOfContents :: Bool -- ^ Include table of contents , writerS5 :: Bool -- ^ We're writing S5 @@ -1005,6 +1007,8 @@ defaultWriterOptions = WriterOptions { writerStandalone = False , writerTemplate = "" , writerVariables = [] + , writerIncludeBefore = "" + , writerIncludeAfter = "" , writerTabStop = 4 , writerTableOfContents = False , writerS5 = False diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index f119598a6..6782cc14e 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -52,7 +52,14 @@ writeLaTeX options document = pandocToLaTeX :: WriterOptions -> Pandoc -> State WriterState String pandocToLaTeX options (Pandoc (Meta title authors date) blocks) = do - main <- liftM render $ blockListToLaTeX blocks + body <- blockListToLaTeX blocks + let before = if null (writerIncludeBefore options) + then empty + else text $ writerIncludeBefore options + let after = if null (writerIncludeAfter options) + then empty + else text $ writerIncludeAfter options + let main = render $ before $$ body $$ after titletext <- liftM render $ inlineListToLaTeX title authorsText <- mapM (liftM render . inlineListToLaTeX) authors dateText <- liftM render $ inlineListToLaTeX date @@ -62,7 +69,9 @@ pandocToLaTeX options (Pandoc (Meta title authors date) blocks) = do , ("title", titletext) , ("authors", intercalate "\\\\" authorsText) , ("date", dateText) ] - return $ renderTemplate context $ writerTemplate options + return $ if writerStandalone options + then renderTemplate context $ writerTemplate options + else main -- escape things as needed for LaTeX diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs index 266336968..25fe561da 100644 --- a/src/Text/Pandoc/Writers/Markdown.hs +++ b/src/Text/Pandoc/Writers/Markdown.hs @@ -60,17 +60,25 @@ pandocToMarkdown opts (Pandoc meta blocks) = do then tableOfContents opts headerBlocks else empty body <- blockListToMarkdown opts blocks + let before = if null (writerIncludeBefore opts) + then empty + else text $ writerIncludeBefore opts + let after = if null (writerIncludeAfter opts) + then empty + else text $ writerIncludeAfter opts (notes, _) <- get notes' <- notesToMarkdown opts (reverse notes) (_, refs) <- get -- note that the notes may contain refs refs' <- keyTableToMarkdown opts (reverse refs) + let main = render $ before $+$ body $+$ text "" $+$ notes' $+$ text "" $+$ refs' $+$ after let context = writerVariables opts ++ [ ("toc", render toc) - , ("body", render $ body $+$ text "" $+$ notes' $+$ - text "" $+$ refs') + , ("body", main) , ("titleblock", render head') ] - return $ renderTemplate context $ writerTemplate opts + if writerStandalone opts + then return $ renderTemplate context $ writerTemplate opts + else return main -- | Return markdown representation of reference key table. keyTableToMarkdown :: WriterOptions -> KeyTable -> State WriterState Doc diff --git a/src/pandoc.hs b/src/pandoc.hs index a18e069cc..431a41836 100644 --- a/src/pandoc.hs +++ b/src/pandoc.hs @@ -138,6 +138,8 @@ data Opt = Opt , optTableOfContents :: Bool -- ^ Include table of contents , optTemplate :: String -- ^ Custom template , optVariables :: [(String,String)] -- ^ Template variables to set + , optBefore :: [String] -- ^ Texts to include before body + , optAfter :: [String] -- ^ Texts to include after body , optOutputFile :: String -- ^ Name of output file , optNumberSections :: Bool -- ^ Number sections in LaTeX , optIncremental :: Bool -- ^ Use incremental lists in S5 @@ -172,6 +174,8 @@ defaultOpts = Opt , optTableOfContents = False , optTemplate = "" , optVariables = [] + , optBefore = [] + , optAfter = [] , optOutputFile = "-" -- "-" means stdout , optNumberSections = False , optIncremental = False @@ -383,13 +387,8 @@ options = (ReqArg (\arg opt -> do text <- readFile arg - let oldvars = optVariables opt - let newvars = case lookup "before" oldvars of - Nothing -> ("before", text) : oldvars - Just b -> ("before", b ++ text) : - filter ((/= "before") . fst) - oldvars - return opt { optVariables = newvars }) + let oldBefore = optBefore opt + return opt { optBefore = text : oldBefore }) "FILENAME") "" -- "File to include before document body" @@ -397,13 +396,8 @@ options = (ReqArg (\arg opt -> do text <- readFile arg - let oldvars = optVariables opt - let newvars = case lookup "after" oldvars of - Nothing -> ("after", text) : oldvars - Just a -> ("after", a ++ text) : - filter ((/= "after") . fst) - oldvars - return opt { optVariables = newvars }) + let oldAfter = optAfter opt + return opt { optAfter = text : oldAfter }) "FILENAME") "" -- "File to include after document body" @@ -572,6 +566,8 @@ main = do , optWriter = writerName , optParseRaw = parseRaw , optVariables = variables + , optBefore = befores + , optAfter = afters , optTableOfContents = toc , optTemplate = template , optOutputFile = outputFile @@ -665,6 +661,8 @@ main = do then defaultTemplate else template, writerVariables = variables', + writerIncludeBefore = concat befores, + writerIncludeAfter = concat afters, writerTabStop = tabStop, writerTableOfContents = toc && writerName' /= "s5", diff --git a/templates/context.template b/templates/context.template index abd56a0c7..a3ca8baf9 100644 --- a/templates/context.template +++ b/templates/context.template @@ -78,8 +78,6 @@ $header-includes$ \placecontent -$before$ - \subject{section oen} \startitemize[n][stopper=.] @@ -106,7 +104,6 @@ footnote code \stoptyping } -$after$ \stoptext diff --git a/templates/docbook.template b/templates/docbook.template index 4e5f464f3..993115ab9 100644 --- a/templates/docbook.template +++ b/templates/docbook.template @@ -10,7 +10,7 @@ />$header-includes$ </head ><body - >$before$ + > <h1 class="title" ><span class="math" ><em @@ -68,7 +68,7 @@ > <a href="#fnref1" class="footnoteBackLink" title="Jump back to footnote 1">↩</a></li ></ol ></div - >$after$ + > </body ></html > diff --git a/templates/html.template b/templates/html.template index 4e5f464f3..993115ab9 100644 --- a/templates/html.template +++ b/templates/html.template @@ -10,7 +10,7 @@ />$header-includes$ </head ><body - >$before$ + > <h1 class="title" ><span class="math" ><em @@ -68,7 +68,7 @@ > <a href="#fnref1" class="footnoteBackLink" title="Jump back to footnote 1">↩</a></li ></ol ></div - >$after$ + > </body ></html > diff --git a/templates/latex.template b/templates/latex.template index 6af0a59cc..d9dc8e5ff 100644 --- a/templates/latex.template +++ b/templates/latex.template @@ -1,4 +1,3 @@ -$if(standalone)$ $if(legacy-header)$ $legacy-header$ $else$ @@ -49,17 +48,8 @@ $endif$ \begin{document} \maketitle -$endif$ $if(toc)$ \tableofcontents $endif$ -$if(before)$ -$before$ -$endif$ $body$ -$if(after)$ -$after$ -$endif$ -$if(standalone)$ \end{document} -$endif$ diff --git a/templates/man.template b/templates/man.template index 4e5f464f3..993115ab9 100644 --- a/templates/man.template +++ b/templates/man.template @@ -10,7 +10,7 @@ />$header-includes$ </head ><body - >$before$ + > <h1 class="title" ><span class="math" ><em @@ -68,7 +68,7 @@ > <a href="#fnref1" class="footnoteBackLink" title="Jump back to footnote 1">↩</a></li ></ol ></div - >$after$ + > </body ></html > diff --git a/templates/markdown.template b/templates/markdown.template index 5c8a27674..bd373d95f 100644 --- a/templates/markdown.template +++ b/templates/markdown.template @@ -1,18 +1,10 @@ -$if(standalone)$ $if(titleblock)$ $titleblock$ $endif$ $if(header-includes)$ $header-includes$ $endif$ -$endif$ -$if(before)$ -$before$ -$endif$ $if(toc)$ $toc$ $endif$ $body$ -$if(after)$ -$after$ -$endif$ diff --git a/templates/mediawiki.template b/templates/mediawiki.template index 4e5f464f3..993115ab9 100644 --- a/templates/mediawiki.template +++ b/templates/mediawiki.template @@ -10,7 +10,7 @@ />$header-includes$ </head ><body - >$before$ + > <h1 class="title" ><span class="math" ><em @@ -68,7 +68,7 @@ > <a href="#fnref1" class="footnoteBackLink" title="Jump back to footnote 1">↩</a></li ></ol ></div - >$after$ + > </body ></html > diff --git a/templates/opendocument.template b/templates/opendocument.template index 4e5f464f3..993115ab9 100644 --- a/templates/opendocument.template +++ b/templates/opendocument.template @@ -10,7 +10,7 @@ />$header-includes$ </head ><body - >$before$ + > <h1 class="title" ><span class="math" ><em @@ -68,7 +68,7 @@ > <a href="#fnref1" class="footnoteBackLink" title="Jump back to footnote 1">↩</a></li ></ol ></div - >$after$ + > </body ></html > diff --git a/templates/rst.template b/templates/rst.template index 6c4bfd0d4..a939719ea 100644 --- a/templates/rst.template +++ b/templates/rst.template @@ -9,8 +9,6 @@ $header-includes$ -$before$ - .. role:: math(raw) :format: html latex @@ -39,6 +37,3 @@ footnote [1]_ code - -$after$ - diff --git a/templates/rtf.template b/templates/rtf.template index 8f4322783..b0d7cb1a6 100644 --- a/templates/rtf.template +++ b/templates/rtf.template @@ -9,7 +9,6 @@ $header-includes$ {\pard \ql \f0 \sa180 \li0 \fi0 \par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Contents\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab section oen\sa180\par} -$before$ {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 section oen\par} {\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab one\par} {\pard \ql \f0 \sa0 \li720 \fi-360 a.\tx360\tab two\par} @@ -18,7 +17,6 @@ $before$ {\pard \ql \f0 \sa180 \li0 \fi0 footnote{\super\chftn}{\*\footnote\chftn\~\plain\pard {\pard \ql \f0 \sa180 \li0 \fi0 with code\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1 code\par} }\par} -$after$ } diff --git a/templates/s5.template b/templates/s5.template index e33cf912b..19aaa2be9 100644 --- a/templates/s5.template +++ b/templates/s5.template @@ -271,7 +271,7 @@ window.onload=startup;window.onresize=function(){setTimeout('fontScale()',50);} $header-includes$ </head ><body - >$before$ + > <div class="layout"> <div id="controls"></div> <div id="currentSlide"></div> @@ -343,7 +343,7 @@ $header-includes$ > <a href="#fnref1" class="footnoteBackLink" title="Jump back to footnote 1">↩</a></li ></ol ></div - >$after$ + > </body ></html > diff --git a/templates/texinfo.template b/templates/texinfo.template index 968b43340..553395a3b 100644 --- a/templates/texinfo.template +++ b/templates/texinfo.template @@ -12,7 +12,6 @@ $header-includes$ $date$ @end titlepage @contents -$before$ @node Top @top @math{title} @@ -48,6 +47,5 @@ code @end verbatim } -$after$ @bye |