Add style palette module for later use
This commit is contained in:
parent
a5f6bf280b
commit
ab98930caa
2 changed files with 72 additions and 0 deletions
71
src/Style.hs
Normal file
71
src/Style.hs
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
{- This file is part of Vervis.
|
||||||
|
-
|
||||||
|
- Written in 2016 by fr33domlover <fr33domlover@riseup.net>.
|
||||||
|
-
|
||||||
|
- ♡ 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
|
||||||
|
- <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||||
|
-}
|
||||||
|
|
||||||
|
-- | 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
|
|
@ -46,6 +46,7 @@ library
|
||||||
Handler.Home
|
Handler.Home
|
||||||
Handler.Person
|
Handler.Person
|
||||||
Handler.Project
|
Handler.Project
|
||||||
|
Style
|
||||||
-- other-modules:
|
-- other-modules:
|
||||||
default-extensions: TemplateHaskell
|
default-extensions: TemplateHaskell
|
||||||
QuasiQuotes
|
QuasiQuotes
|
||||||
|
|
Loading…
Reference in a new issue