-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A static site generator -- -- A static site generator @package noli @version 0.1.1.0 module Noli.Types data Settings Settings :: Text -> Text -> FilePath -> FilePath -> FilePath -> Settings -- | The name of the site [name] :: Settings -> Text -- | The author's full name [author] :: Settings -> Text -- | The path to the folder that contains the markdown files [posts_location] :: Settings -> FilePath -- | The path to where the compiled static site will be saved [dist_location] :: Settings -> FilePath -- | The path to the static folder [static_location] :: Settings -> FilePath data Post Post :: Text -> FilePath -> Text -> Text -> Text -> Html () -> Post [title] :: Post -> Text [location] :: Post -> FilePath [filename] :: Post -> Text [raw] :: Post -> Text [raw_html] :: Post -> Text [compiled_html] :: Post -> Html () -- | The "dynamic" representation of the static site data Project Project :: [Post] -> [Page] -> Project [posts] :: Project -> [Post] [pages] :: Project -> [Page] data Page Page :: Text -> Html () -> Page [pagename] :: Page -> Text [template] :: Page -> Html () type PostTemplate = PostTitle -> PostBody -> Html () newtype FrontMatter FrontMatter :: Text -> FrontMatter [frontmatter_title] :: FrontMatter -> Text instance GHC.Show.Show Noli.Types.Post instance Data.Aeson.Types.ToJSON.ToJSON Noli.Types.FrontMatter instance GHC.Generics.Generic Noli.Types.FrontMatter instance GHC.Show.Show Noli.Types.FrontMatter instance Data.Aeson.Types.FromJSON.FromJSON Noli.Types.FrontMatter module Noli -- | Build the dynamic Project which works as a basis for the final -- static site. It takes three arguments and returns a compiled -- Project buildProject :: Settings -> [Page] -> PostTemplate -> IO Project -- | Build the final static site Takes two arguments and creates the files -- needed for the static site, saving them in the previously-set -- dist_location. buildSite :: Settings -> Project -> IO () -- | Compile the posts starting from the templates and the folder where the -- markdown files are. compilePosts :: PostTemplate -> FilePath -> IO [Post]