module Language.Ltml.HTML.CSS
(
writeCss
, mainStylesheet
) where
import Clay hiding (map)
import Data.Text.Lazy.IO (writeFile)
import Language.Ltml.HTML.CSS.Classes
import Language.Ltml.HTML.Common (EnumStyleMap)
import Language.Ltml.HTML.FormatString (buildCssCounters)
import Prelude hiding (writeFile)
writeCss :: Css -> FilePath -> IO ()
writeCss :: Css -> FilePath -> IO ()
writeCss Css
css FilePath
path = FilePath -> Text -> IO ()
writeFile FilePath
path (Css -> Text
render Css
css)
cssClasses :: [Css]
cssClasses :: [Css]
cssClasses = (Class -> Css) -> [Class] -> [Css]
forall a b. (a -> b) -> [a] -> [b]
map Class -> Css
classStyle [Class
forall a. Bounded a => a
minBound .. Class
forall a. Bounded a => a
maxBound]
mainStylesheet :: EnumStyleMap -> Css
mainStylesheet :: EnumStyleMap -> Css
mainStylesheet EnumStyleMap
enumStyleMap = [Css] -> Css
forall a. Monoid a => [a] -> a
mconcat [Css]
cssClasses Css -> Css -> Css
forall a. Semigroup a => a -> a -> a
<> EnumStyleMap -> Css
buildCssCounters EnumStyleMap
enumStyleMap