aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pandoc.hs20
-rw-r--r--templates/context.template4
-rw-r--r--templates/html.template4
-rw-r--r--templates/latex.template4
-rw-r--r--templates/markdown.template4
-rw-r--r--templates/rst.template19
6 files changed, 34 insertions, 21 deletions
diff --git a/src/pandoc.hs b/src/pandoc.hs
index 8b626c2c2..7ddb41b00 100644
--- a/src/pandoc.hs
+++ b/src/pandoc.hs
@@ -347,7 +347,7 @@ options =
(\arg opt ->
case break (`elem` ":=") arg of
(k,_:v) -> do
- let newvars = (k, v) : optVariables opt
+ let newvars = optVariables opt ++ [(k,v)]
return opt{ optVariables = newvars }
_ -> do
hPutStrLn stderr $ "Could not parse `" ++ arg ++ "' as a key/value pair (k=v or k:v)"
@@ -358,7 +358,8 @@ options =
, Option "c" ["css"]
(ReqArg
(\arg opt -> do
- let newvars = ("css",arg) : optVariables opt
+ -- add new link to end, so it is included in proper order
+ let newvars = optVariables opt ++ [("css",arg)]
return opt { optVariables = newvars,
optStandalone = True })
"URL")
@@ -368,7 +369,8 @@ options =
(ReqArg
(\arg opt -> do
text <- readFile arg
- let newvars = ("header-includes",text) : optVariables opt
+ -- add new ones to end, so they're included in order specified
+ let newvars = optVariables opt ++ [("header-includes",text)]
return opt { optVariables = newvars,
optStandalone = True })
"FILENAME")
@@ -379,7 +381,8 @@ options =
(\arg opt -> do
text <- readFile arg
let oldBefore = optBefore opt
- return opt { optBefore = text : oldBefore })
+ -- add new text to end, so it is included in proper order
+ return opt { optBefore = oldBefore ++ [text] })
"FILENAME")
"" -- "File to include before document body"
@@ -388,7 +391,8 @@ options =
(\arg opt -> do
text <- readFile arg
let oldAfter = optAfter opt
- return opt { optAfter = text : oldAfter })
+ -- add new text to end, so it is included in proper order
+ return opt { optAfter = oldAfter ++ [text]})
"FILENAME")
"" -- "File to include after document body"
@@ -625,11 +629,7 @@ main = do
variables' <- if writerName' == "s5" && standalone'
then do
inc <- s5HeaderIncludes
- return $ case lookup "header-includes" variables of
- Nothing -> ("header-includes", inc) : variables
- Just a -> ("header-includes", a ++ inc) :
- filter ((/= "header-includes") . fst)
- variables
+ return $ ("header-includes", inc) : variables
else return variables
variables'' <- case mathMethod of
diff --git a/templates/context.template b/templates/context.template
index d450634ee..6b9c04a7e 100644
--- a/templates/context.template
+++ b/templates/context.template
@@ -71,9 +71,9 @@ after={\blank[medium]},
\protect
$endif$
-$if(header-includes)$
+$for(header-includes)$
$header-includes$
-$endif$
+$endfor$
$if(title)$
\doctitle{$title$}
diff --git a/templates/html.template b/templates/html.template
index 68cacd568..7f1bd17db 100644
--- a/templates/html.template
+++ b/templates/html.template
@@ -33,9 +33,9 @@ $endif$
$for(css)$
<link rel="stylesheet" href="$css$" type="text/css" />
$endfor$
-$if(header-includes)$
+$for(header-includes)$
$header-includes$
-$endif$
+$endfor$
$if(latexmathml-script)$
$latexmathml-script$
$endif$
diff --git a/templates/latex.template b/templates/latex.template
index fe4af083d..407348b52 100644
--- a/templates/latex.template
+++ b/templates/latex.template
@@ -31,9 +31,9 @@ $if(numbersections)$
$else$
\setcounter{secnumdepth}{0}
$endif$
-$if(header-includes)$
+$for(header-includes)$
$header-includes$
-$endif$
+$endfor$
$if(title)$
\title{$title$}
diff --git a/templates/markdown.template b/templates/markdown.template
index 68fe0eb13..70f1b59b0 100644
--- a/templates/markdown.template
+++ b/templates/markdown.template
@@ -4,10 +4,10 @@ $if(titleblock)$
% $date$
$endif$
-$if(header-includes)$
+$for(header-includes)$
$header-includes$
-$endif$
+$endfor$
$if(toc)$
$toc$
diff --git a/templates/rst.template b/templates/rst.template
index 38e9691d3..abca8d81a 100644
--- a/templates/rst.template
+++ b/templates/rst.template
@@ -1,5 +1,14 @@
$if(titleblock)$
-$titleblock$
+$if(title)$
+$title$
+
+$endif$
+$if(authors)$
+$authors$
+$endif$
+$if(date)$
+Date: $date$
+$endif$
$endif$
$if(math)$
@@ -7,8 +16,12 @@ $if(math)$
:format: html latex
$endif$
-$if(header-includes)$
-$header-includes$
+$if(toc)$
+.. contents::
$endif$
+$for(header-includes)$
+$header-includes$
+
+$endfor$
$body$