module Noli.Types (Settings (..), Post (..), Project (..), Page (..), PostTemplate) where
import Data.Text
import Lucid.Base
data Project = Project
{ posts :: [Post],
pages :: [Page]
}
data Settings = Settings
{
name :: Text,
author :: Text,
posts_location :: FilePath,
dist_location :: FilePath,
static_location :: FilePath
}
data Post = Post
{ title :: Text,
location :: FilePath,
filename :: Text,
raw :: Text,
raw_html :: Text,
compiled_html :: Html ()
}
deriving (Show)
data Page = Page {pagename :: Text, template :: Html ()}
type PostTitle = Text
type PostBody = Text
type PostTemplate = PostTitle -> PostBody -> Html ()