-- 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]