-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | The Simple Nice-Looking Manual Generator. -- -- snm allows you to write clean, web-friendly reports, user guides and -- manuals without having to edit fickle html. -- -- snm allows you to structure your document in a modular fashion. -- -- snm document sections are written in yaml and are easy to write and -- understand. -- -- snm is a generator of small, valid xhtml files. -- -- Read the snm manual online: -- http://www.killersmurf.com/static/snm_help.html @package snm @version 0.0.4 -- | The structure of a manual module Manual.Structure -- | A manual data Manual Manual :: Header -> CSS -> Contents -> ![Section] -> Manual -- | The manual's header file. header :: Manual -> Header -- | The style used in the manual. style :: Manual -> CSS -- | The manual's contents. mcontents :: Manual -> Contents -- | The sections of a manual. sections :: Manual -> ![Section] -- | A manual's header file data Header Header :: !Banner -> ![Banner] -> ![Paragraph] -> Header -- | The name of the manual mtitle :: Header -> !Banner -- | Banners banners :: Header -> ![Banner] -- | Preamble, not linked in the manual's contents. preamble :: Header -> ![Paragraph] -- | Contents listing data Contents Contents :: [Contents] -> Contents Entry :: [Int] -> String -> String -> Contents -- | Sections, subsections data Section Section :: [Int] -> Banner -> String -> ![Paragraph] -> ![Section] -> Section -- | The section's number. number :: Section -> [Int] -- | The title of the section title :: Section -> Banner -- | Unique name for this section unique :: Section -> String -- | The section text stext :: Section -> ![Paragraph] -- | Subsections subsections :: Section -> ![Section] -- | A banner for the top of the document data Banner Banner :: ![Inline] -> !String -> Banner btext :: Banner -> ![Inline] bclass :: Banner -> !String -- | A text paragraph data Paragraph Paragraph :: ![Inline] -> String -> Bool -> Paragraph -- | The paragraph text ptext :: Paragraph -> ![Inline] -- | The paragraph's class pclass :: Paragraph -> String -- | Wrap the text wrap :: Paragraph -> Bool -- | Inline document elements may be... data Inline -- | A text string IText :: String -> Inline -- | A link to another section ISectionLink :: String -> String -> Inline -- | The link text. ltext :: Inline -> String -- | The section number ldest :: Inline -> String -- | An external link. IExternLink :: String -> String -> Inline -- | The link text. ltext :: Inline -> String -- | The section number ldest :: Inline -> String -- | Literal text ILiteral :: String -> Inline pretty_nums :: [Int] -> ShowS -- | Create the manual's contents contents :: [Section] -> Contents instance Show Contents instance Show Section instance Show Manual instance Show Paragraph instance Show Inline instance Show Header instance Show Banner instance Pretty Header instance Pretty Paragraph instance Pretty Section instance Pretty Manual instance Pretty Contents instance Pretty Inline instance Pretty Banner module Manual.Emit.XHTML -- | Render the manual as XHTML and show as a string render_manual_xhtml :: Manual -> String instance HTML Banner instance HTML Paragraph instance HTML Section instance HTML Contents instance HTML Header instance HTML Manual -- | Emit manuals module Manual.Emit -- | Emit a manual as text emit_text :: Manual -> String -- | Emit a manual as rendered xhtml emit_xhtml :: Manual -> String -- | Simpler yaml interface module Data.Yaml.Simple -- | Things that can be encoded as YAML class Yamlable y from_yaml :: Yamlable y => Yaml -> IO y -- | Yaml data Yaml YMap :: (Map Yaml Yaml) -> Yaml YSeq :: [Yaml] -> Yaml YStr :: String -> Yaml YNil :: Yaml -- | Simplify Syck's yaml type simplify :: YamlNode -> Yaml -- | Parse yaml parse_yaml :: String -> IO Yaml -- | Parse yaml file parse_yaml_file :: FilePath -> IO Yaml -- | Look up a yaml element referenced by a string in a yaml map yookup :: String -> Yaml -> Maybe Yaml instance Show Yaml instance Eq Yaml instance Ord Yaml -- | Read a manual from its source files module Manual.Reader -- | Load a manual from a directory load_manual :: FilePath -> IO Manual -- | Load a section and all associated subsections. load_section :: FilePath -> IO Section instance Yamlable Header instance Yamlable Section instance Yamlable Paragraph instance Yamlable Banner -- | Read and output manuals module Manual.Easy -- | The output types data OutputType XHtml :: OutputType Text :: OutputType -- | Load a manual from a directory load_manual :: FilePath -> IO Manual -- | Write out a manual write_manual :: (Manual -> String) -> String -> Manual -> FilePath -> IO () -- | Write in a number of formats formats :: Map OutputType (Manual -> String, String) text_format :: (Manual -> String, String) xhtml_format :: (Manual -> String, String) instance Eq OutputType instance Ord OutputType