diff options
author | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2007-07-21 20:30:40 +0000 |
---|---|---|
committer | fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> | 2007-07-21 20:30:40 +0000 |
commit | 2f7a38e1ab54d564555856a9354d1462ff8ca815 (patch) | |
tree | 9c7b9ff59d20e00867c54c7003b3c9c103ac3acc /src/Text/Pandoc/Writers | |
parent | 6d8f0e29d99cd44e8c7c9fafa3b116ae3a83a49e (diff) | |
download | pandoc-2f7a38e1ab54d564555856a9354d1462ff8ca815.tar.gz |
Changed system for indicating man page title, section,
header and footer. Documented in README.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@745 788f1e2b-df1e-0410-8736-df70ead52e1b
Diffstat (limited to 'src/Text/Pandoc/Writers')
-rw-r--r-- | src/Text/Pandoc/Writers/Man.hs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/Text/Pandoc/Writers/Man.hs b/src/Text/Pandoc/Writers/Man.hs index f0cc3c707..318fb056a 100644 --- a/src/Text/Pandoc/Writers/Man.hs +++ b/src/Text/Pandoc/Writers/Man.hs @@ -69,15 +69,16 @@ metaToMan :: WriterOptions -- ^ Options, including Man header -> Meta -- ^ Meta with bibliographic information -> State WriterState (Doc, Doc) metaToMan options (Meta title authors date) = do - 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) + titleText <- inlineListToMan options title + let (cmdName, rest) = break (== ' ') $ render titleText + let (title', section) = case reverse cmdName of + (')':d:'(':xs) | d `elem` ['0'..'9'] -> + (text (reverse xs), text [d]) + xs -> (text (reverse xs), empty) + let extras = map (doubleQuotes . text . removeLeadingTrailingSpace) $ + splitBy '|' rest let head = (text ".TH") <+> title' <+> section <+> - doubleQuotes (text date) <+> hsep rest + doubleQuotes (text date) <+> hsep extras let foot = case length authors of 0 -> text $ "" 1 -> text $ ".SH AUTHOR\n" ++ joinWithSep ", " authors |