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
0 commit comments