Skip to content

Commit 9a1ecfd

Browse files
feat: use Clay, the pure Haskell CSS preprocessor
Signed-off-by: Tsung-Ju Lii <usefulalgorithm@gmail.com>
1 parent 30f2a9b commit 9a1ecfd

File tree

9 files changed

+468
-259
lines changed

9 files changed

+468
-259
lines changed

css/Default.hs

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
{-# LANGUAGE OverloadedStrings #-}
2+
3+
module Default (defaultCss) where
4+
import Prelude hiding (rem)
5+
6+
import Clay
7+
import Clay.Media (maxWidth, minWidth)
8+
9+
defaultCss :: Css
10+
defaultCss = do
11+
html ? do
12+
fontSize (pct 62.5)
13+
fontFamily ["Source Sans Pro", "Noto Sans TC"] [sansSerif]
14+
15+
body ? do
16+
fontSize (rem 1.6)
17+
color black
18+
backgroundColor "#F5F5F5"
19+
20+
code ? do
21+
padding (px 0) (px 0.2) (px 0) (px 0)
22+
fontFamily ["Roboto Mono"] [monospace]
23+
24+
header ? borderBottom (rem 0.2) solid black
25+
26+
nav ? textAlign (alignSide sideRight)
27+
28+
nav |> a ? do
29+
fontSize (rem 1.8)
30+
fontWeight bold
31+
color black
32+
textDecoration none
33+
textTransform uppercase
34+
35+
".contacts" |> a ? do
36+
display inlineBlock
37+
marginTop (rem 2.4)
38+
padding (px 0.2) (px 0.2) (px 0.2) (px 0.2)
39+
fontSize (rem 2.4)
40+
color "#555"
41+
textDecoration none
42+
43+
footer ? do
44+
borderTop (px 0.2) solid black
45+
padding (rem 1.2) (px 0) (px 0) (px 0)
46+
fontSize (rem 1.2)
47+
color "#555"
48+
49+
img ? do
50+
display block
51+
marginLeft auto
52+
marginRight auto
53+
54+
h1 ? fontSize (rem 2.4)
55+
56+
h2 ? do
57+
borderTop (px 1) solid "#E6E6E6"
58+
paddingTop (px 20)
59+
fontSize (rem 2)
60+
61+
h3 ? do
62+
textAlign (alignSide sideLeft)
63+
64+
"article .header" ? do
65+
fontSize (rem 1.4)
66+
fontStyle italic
67+
color "#555"
68+
69+
".logo" |> a ? do
70+
fontWeight bold
71+
color black
72+
textDecoration none
73+
74+
query Clay.all [Clay.Media.maxWidth (px 359)] $ do
75+
body ? do
76+
width $ pct 90
77+
margin auto auto auto auto
78+
paddingTop $ px 0
79+
paddingRight $ pct 5
80+
paddingBottom $ px 0
81+
paddingLeft $ px 0
82+
header ? margin (rem 4.2) (px 0) (px 0) (px 0)
83+
nav ? do
84+
margin (px 0) auto (rem 3) (px 0)
85+
textAlign center
86+
footer ? textAlign center
87+
".logo" ? do
88+
textAlign center
89+
margin (rem 1) auto (rem 3) (px 0)
90+
".logo" |> a ? fontSize (rem 2.4)
91+
nav |> a ? do
92+
display block
93+
lineHeight (rem 1.6)
94+
img ? do
95+
border (px 20) solid none
96+
width (px 200)
97+
98+
query Clay.all [Clay.Media.minWidth (px 360)] $ do
99+
body ? do
100+
width $ pct 90
101+
margin auto auto auto auto
102+
paddingTop $ px 0
103+
paddingRight $ pct 5
104+
paddingBottom $ px 0
105+
paddingLeft $ px 0
106+
header ? margin (rem 4.2) (px 0) (px 0) (px 0)
107+
nav ? do
108+
margin (px 0) auto (rem 3) (px 0)
109+
textAlign center
110+
footer ? textAlign center
111+
".logo" ? do
112+
textAlign center
113+
margin (rem 1) auto (rem 3) (px 0)
114+
".logo" |> a ? fontSize (rem 2.4)
115+
nav |> a ? do
116+
display inline
117+
margin (px 0) (rem 0.6) (px 0) (px 0)
118+
img ? do
119+
border (px 40) solid none
120+
width (px 320)
121+
122+
query Clay.all [Clay.Media.minWidth (px 640)] $ do
123+
body ? do
124+
width (pct 60)
125+
margin auto auto auto auto
126+
padding (px 0) (px 0) (px 0) (px 0)
127+
header ? do
128+
margin (px 0) (px 0) (rem 3) (px 0)
129+
padding (rem 1.2) (px 0) (rem 1.2) (px 0)
130+
nav ? do
131+
margin (px 0) (px 0) (px 0) (px 0)
132+
textAlign (alignSide sideRight)
133+
nav |> a ? do
134+
margin (px 0) (px 0) (px 0) (rem 1.2)
135+
display inline
136+
footer ? textAlign (alignSide sideRight)
137+
img ? do
138+
border (px 40) solid none
139+
width (px 320)
140+
"figcaption" ? do
141+
textAlign center
142+
marginTop (px 18)
143+
".logo" ? do
144+
margin (px 0) (px 0) (px 0) (px 0)
145+
textAlign (alignSide sideLeft)
146+
".logo" |> a ? do
147+
float floatLeft
148+
fontSize (rem 1.8)
149+
".comments" ? do
150+
paddingTop (px 5)
151+
borderTop (px 2) solid black
152+
marginTop (px 60)
153+
154+
main :: IO ()
155+
main = putCss defaultCss

css/default.css

Lines changed: 0 additions & 190 deletions
This file was deleted.

0 commit comments

Comments
 (0)