summaryrefslogtreecommitdiff
path: root/src/WWW/Css.hs
diff options
context:
space:
mode:
authorChris Wells <chris@mathematicaster.org>2024-12-04 13:23:40 -0600
committerChris Wells <chris@mathematicaster.org>2024-12-04 13:23:40 -0600
commitc9cc52175073c5e690ea7eb30aad23d0d1776435 (patch)
treea9fe3508fc60e3909ebe6a65dc77b44c367342d7 /src/WWW/Css.hs
parentd7be39cd8a16e22f6f8784fdae06c223df5864c1 (diff)
downloadassets-c9cc52175073c5e690ea7eb30aad23d0d1776435.tar
assets-c9cc52175073c5e690ea7eb30aad23d0d1776435.tar.gz
assets-c9cc52175073c5e690ea7eb30aad23d0d1776435.tar.bz2
assets-c9cc52175073c5e690ea7eb30aad23d0d1776435.tar.lz
assets-c9cc52175073c5e690ea7eb30aad23d0d1776435.tar.xz
assets-c9cc52175073c5e690ea7eb30aad23d0d1776435.tar.zst
assets-c9cc52175073c5e690ea7eb30aad23d0d1776435.zip
Trying to write css
Diffstat (limited to 'src/WWW/Css.hs')
-rw-r--r--src/WWW/Css.hs108
1 files changed, 108 insertions, 0 deletions
diff --git a/src/WWW/Css.hs b/src/WWW/Css.hs
new file mode 100644
index 0000000..164b2af
--- /dev/null
+++ b/src/WWW/Css.hs
@@ -0,0 +1,108 @@
+module WWW.Css where
+
+import Control.Monad
+import Clay
+import Clay.Flexbox qualified as F
+import Data.Text (Text)
+import Diagrams.Attributes (SomeColor)
+
+import WWW.Colors qualified as G
+
+
+
+colorVariables :: G.Gruvbox SomeColor -> Css
+colorVariables gb = do
+ "--html-bg" -: "test"
+
+rootColors :: Css
+rootColors = do
+ ":root[color-mode=light]" ? do
+ colorVariables G.gruvboxLightH
+ ":root[color-mode=dark]" ? do
+ colorVariables G.gruvboxDarkH
+
+general :: Css
+general = do
+ html ? do
+ fontFamily [ "Fira Sans" ] [ sansSerif ]
+ backgroundColor $ cvar "html-bg"
+ color $ cvar "fg"
+ margin (em 1) auto auto auto
+ body ? do
+ backgroundColor $ cvar "bg"
+ join4 margin auto
+ maxWidth (cm 30)
+ border (px 1) solid $ cvar "fg"
+ join4 padding $ em 1
+ a ? do
+ color $ cvar "href"
+ textDecoration underline
+ hover & do
+ color $ cvar "href-hover"
+ header ? do
+ padding nil nil nil nil
+ margin nil nil nil nil
+ fontSize $ em 1
+ fontWeight bold
+ textDecoration none
+ footer ? do
+ clear both
+ paddingTop $ px 10
+ paddingBottom $ px 15
+ fontWeight bold
+ hr ? do
+ borderTop (px 3) double $ cvar "hr"
+ borderBottomWidth 0
+ a ? do
+ textDecoration none
+ color $ cvar "footer-href"
+ a # hover ? do
+ textDecoration underline
+ color $ cvar "footer-href-hover"
+ code ? do
+ fontFamily [ "Fira Code" ] [ monospace ]
+ backgroundColor $ cvar "code-bg"
+ join4 padding $ px 2
+
+
+someClasses :: Css
+someClasses = do
+ ".pull-left" ? do
+ float floatLeft
+ ".pull-right" ? do
+ float floatRight
+
+menu :: Css
+menu = do
+ clear both
+ display block
+ "width" -: "100%"
+ margin 0 0 (em 1) 0
+ color $ cvar "bg"
+ backgroundColor $ cvar "fg"
+ "overflow" -: "hidden"
+ a ? do
+ display block
+ float floatLeft
+ padding (px 5) (px 10) (px 5) (px 10)
+ color $ cvar "bg"
+ a # hover ? do
+ color $ cvar "href-hover"
+
+
+
+
+-- helpers
+
+join3 :: Monad m => m (m (m a)) -> m a
+join3 = join . join
+
+join4 :: Monad m => m (m (m (m a))) -> m a
+join4 = join . join3
+
+cvar :: Text -> Color
+cvar n = Other $ value $ "var(--" <> n <> ")"
+-- root :: Css
+-- root = do
+-- ":root" ? do
+-- "--