From ab98930caa7efad104da38e256c987d40791f69d Mon Sep 17 00:00:00 2001 From: fr33domlover Date: Thu, 18 Feb 2016 13:36:25 +0000 Subject: [PATCH] Add style palette module for later use --- src/Style.hs | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ vervis.cabal | 1 + 2 files changed, 72 insertions(+) create mode 100644 src/Style.hs diff --git a/src/Style.hs b/src/Style.hs new file mode 100644 index 0000000..49253a7 --- /dev/null +++ b/src/Style.hs @@ -0,0 +1,71 @@ +{- This file is part of Vervis. + - + - Written in 2016 by fr33domlover . + - + - ♡ Copying is an act of love. Please copy, reuse and share. + - + - The author(s) have dedicated all copyright and related and neighboring + - rights to this software to the public domain worldwide. This software is + - distributed without any warranty. + - + - You should have received a copy of the CC0 Public Domain Dedication along + - with this software. If not, see + - . + -} + +-- | Style component palette for use in page templates, in particular Cassius +-- files. +module Style + ( -- * Types + Color () + , Hue () + -- * Plain Colors + , black + , white + -- * Color Hues + , red + , green + , yellow + , blue + , magenta + , cyan + , gray + -- * Hue to Color + , dark + , light + ) +where + +data Lightness = Light | Dark + +data Color + = Black + | Red Lightness + | Green Lightness + | Yellow Lightness + | Blue Lightness + | Magenta Lightness + | Cyan Lightness + | Gray Lightness + | White + +newtype Hue = Hue (Lightness -> Color) + +black, white :: Color +black = Black +white = White + +red, green, yellow, blue, magenta, cyan, gray :: Hue +red = Hue Red +green = Hue Green +yellow = Hue Yellow +blue = Hue Blue +magenta = Hue Magenta +cyan = Hue Cyan +gray = Hue Gray + +dark :: Hue -> Color +dark (Hue h) = h Dark + +light :: Hue -> Color +light (Hue h) = h Light diff --git a/vervis.cabal b/vervis.cabal index 7931581..6c8098f 100644 --- a/vervis.cabal +++ b/vervis.cabal @@ -46,6 +46,7 @@ library Handler.Home Handler.Person Handler.Project + Style -- other-modules: default-extensions: TemplateHaskell QuasiQuotes