@@ -130,7 +130,10 @@ metaToRST opts (Meta title authors date) = do
130130 title' <- titleToRST opts title
131131 authors' <- authorsToRST authors
132132 date' <- dateToRST date
133− return $ title' <> authors' <> date'
133+ let toc = if writerTableOfContents opts
134+ then text "" $$ text ".. contents::"
135+ else empty
136+ return $ title' $$ authors' $$ date' $$ toc $$ text ""
134137
135138titleToRST :: WriterOptions -> [Inline] -> State WriterState Doc
136139titleToRST opts [] = return empty
@@ -138,17 +141,17 @@ titleToRST opts lst = do
138141 contents <- inlineListToRST opts lst
139142 let titleLength = length $ render contents
140143 let border = text (replicate titleLength '=')
141− return $ border <> char '\n' <> contents <> char '\n' <> border <> text "\n\n"
144+ return $ border <> char '\n' <> contents <> char '\n' <> border <> text "\n"
142145
143146authorsToRST :: [String] -> State WriterState Doc
144147authorsToRST [] = return empty
145148authorsToRST (first:rest) = do
146149 rest' <- authorsToRST rest
147− return $ text ":Author: " <> text first <> char '\n' <> rest'
150+ return $ (text ":Author: " <> text first) $$ rest'
148151
149152dateToRST :: String -> State WriterState Doc
150153dateToRST [] = return empty
151−dateToRST str = return $ text ":Date: " <> text (escapeString str) <> char '\n'
154+dateToRST str = return $ text ":Date: " <> text (escapeString str)
152155
153156-- | Convert Pandoc block element to RST.
154157blockToRST :: WriterOptions -- ^ Options