Lykah-0.0.1: A static website and blog generator

Safe HaskellNone
LanguageHaskell2010

Lykah.EHtml

Description

A writer monad that writes the assets needed for the current asset (internal monad) while producing the current asset's HTML (monad transformer)

Synopsis

Documentation

type EHtml self a = HtmlT (RWS (Env self) [Identifier] ()) a Source #

Html monad with inner Reader (See Env) and Writer Monad writing a list of identifiers of actually used assets

readWebsite :: (MonadReader (Env (b, b1)) m, MonadTrans t) => (b -> a) -> t m a Source #

readPathed :: (MonadReader (Env (a1, b)) m, MonadTrans t) => (b -> a) -> t m a Source #

readPage :: (MonadReader (Env (a1, Pathed b)) m, MonadTrans t) => (b -> a) -> t m a Source #

askPathed :: EHtml (a, b) b Source #

localEHtml :: (a -> b) -> EHtml b c -> EHtml a c Source #

renderEHtml Source #

Arguments

:: (env, Pathed a)

current env and current asset to be rendered

-> [Pathed ()]

All pathed entities that can be referenced

-> EHtml (env, Pathed a) () 
-> (Assets, [Identifier]) 

render the given EHtml to the given path

javascript' :: (Bl.ToValue a, Monad m) => a -> MarkupT m () Source #

stylesheet' :: (Bl.ToValue a, Monad m) => a -> MarkupT m () Source #

script' :: (Bl.ToMarkup a, Monad m) => a -> MarkupT m () Source #

title' :: (Bl.ToMarkup a, Monad m) => a -> MarkupT m () Source #

label' :: (Bl.ToMarkup a, Monad m) => a -> MarkupT m () Source #

video' :: (Bl.ToMarkup a, Monad m) => a -> MarkupT m () Source #

h1' :: (Bl.ToMarkup a, Monad m) => a -> MarkupT m () Source #

b' :: (Bl.ToMarkup a, Monad m) => a -> MarkupT m () Source #

a' :: (Bl.ToMarkup a, Monad m) => a -> MarkupT m () Source #

link' :: (Bl.ToValue h, Bl.ToMarkup t, Monad m) => h -> t -> MarkupT m () Source #

link :: Monad m => AttributeValue -> MarkupT m () -> MarkupT m () Source #

linkB' :: (Bl.ToValue h, Bl.ToMarkup t, Monad m) => h -> t -> MarkupT m () Source #

linkB :: Monad m => AttributeValue -> MarkupT m () -> MarkupT m () Source #

path' :: IDO a => a -> EHtml b FilePath Source #

autoLink' :: IDO a1 => a1 -> EHtml a () Source #

namedLinkF Source #

Arguments

:: Maybe String

Fragment

-> EHtml a () 
-> Identifier 
-> EHtml a () 

Link with given name and href from identifier plus optional fragment

namedLink :: EHtml a () -> Identifier -> EHtml a () Source #

namedLinkF' Source #

Arguments

:: IDO b 
=> String

Fragment

-> EHtml a () 
-> b 
-> EHtml a () 

namedLink' :: IDO b => EHtml a () -> b -> EHtml a () Source #

namedLinkB' :: IDO b => EHtml a () -> b -> EHtml a () Source #

autoLink :: Identifier -> EHtml a () Source #

creates a link with name from object

(!$) :: (Bl.ToValue a, Attributable h) => h -> a -> h Source #

(#) :: (ListLike full item, IsString full) => full -> full -> full Source #

append fragment

quote :: Monad m => MarkupT m () -> MarkupT m () Source #

lorem :: IsString t => [t] Source #

blank :: Attributable h => h -> h Source #