From 4fe56a8d18f49125a36f0c229548a23d5bbe0d13 Mon Sep 17 00:00:00 2001 From: fiddlosopher Date: Wed, 4 Jul 2007 15:53:49 +0000 Subject: Man writer: - Added scheme for specifying manual section and additional headers: % PROGNAM | 1 | User Manual | Version 4.0 - Modified man page sources to include section 1 git-svn-id: https://pandoc.googlecode.com/svn/trunk@619 788f1e2b-df1e-0410-8736-df70ead52e1b --- src/Text/Pandoc/Writers/Man.hs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/Text/Pandoc') diff --git a/src/Text/Pandoc/Writers/Man.hs b/src/Text/Pandoc/Writers/Man.hs index 23728a77e..2c3fc00bd 100644 --- a/src/Text/Pandoc/Writers/Man.hs +++ b/src/Text/Pandoc/Writers/Man.hs @@ -69,9 +69,15 @@ metaToMan :: WriterOptions -- ^ Options, including Man header -> Meta -- ^ Meta with bibliographic information -> State WriterState (Doc, Doc) metaToMan options (Meta title authors date) = do - title' <- inlineListToMan options title - let head = (text ".TH \"") <> title' <> text ("\" 1 \"" ++ date ++ - "\" \"") <> title' <> text ("\" \"User Manuals\"") + titleParts <- mapM (inlineListToMan options) $ map normalizeSpaces $ + splitBy (Str "|") title + let titleParts' = map doubleQuotes titleParts + let (title', section, rest) = case titleParts' of + [] -> (text "\"\"", text "\"\"", []) + [x] -> (x, text "\"\"", []) + (x:y:zs) -> (x, y, zs) + let head = (text ".TH") <+> title' <+> section <+> + doubleQuotes (text date) <+> hsep rest let foot = case length authors of 0 -> text $ "" 1 -> text $ ".SH AUTHOR\n" ++ joinWithSep ", " authors -- cgit v1.2.3