mai 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +39 -2
- data/lib/mai/version.rb +1 -1
- data/sass/_mai.sass +2 -3
- data/sass/mai/_base.sass +3 -0
- data/sass/mai/_config.sass +5 -0
- data/sass/mai/_media.sass +2 -0
- data/sass/mai/_modules.sass +2 -0
- data/sass/mai/_utils.sass +10 -0
- data/sass/{modules/_type.sass → mai/base/_base.sass} +86 -22
- data/sass/mai/base/_helpers.sass +17 -0
- data/sass/mai/config/_base.sass +143 -0
- data/sass/mai/config/_colors.sass +17 -0
- data/sass/{config → mai/config}/_global.sass +1 -7
- data/sass/{config → mai/config}/_grid.sass +1 -1
- data/sass/{config → mai/config}/_media.sass +0 -0
- data/sass/{modules → mai}/media/_print.sass +4 -7
- data/sass/mai/modules/_grid.sass +6 -0
- data/sass/{modules → mai/modules}/grid/_base.sass +6 -9
- data/sass/{modules → mai/modules}/grid/_functions.sass +0 -0
- data/sass/mai/modules/grid/_media.sass +2 -0
- data/sass/{modules → mai/modules}/grid/media/_base.sass +2 -1
- data/sass/mai/themes/_pinky.sass +2 -0
- data/sass/mai/themes/pinky/_colors.sass +5 -0
- data/sass/{utils → mai/utils}/_context.sass +1 -2
- data/sass/mai/utils/_global.sass +10 -0
- data/sass/{utils → mai/utils}/_media.sass +5 -2
- data/sass/mai/utils/_mobile.sass +10 -0
- data/sass/mai/utils/_rgba.sass +18 -0
- data/sass/{utils → mai/utils}/_ui.sass +9 -0
- data/templates/project/index.html +142 -0
- data/templates/project/manifest.rb +3 -0
- data/templates/project/sass/master.sass +47 -2
- metadata +29 -27
- data/sass/_config.sass +0 -6
- data/sass/_modules.sass +0 -6
- data/sass/_utils.sass +0 -2
- data/sass/config/_type.sass +0 -84
- data/sass/config/_ui.sass +0 -30
- data/sass/modules/_grid.sass +0 -6
- data/sass/modules/_helpers.sass +0 -18
- data/sass/modules/_media.sass +0 -2
- data/sass/modules/_ui.sass +0 -8
- data/sass/modules/grid/_media.sass +0 -142
- data/sass/modules/ui/_forms.sass +0 -51
- data/sass/modules/ui/_tables.sass +0 -4
- data/sass/utils/_global.sass +0 -8
- data/sass/utils/_rgba.sass +0 -20
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NGM3MGQyMjA2MzA5OWQyNWYyOGVhZDhhYzM0NTI3OGM4NzAxMTZjMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MTc1ODc1MjgxMzMwMTEwNGE3YWIzZWVhYzFiNGFlNjNiNWQ1NTQ4Zg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NjRjZTY1YTg1YjI4NzAwYWZjOTA3OWQ4ZWJiNjVlM2FlMWM0MDVjOGQ0ZTQ4
|
10
|
+
YjE0MDBkMGRhZGI0ZWI0NmNjODY3MDA4MmNhZDY5MTA1NzhhYTQ2YWMxYjRl
|
11
|
+
YzViYTFjNTdiZjI3NWQ5Y2RiNmIwNzg1OWFiOTdjNjhkZGZhMDg=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZjBiZWIyZWUwODRiOTRmZDhkYTE3MWEzZWQ1ZTJlMTk5N2NjMTQ5Njc5ODU0
|
14
|
+
NTBiY2Y0MGMzZWZlZDllYTM2M2RhYzJmNDVjODdjODc1Mzg5MDI3NDU5ZTFl
|
15
|
+
OWQzMTdhMTBmNTIzNDllMGVkMTg2ZTE4OTczZTUwZDBhYzNjNzY=
|
data/README.md
CHANGED
@@ -5,6 +5,43 @@ Mai is a baseline CSS framework written in SASS. Its main purpose is to provide
|
|
5
5
|
a responsive grid (which is currently a nearly-copy-paste of Foundation 3's grid) and some sane typographical defaults
|
6
6
|
at its core, while all other functionality will be made available as optional plugins/widgets.
|
7
7
|
|
8
|
+
In development (read: unusable)
|
9
|
+
=====================
|
10
|
+
|
8
11
|
It is currently in its **design** phase and therefore considered **unusable**. We have used its past iterations
|
9
|
-
internally for numerous projects
|
10
|
-
extensible to make it somewhat compatible with either Foundation or Bootstrap (tbd).
|
12
|
+
internally for numerous projects but are in the process of restructuring it to be more modular and
|
13
|
+
extensible to make it somewhat compatible with either Foundation or Bootstrap (tbd).
|
14
|
+
|
15
|
+
You've been warned.
|
16
|
+
|
17
|
+
Installation
|
18
|
+
=====================
|
19
|
+
|
20
|
+
Mai is available as a Compass plugin.
|
21
|
+
|
22
|
+
Grab it with:
|
23
|
+
|
24
|
+
gem install mai
|
25
|
+
|
26
|
+
Require it by adding the respective line to your Compass config (`config.rb` or whatever you use):
|
27
|
+
|
28
|
+
require 'mai'
|
29
|
+
|
30
|
+
And install it as a Compass plugin (at the command line):
|
31
|
+
|
32
|
+
compass install mai
|
33
|
+
|
34
|
+
|
35
|
+
This will yield a `master.sass` file in your configured sass_dir with an example and some documentation on how to import
|
36
|
+
Mai and its modules. An `index.html` file referencing the built `master.css` file (ie. with a preview of what the example
|
37
|
+
`master.sass` generates) will also be generated in your project's root directory.
|
38
|
+
|
39
|
+
Design principles
|
40
|
+
=====================
|
41
|
+
|
42
|
+
- Mobile first;
|
43
|
+
- End-user first, designer second (1kb of additional data per request, stretched over thousands/millions of requests is
|
44
|
+
a lot compared to forcing the designer to spend a few extra seconds to import only what's really needed);
|
45
|
+
- Provide the kitchen sink but hide it in a maze so that it's available only when absolutely required;
|
46
|
+
- Make it flexible, easy to configure and easy to override. When an !important is required within your final stylesheet
|
47
|
+
in order to override Mai, it means we suck;
|
data/lib/mai/version.rb
CHANGED
data/sass/_mai.sass
CHANGED
data/sass/mai/_base.sass
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
|
2
|
+
@import utils/global
|
3
|
+
@import utils/context
|
4
|
+
@import utils/media
|
5
|
+
@import utils/mobile
|
6
|
+
@import utils/ui
|
7
|
+
|
8
|
+
/* Do this import if you've got the 'rgbapng' gem installed and want to be able to create rgba backgrounds with
|
9
|
+
fallbacks for browsers which don't support rgba:
|
10
|
+
// @import utils/rgba
|
@@ -1,22 +1,12 @@
|
|
1
1
|
|
2
2
|
/* Requires
|
3
|
-
/* - Configs: global,
|
3
|
+
/* - Configs: global, base
|
4
4
|
|
5
|
-
|
6
|
-
/* Mixins
|
5
|
+
/* Placeholders
|
7
6
|
----------------------------------------------------------------------------------------------------------------------
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
margin: 0 auto $m-type-p-margin-bottom auto
|
12
|
-
margin-#{$m-global-float-base}: $m-global-margin-size
|
13
|
-
margin-#{$m-global-float-opposite}: 0
|
14
|
-
padding: 0
|
15
|
-
list-style: none
|
16
|
-
overflow: hidden
|
17
|
-
li
|
18
|
-
margin-#{$m-global-float-base}: $m-global-margin-size
|
19
|
-
display: inline
|
8
|
+
%lead
|
9
|
+
font-size: $m-type-lead-font-size
|
20
10
|
|
21
11
|
|
22
12
|
/* Reset
|
@@ -37,10 +27,14 @@ html
|
|
37
27
|
body
|
38
28
|
margin: 0
|
39
29
|
padding: 0
|
40
|
-
|
41
|
-
|
42
|
-
font-
|
43
|
-
|
30
|
+
background: $m-body-background-color
|
31
|
+
color: $m-body-font-color
|
32
|
+
font-family: $m-body-font-family
|
33
|
+
font-size: $m-body-font-size
|
34
|
+
line-height: $m-body-line-height
|
35
|
+
|
36
|
+
html, body
|
37
|
+
height: 100%
|
44
38
|
|
45
39
|
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary
|
46
40
|
display: block
|
@@ -56,27 +50,35 @@ audio:not([controls])
|
|
56
50
|
height: 0
|
57
51
|
|
58
52
|
p
|
59
|
-
line-height: $m-type-p-line-height
|
60
53
|
margin-bottom: $m-type-p-margin-bottom
|
54
|
+
line-height: $m-type-p-line-height
|
55
|
+
&.lead
|
56
|
+
@extend %lead
|
61
57
|
|
62
58
|
aside
|
63
59
|
font-size: $m-type-aside-font-size
|
60
|
+
margin-bottom: $m-type-aside-margin-bottom
|
64
61
|
|
65
62
|
blockquote
|
66
63
|
margin: 0 0 $m-type-p-margin-bottom
|
67
64
|
padding: $m-type-blockquote-padding
|
68
65
|
border-#{$m-global-float-base}: $m-type-blockquote-border
|
69
|
-
color: $m-type-blockquote-font-color
|
70
66
|
p:last-child
|
71
67
|
margin-bottom: 0
|
72
68
|
cite
|
69
|
+
display: block
|
73
70
|
font-size: $m-type-blockquote-cite-font-size
|
71
|
+
font-style: $m-type-blockquote-cite-font-style
|
74
72
|
color: $m-type-blockquote-cite-font-color
|
75
73
|
&:before
|
76
74
|
content: "\2014 \0020"
|
77
75
|
a
|
78
76
|
color: $m-type-blockquote-cite-a-color
|
79
77
|
|
78
|
+
blockquote, blockquote p
|
79
|
+
line-height: $m-type-p-line-height
|
80
|
+
color: $m-type-blockquote-font-color
|
81
|
+
|
80
82
|
em, i, dfn
|
81
83
|
font-style: italic
|
82
84
|
|
@@ -177,9 +179,9 @@ a
|
|
177
179
|
|
178
180
|
ul, ol, dl
|
179
181
|
margin-bottom: $m-type-list-margin-bottom
|
182
|
+
line-height: $m-type-list-line-height
|
180
183
|
|
181
184
|
ul, ol
|
182
|
-
line-height: $m-type-list-line-height
|
183
185
|
margin-#{$m-global-float-base}: $m-type-list-margin-side
|
184
186
|
li
|
185
187
|
ul, ol
|
@@ -212,4 +214,66 @@ dl
|
|
212
214
|
|
213
215
|
img
|
214
216
|
display: inline-block
|
215
|
-
vertical-align: middle
|
217
|
+
vertical-align: middle
|
218
|
+
|
219
|
+
/* Forms
|
220
|
+
----------------------------------------------------------------------------------------------------------------------
|
221
|
+
|
222
|
+
fieldset
|
223
|
+
border: $m-ui-border-default
|
224
|
+
margin: 0 2px
|
225
|
+
padding: 0.35em 0.625em 0.75em
|
226
|
+
|
227
|
+
legend
|
228
|
+
border: 0
|
229
|
+
padding: 0
|
230
|
+
|
231
|
+
button, input, select, textarea
|
232
|
+
font-family: inherit
|
233
|
+
font-size: 100%
|
234
|
+
margin: 0
|
235
|
+
|
236
|
+
button, input
|
237
|
+
line-height: normal
|
238
|
+
|
239
|
+
button, select
|
240
|
+
text-transform: none
|
241
|
+
|
242
|
+
button, html input[type="button"], input[type="reset"], input[type="submit"]
|
243
|
+
-webkit-appearance: button
|
244
|
+
cursor: pointer
|
245
|
+
|
246
|
+
button[disabled], html input[disabled]
|
247
|
+
cursor: default
|
248
|
+
|
249
|
+
input[type="checkbox"], input[type="radio"]
|
250
|
+
box-sizing: border-box
|
251
|
+
padding: 0
|
252
|
+
|
253
|
+
input[type="search"]
|
254
|
+
-webkit-appearance: textfield
|
255
|
+
+box-sizing
|
256
|
+
|
257
|
+
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration
|
258
|
+
-webkit-appearance: none
|
259
|
+
|
260
|
+
button::-moz-focus-inner, input::-moz-focus-inner
|
261
|
+
border: 0
|
262
|
+
padding: 0
|
263
|
+
|
264
|
+
textarea
|
265
|
+
overflow: auto
|
266
|
+
vertical-align: top
|
267
|
+
height: auto
|
268
|
+
min-height: 50px
|
269
|
+
|
270
|
+
select
|
271
|
+
width: 100%
|
272
|
+
|
273
|
+
|
274
|
+
/* Tables
|
275
|
+
----------------------------------------------------------------------------------------------------------------------
|
276
|
+
|
277
|
+
table
|
278
|
+
border-collapse: collapse
|
279
|
+
border-spacing: 0
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
/* Helpers
|
3
|
+
----------------------------------------------------------------------------------------------------------------------
|
4
|
+
|
5
|
+
.left
|
6
|
+
float: left
|
7
|
+
|
8
|
+
.right
|
9
|
+
float: right
|
10
|
+
|
11
|
+
.hide
|
12
|
+
display: none
|
13
|
+
|
14
|
+
// Note: Not within mai/media/print to ensure this class works properly even if media/print is not inlined but loaded
|
15
|
+
// as a separate stylesheet with a different meta media attribute.
|
16
|
+
.print-only
|
17
|
+
display: none !important
|
@@ -0,0 +1,143 @@
|
|
1
|
+
|
2
|
+
@import global
|
3
|
+
|
4
|
+
/* BASE USER INTERFACE
|
5
|
+
|
6
|
+
/*----------------------------------------------------------------------------------------------------------------------
|
7
|
+
Borders
|
8
|
+
----------------------------------------------------------------------------------------------------------------------
|
9
|
+
Base variables
|
10
|
+
|
11
|
+
$m-ui-border-size-default: 1px !default
|
12
|
+
$m-ui-border-style-default: solid !default
|
13
|
+
$m-ui-border-color-default: #eee !default
|
14
|
+
$m-ui-border-default: $m-ui-border-size-default $m-ui-border-style-default $m-ui-border-color-default !default
|
15
|
+
|
16
|
+
// Radius
|
17
|
+
$m-ui-border-radius-small: 5px !default
|
18
|
+
$m-ui-border-radius-medium: 2*$m-ui-border-radius-small !default
|
19
|
+
$m-ui-border-radius-big: 2*$m-ui-border-radius-medium !default
|
20
|
+
|
21
|
+
/* Mixins
|
22
|
+
----------------------------------------------------------------------------------------------------------------------
|
23
|
+
|
24
|
+
// Borders
|
25
|
+
=m-ui-border-default
|
26
|
+
border: $m-ui-border-default
|
27
|
+
|
28
|
+
=m-ui-border-radius($size: 'small')
|
29
|
+
@if $size == 'big'
|
30
|
+
+border-radius($m-ui-border-radius-big)
|
31
|
+
@else if $size == 'medium'
|
32
|
+
+border-radius($m-ui-border-radius-medium)
|
33
|
+
@else
|
34
|
+
+border-radius($m-ui-border-radius-small)
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
/*----------------------------------------------------------------------------------------------------------------------
|
39
|
+
Type
|
40
|
+
----------------------------------------------------------------------------------------------------------------------
|
41
|
+
Base variables
|
42
|
+
|
43
|
+
$m-body-font-size: 100% !default
|
44
|
+
$m-body-font-family: sans-serif !default
|
45
|
+
$m-body-font-color: $m-color-foreground !default
|
46
|
+
$m-body-background-color: $m-color-background !default
|
47
|
+
$m-body-line-height: 150% !default
|
48
|
+
|
49
|
+
|
50
|
+
/* Colors
|
51
|
+
----------------------------------------------------------------------------------------------------------------------
|
52
|
+
|
53
|
+
$m-type-text-color-blur: $m-color-blur !default
|
54
|
+
$m-type-text-color-blur-more: $m-color-blur-more !default
|
55
|
+
|
56
|
+
$m-type-text-color-highlight: $m-color-highlight !default
|
57
|
+
$m-type-text-color-highlight-less: $m-color-highlight-less !default
|
58
|
+
|
59
|
+
|
60
|
+
/* Links
|
61
|
+
----------------------------------------------------------------------------------------------------------------------
|
62
|
+
|
63
|
+
$m-type-a-color-base: $m-type-text-color-highlight !default
|
64
|
+
$m-type-a-color-hover: $m-type-text-color-highlight-less !default
|
65
|
+
$m-type-a-text-decoration: none !default
|
66
|
+
|
67
|
+
|
68
|
+
/* Headers
|
69
|
+
----------------------------------------------------------------------------------------------------------------------
|
70
|
+
|
71
|
+
$m-type-h-line-height: 150% !default
|
72
|
+
$m-type-h-margin: 0 0 .4em !default
|
73
|
+
|
74
|
+
$m-type-h1-font-size: em(34px) !default
|
75
|
+
$m-type-h2-font-size: em(28px) !default
|
76
|
+
$m-type-h3-font-size: em(24px) !default
|
77
|
+
$m-type-h4-font-size: em(20px) !default
|
78
|
+
$m-type-h5-font-size: em(18px) !default
|
79
|
+
$m-type-h6-font-size: em(16px) !default
|
80
|
+
|
81
|
+
|
82
|
+
/* Paragraphs
|
83
|
+
----------------------------------------------------------------------------------------------------------------------
|
84
|
+
|
85
|
+
$m-type-p-line-height: 180% !default
|
86
|
+
$m-type-p-margin-bottom: em(20px) !default
|
87
|
+
|
88
|
+
|
89
|
+
/* Lists
|
90
|
+
----------------------------------------------------------------------------------------------------------------------
|
91
|
+
|
92
|
+
$m-type-list-margin-side: $m-global-margin-size * 2 !default
|
93
|
+
$m-type-list-margin-bottom: $m-type-p-margin-bottom !default
|
94
|
+
$m-type-list-line-height: $m-type-p-line-height !default
|
95
|
+
|
96
|
+
|
97
|
+
/* Placeholders
|
98
|
+
----------------------------------------------------------------------------------------------------------------------
|
99
|
+
|
100
|
+
$m-type-lead-font-size: em(22px) !default
|
101
|
+
|
102
|
+
|
103
|
+
/* Minor elements
|
104
|
+
----------------------------------------------------------------------------------------------------------------------
|
105
|
+
|
106
|
+
// <small>
|
107
|
+
$m-type-small-font-size: 60% !default
|
108
|
+
|
109
|
+
// <small> in headers
|
110
|
+
$m-type-h-small-font-color: $m-type-text-color-blur-more !default
|
111
|
+
|
112
|
+
// <aside>
|
113
|
+
$m-type-aside-margin-bottom: $m-type-p-margin-bottom !default
|
114
|
+
$m-type-aside-font-size: em(14px) !default
|
115
|
+
|
116
|
+
// <hr>
|
117
|
+
$m-type-hr-border: $m-ui-border-default !default
|
118
|
+
$m-type-hr-margin: $m-global-margin-size 0 !default
|
119
|
+
|
120
|
+
// <blockquote> and <cite> within <blockquote>
|
121
|
+
$m-type-blockquote-font-color: $m-type-text-color-blur !default
|
122
|
+
$m-type-blockquote-padding: $m-global-margin-size / 2 $m-global-margin-size !default
|
123
|
+
$m-type-blockquote-border: 3px $m-ui-border-style-default $m-ui-border-color-default !default
|
124
|
+
$m-type-blockquote-cite-font-size: em(14px) !default
|
125
|
+
$m-type-blockquote-cite-font-style: normal !default
|
126
|
+
$m-type-blockquote-cite-font-color: $m-type-text-color-blur-more !default
|
127
|
+
$m-type-blockquote-cite-a-color: $m-type-blockquote-cite-font-color !default
|
128
|
+
|
129
|
+
|
130
|
+
/* Mixins
|
131
|
+
----------------------------------------------------------------------------------------------------------------------
|
132
|
+
|
133
|
+
// Lists
|
134
|
+
@mixin m-type-list-inline
|
135
|
+
margin: 0 auto $m-type-p-margin-bottom auto
|
136
|
+
margin-#{$m-global-float-base}: $m-global-margin-size
|
137
|
+
margin-#{$m-global-float-opposite}: 0
|
138
|
+
padding: 0
|
139
|
+
list-style: none
|
140
|
+
overflow: hidden
|
141
|
+
li
|
142
|
+
margin-#{$m-global-float-base}: $m-global-margin-size
|
143
|
+
display: inline
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
/* Default colors
|
3
|
+
----------------------------------------------------------------------------------------------------------------------
|
4
|
+
|
5
|
+
$m-color-foreground: #222 !default
|
6
|
+
$m-color-background: white !default
|
7
|
+
|
8
|
+
$m-color-blur: lighten($m-color-foreground, 30%) !default
|
9
|
+
$m-color-blur-less: darken($m-color-blur, 15%) !default
|
10
|
+
$m-color-blur-more: lighten($m-color-blur, 15%) !default
|
11
|
+
|
12
|
+
$m-color-highlight: #00a9cb !default
|
13
|
+
$m-color-highlight-less: darken($m-color-highlight, 20%) !default
|
14
|
+
$m-color-highlight-more: lighten($m-color-highlight, 10%) !default
|
15
|
+
|
16
|
+
$m-color-alert: #c60f13 !default
|
17
|
+
$m-color-success: #5da423 !default
|