Define colors in dedicated Vervis.Palette module
This commit is contained in:
parent
c7de6119ab
commit
386d499a61
3 changed files with 90 additions and 19 deletions
68
src/Vervis/Palette.hs
Normal file
68
src/Vervis/Palette.hs
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
{- 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/>.
|
||||||
|
-}
|
||||||
|
|
||||||
|
-- | Colors to use in UI. Syntax highlighting, diagrams, CSS and so on.
|
||||||
|
-- Currently the 16 Tango colors are being used here.
|
||||||
|
module Vervis.Palette
|
||||||
|
( black
|
||||||
|
, white
|
||||||
|
, plain
|
||||||
|
, darkRed
|
||||||
|
, darkGreen
|
||||||
|
, darkYellow
|
||||||
|
, darkBlue
|
||||||
|
, darkMagenta
|
||||||
|
, darkCyan
|
||||||
|
, darkGray
|
||||||
|
, lightRed
|
||||||
|
, lightGreen
|
||||||
|
, lightYellow
|
||||||
|
, lightBlue
|
||||||
|
, lightMagenta
|
||||||
|
, lightCyan
|
||||||
|
, lightGray
|
||||||
|
)
|
||||||
|
where
|
||||||
|
|
||||||
|
import Prelude
|
||||||
|
|
||||||
|
import Data.Word (Word8)
|
||||||
|
|
||||||
|
type RGB = (Word8, Word8, Word8)
|
||||||
|
|
||||||
|
black, white, plain :: RGB
|
||||||
|
black = (0x00, 0x00, 0x00)
|
||||||
|
white = (0xEE, 0xEE, 0xEC)
|
||||||
|
plain = (0xCC, 0xCC, 0xCC)
|
||||||
|
|
||||||
|
darkRed, darkGreen, darkYellow, darkBlue, darkMagenta, darkCyan, darkGray
|
||||||
|
:: RGB
|
||||||
|
darkRed = (0xCC, 0x00, 0x00)
|
||||||
|
darkGreen = (0x4E, 0x9A, 0x06)
|
||||||
|
darkYellow = (0xC4, 0xA0, 0x00)
|
||||||
|
darkBlue = (0x34, 0x65, 0xA4)
|
||||||
|
darkMagenta = (0x75, 0x50, 0x7B)
|
||||||
|
darkCyan = (0x06, 0x98, 0x9A)
|
||||||
|
darkGray = (0x55, 0x57, 0x53)
|
||||||
|
|
||||||
|
lightRed, lightGreen, lightYellow, lightBlue :: RGB
|
||||||
|
lightMagenta, lightCyan, lightGray :: RGB
|
||||||
|
lightRed = (0xEF, 0x29, 0x29)
|
||||||
|
lightGreen = (0x8A, 0xE2, 0x34)
|
||||||
|
lightYellow = (0xFC, 0xE9, 0x4F)
|
||||||
|
lightBlue = (0x73, 0x9F, 0xCF)
|
||||||
|
lightMagenta = (0xAD, 0x7F, 0xA8)
|
||||||
|
lightCyan = (0x34, 0xE2, 0xE2)
|
||||||
|
lightGray = (0xD3, 0xD7, 0xCF)
|
|
@ -43,6 +43,8 @@ import Text.Cassius (ToCss (..))
|
||||||
|
|
||||||
import qualified Text.Cassius as C (Color (Color))
|
import qualified Text.Cassius as C (Color (Color))
|
||||||
|
|
||||||
|
import qualified Vervis.Palette as P
|
||||||
|
|
||||||
data Lightness = Light | Dark
|
data Lightness = Light | Dark
|
||||||
|
|
||||||
data Color
|
data Color
|
||||||
|
@ -59,25 +61,25 @@ data Color
|
||||||
|
|
||||||
instance ToCss Color where
|
instance ToCss Color where
|
||||||
toCss col =
|
toCss col =
|
||||||
let c r g b = toCss $ C.Color r g b
|
let c (r, g, b) = toCss $ C.Color r g b
|
||||||
in case col of
|
in c $ case col of
|
||||||
Black -> c 0x00 0x00 0x00
|
Black -> P.black
|
||||||
Red Dark -> c 0xCC 0x00 0x00
|
Red Dark -> P.darkRed
|
||||||
Red Light -> c 0xEF 0x29 0x29
|
Red Light -> P.lightRed
|
||||||
Green Dark -> c 0x4E 0x9A 0x06
|
Green Dark -> P.darkGreen
|
||||||
Green Light -> c 0x8A 0xE2 0x34
|
Green Light -> P.lightGreen
|
||||||
Yellow Dark -> c 0xC4 0xA0 0x00
|
Yellow Dark -> P.darkYellow
|
||||||
Yellow Light -> c 0xFC 0xE9 0x4F
|
Yellow Light -> P.lightYellow
|
||||||
Blue Dark -> c 0x34 0x65 0xA4
|
Blue Dark -> P.darkBlue
|
||||||
Blue Light -> c 0x73 0x9F 0xCF
|
Blue Light -> P.lightBlue
|
||||||
Magenta Dark -> c 0x75 0x50 0x7B
|
Magenta Dark -> P.darkMagenta
|
||||||
Magenta Light -> c 0xAD 0x7F 0xA8
|
Magenta Light -> P.lightMagenta
|
||||||
Cyan Dark -> c 0x06 0x98 0x9A
|
Cyan Dark -> P.darkCyan
|
||||||
Cyan Light -> c 0x34 0xE2 0xE2
|
Cyan Light -> P.lightCyan
|
||||||
Gray Dark -> c 0x55 0x57 0x53
|
Gray Dark -> P.darkGray
|
||||||
Gray Light -> c 0xD3 0xD7 0xCF
|
Gray Light -> P.lightGray
|
||||||
White -> c 0xEE 0xEE 0xEC
|
White -> P.white
|
||||||
PlainText -> c 0xCC 0xCC 0xCC
|
PlainText -> P.plain
|
||||||
|
|
||||||
newtype Hue = Hue (Lightness -> Color)
|
newtype Hue = Hue (Lightness -> Color)
|
||||||
|
|
||||||
|
|
|
@ -131,6 +131,7 @@ library
|
||||||
Vervis.Model.Repo
|
Vervis.Model.Repo
|
||||||
Vervis.Model.Role
|
Vervis.Model.Role
|
||||||
Vervis.Paginate
|
Vervis.Paginate
|
||||||
|
Vervis.Palette
|
||||||
Vervis.Path
|
Vervis.Path
|
||||||
Vervis.Query
|
Vervis.Query
|
||||||
Vervis.Readme
|
Vervis.Readme
|
||||||
|
|
Loading…
Reference in a new issue