prelude-framework 0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. data/.gitignore +20 -0
  2. data/Gemfile +4 -0
  3. data/LICENCE +19 -0
  4. data/README.md +5 -0
  5. data/Rakefile +1 -0
  6. data/lib/prelude/version.rb +3 -0
  7. data/lib/prelude-framework.rb +8 -0
  8. data/prelude.gemspec +23 -0
  9. data/scss/prelude/_abstractions.scss +21 -0
  10. data/scss/prelude/_all.scss +6 -0
  11. data/scss/prelude/_base.scss +6 -0
  12. data/scss/prelude/_core.scss +13 -0
  13. data/scss/prelude/_debug-mode.scss +125 -0
  14. data/scss/prelude/_defaults.scss +159 -0
  15. data/scss/prelude/_functions.scss +8 -0
  16. data/scss/prelude/_images.scss +9 -0
  17. data/scss/prelude/_mixins.scss +9 -0
  18. data/scss/prelude/_modules.scss +7 -0
  19. data/scss/prelude/_typography.scss +15 -0
  20. data/scss/prelude/abstractions/_flag.scss +67 -0
  21. data/scss/prelude/abstractions/_flexbox.scss +29 -0
  22. data/scss/prelude/abstractions/_island.scss +53 -0
  23. data/scss/prelude/abstractions/_media.scss +61 -0
  24. data/scss/prelude/abstractions/_nav.scss +110 -0
  25. data/scss/prelude/abstractions/_split.scss +26 -0
  26. data/scss/prelude/base/_border-box.scss +7 -0
  27. data/scss/prelude/base/_helpers.scss +167 -0
  28. data/scss/prelude/functions/_contrasty.scss +24 -0
  29. data/scss/prelude/functions/_is-saturated.scss +14 -0
  30. data/scss/prelude/functions/_pixels-to-ems.scss +7 -0
  31. data/scss/prelude/images/_base.scss +36 -0
  32. data/scss/prelude/images/_cover-image.scss +16 -0
  33. data/scss/prelude/images/_thumbnails.scss +47 -0
  34. data/scss/prelude/mixins/_button-style.scss +40 -0
  35. data/scss/prelude/mixins/_each-grid-breakpoint.scss +21 -0
  36. data/scss/prelude/mixins/_gradients.scss +12 -0
  37. data/scss/prelude/mixins/_rem.scss +31 -0
  38. data/scss/prelude/mixins/_set-font-size.scss +26 -0
  39. data/scss/prelude/modules/_buttons.scss +126 -0
  40. data/scss/prelude/modules/_forms.scss +634 -0
  41. data/scss/prelude/modules/_tables.scss +160 -0
  42. data/scss/prelude/typography/_base.scss +16 -0
  43. data/scss/prelude/typography/_brand.scss +19 -0
  44. data/scss/prelude/typography/_links.scss +14 -0
  45. data/scss/prelude/typography/_paragraphs.scss +9 -0
  46. data/scss/prelude/typography/_quotes.scss +31 -0
  47. data/scss/prelude/typography/_sizes.scss +63 -0
  48. data/scss/prelude.scss +53 -0
  49. data/test/config.rb +9 -0
  50. data/test/index.html +381 -0
  51. data/test/scss/_prelude-settings.scss +159 -0
  52. data/test/scss/style.scss +55 -0
  53. metadata +164 -0
@@ -0,0 +1,160 @@
1
+ // =============================================================================
2
+ // Tables
3
+ //
4
+ // Base styles, modifiers and optional row classes inspired and adapted from
5
+ // Twitter Bootstrap
6
+ //
7
+ // Table of contents:
8
+ // 1. Base tables
9
+ // 2. Baseline styles
10
+ // 3. Condensed table
11
+ // 4. Bordered modifier
12
+ // 5. Striped
13
+ // 6. Row hovers
14
+ //
15
+ // =============================================================================
16
+
17
+ // =============================================================================
18
+ // 1. Base tables
19
+ // =============================================================================
20
+
21
+ table {
22
+ max-width: 100%;
23
+ background-color: $table-background;
24
+ border-collapse: collapse;
25
+ border-spacing: 0;
26
+ }
27
+
28
+
29
+ // =============================================================================
30
+ // 2. Baseline styles
31
+ // =============================================================================
32
+
33
+ .table {
34
+ width: 100%;
35
+ margin-bottom: $base-line-height;
36
+
37
+ // Cells
38
+ th, td {
39
+ padding: 8px;
40
+ line-height: $base-line-height;
41
+ text-align: left;
42
+ vertical-align: top;
43
+ border-top: 1px solid $table-border;
44
+ }
45
+
46
+ th {
47
+ font-weight: bold;
48
+ }
49
+
50
+ // Bottom align for column headings
51
+ thead th {
52
+ vertical-align: bottom;
53
+ }
54
+
55
+ // Remove top border from thead by default
56
+ caption + thead tr:first-child th, caption + thead tr:first-child td,
57
+ colgroup + thead tr:first-child th, colgroup + thead tr:first-child td,
58
+ thead:first-child tr:first-child th, thead:first-child tr:first-child td {
59
+ border-top: 0;
60
+ }
61
+
62
+ // Account for multiple tbody instances
63
+ tbody + tbody {
64
+ border-top: 2px solid $table-border;
65
+ }
66
+ }
67
+
68
+
69
+ // =============================================================================
70
+ // 3. Condensed table
71
+ // =============================================================================
72
+
73
+ // w/ half padding
74
+ .table--condensed {
75
+ th, td {
76
+ padding: 4px 5px;
77
+ }
78
+ }
79
+
80
+
81
+ // =============================================================================
82
+ // 4. Bordered modifier
83
+ // =============================================================================
84
+
85
+ .table--bordered {
86
+ border-radius: $default-border-radius;
87
+ border: 1px solid $table-border;
88
+ border-collapse: separate; // Done so we can round those corners!
89
+ border-left: 0;
90
+
91
+ th, td { border-left: 1px solid $table-border; }
92
+
93
+ // Prevent a double border
94
+ caption + thead tr:first-child th, caption + tbody tr:first-child th, caption + tbody tr:first-child td,
95
+ colgroup + thead tr:first-child th, colgroup + tbody tr:first-child th, colgroup + tbody tr:first-child td,
96
+ thead:first-child tr:first-child th, tbody:first-child tr:first-child th, tbody:first-child tr:first-child td {
97
+ border-top: 0;
98
+ }
99
+
100
+ // For first th or td in the first row in the first thead or tbody
101
+ thead:first-child tr:first-child th:first-child, tbody:first-child tr:first-child td:first-child {
102
+ @include border-top-left-radius($default-border-radius);
103
+ }
104
+
105
+ thead:first-child tr:first-child th:last-child, tbody:first-child tr:first-child td:last-child {
106
+ @include border-top-right-radius($default-border-radius);
107
+ }
108
+
109
+ // For first th or td in the first row in the first thead or tbody
110
+ thead:last-child tr:last-child th:first-child, tbody:last-child tr:last-child td:first-child {
111
+ @include border-bottom-left-radius($default-border-radius);
112
+ }
113
+
114
+ thead:last-child tr:last-child th:last-child, tbody:last-child tr:last-child td:last-child {
115
+ @include border-bottom-right-radius($default-border-radius);
116
+ }
117
+ }
118
+
119
+
120
+ // =============================================================================
121
+ // 5. Striped
122
+ // =============================================================================
123
+
124
+ // Default zebra-stripe styles (alternating gray and transparent backgrounds)
125
+ .table--striped {
126
+ tbody {
127
+ tr:nth-child(odd) td, tr:nth-child(odd) th {
128
+ background-color: $table-background-stripe;
129
+ }
130
+ }
131
+ }
132
+
133
+
134
+ // =============================================================================
135
+ // 6. Row hovers
136
+ // =============================================================================
137
+
138
+ // Has to be placed after the Striped effect
139
+ .table--hovered {
140
+ tbody tr:hover td, tbody tr:hover th {
141
+ background-color: $table-background-hover;
142
+ }
143
+ }
144
+
145
+ // Row contextual classes
146
+ // @to-do: Use more abstract class like Twitter Bootsrap does, so succes,
147
+ // error and info affect other kinds of elements
148
+ // =============================================================================
149
+
150
+ .table__row--success td {
151
+ background-color: fade-out($green, .75);
152
+ }
153
+
154
+ .table__row--error td {
155
+ background-color: fade-out($red, .75);
156
+ }
157
+
158
+ .table__row--info td {
159
+ background-color: fade-out($blue, .75);
160
+ }
@@ -0,0 +1,16 @@
1
+ // =============================================================================
2
+ // Base
3
+ // =============================================================================
4
+
5
+ @import "../mixins/set-font-size";
6
+
7
+ @include set-font-size();
8
+
9
+ html {
10
+ font-family: $base-font-family;
11
+ font-style: normal;
12
+ }
13
+
14
+ body {
15
+ color: $base-text-color;
16
+ }
@@ -0,0 +1,19 @@
1
+ // =============================================================================
2
+ // Brand
3
+ //
4
+ // Helper classes to add your brand's face and/or color to any element
5
+ //
6
+ // =============================================================================
7
+
8
+ .brand {
9
+ font-family: $brand-face +!important;
10
+ color: $brand-color +!important;
11
+ }
12
+
13
+ .brand-face {
14
+ font-family: $brand-face +!important;
15
+ }
16
+
17
+ .brand-color {
18
+ color: $brand-color +!important;
19
+ }
@@ -0,0 +1,14 @@
1
+ // =============================================================================
2
+ // Anchor links
3
+ // =============================================================================
4
+
5
+ a {
6
+ color: $link-color;
7
+ text-decoration: none;
8
+ &:hover,
9
+ &:active,
10
+ &:focus {
11
+ color: $link-hover-color;
12
+ text-decoration: underline;
13
+ }
14
+ }
@@ -0,0 +1,9 @@
1
+ // =============================================================================
2
+ // Paragraphs
3
+ // =============================================================================
4
+
5
+ p {
6
+ margin: 0 0 $base-spacing-unit;
7
+ hyphenate: auto;
8
+ hyphenate-lines: 3;
9
+ }
@@ -0,0 +1,31 @@
1
+ // =============================================================================
2
+ // Quotes
3
+ // =============================================================================
4
+
5
+ q {
6
+ quotes: "‘" "’" "“" "”";
7
+
8
+ &:before { content: "‘"; content: open-quote; }
9
+ &:after { content: "’"; content: close-quote; }
10
+
11
+ q:before { content: "“"; content: open-quote; }
12
+ q:after { content: "”"; content: close-quote; }
13
+ }
14
+
15
+ blockquote {
16
+ quotes: "“" "”";
17
+ text-indent: -.4em;
18
+
19
+ p {
20
+ &:before { content: "“"; content: open-quote; }
21
+ &:after { content: ""; content: no-close-quote; }
22
+ &:last-of-type:after { content: "”"; content: close-quote; margin-bottom: 0; }
23
+ }
24
+ }
25
+
26
+ .source {
27
+ display: block;
28
+ text-indent: 0;
29
+
30
+ &:before { content: "—"; }
31
+ }
@@ -0,0 +1,63 @@
1
+ // =============================================================================
2
+ // Sizes
3
+ //
4
+ // @usage: Whenever you need to turn a heading (or any other element) up or down
5
+ // you just need to assing an abstract class to it. For example if you need
6
+ // a huge h4 you should do it like this:
7
+ // <h4 class="giga">Hello</h4> <!-- I'm a huge H4 -->
8
+ // <h2 class="delta">Hello</h2> <!-- I'm a little H2 -->
9
+ // <p class="gamma"> <!-- Yes, It also works for big paragraphs -->
10
+ //
11
+ // =============================================================================
12
+
13
+ @import "../mixins/rem";
14
+
15
+ $mesure: $base-font-size * $base-line-height;
16
+ $sizes: giga $giga, mega $mega, kilo $kilo, alpha $alpha, beta $beta, gamma $gamma, delta $delta, epsilon $epsilon, zeta $zeta, milli $milli, micro $micro, nano $nano;
17
+
18
+ @each $size in $sizes {
19
+ .#{nth($size, 1)} {
20
+ @include rem(font-size, nth($size, 2));
21
+ @include rem(margin-bottom, ($mesure/nth($size, 2)));
22
+ }
23
+ }
24
+
25
+
26
+ // =============================================================================
27
+ // Headings
28
+ // =============================================================================
29
+
30
+ %headings {
31
+ text-rendering: optimizeLegibility;
32
+ font-family: $headings-font-family;
33
+ // this fixes huge spaces when a heading wraps onto two lines
34
+ line-height: 1;
35
+ margin-top: 0;
36
+ }
37
+
38
+ h1 {
39
+ @extend .alpha;
40
+ @extend %headings;
41
+ }
42
+
43
+ h2 {
44
+ @extend .beta;
45
+ @extend %headings;
46
+ }
47
+
48
+ h3 {
49
+ @extend .gamma;
50
+ @extend %headings;
51
+ }
52
+ h4 {
53
+ @extend .delta;
54
+ @extend %headings;
55
+ }
56
+ h5 {
57
+ @extend .epsilon;
58
+ @extend %headings;
59
+ }
60
+ h6 {
61
+ @extend .zeta;
62
+ @extend %headings;
63
+ }
data/scss/prelude.scss ADDED
@@ -0,0 +1,53 @@
1
+ // =============================================================================
2
+ // Prelude
3
+ //
4
+ // Available modules to import:
5
+ //
6
+ // prelude/all
7
+ //
8
+ // prelude/base
9
+ // prelude/base/helpers
10
+ //
11
+ // prelude/mixins
12
+ // prelude/mixins/gradients
13
+ // prelude/mixins/rem
14
+ // prelude/mixins/set-font-size
15
+ // prelude/mixins/button-style
16
+ //
17
+ // prelude/abstractions
18
+ // prelude/abstractions/media
19
+ // prelude/abstractions/nav
20
+ // prelude/abstractions/island
21
+ // prelude/abstractions/split
22
+ // prelude/abstractions/flexbox
23
+ // prelude/abstractions/flag
24
+ //
25
+ // prelude/images
26
+ // prelude/images/cover-image
27
+ // prelude/images/thumbnails
28
+ //
29
+ // prelude/typography
30
+ // prelude/typography/base
31
+ // prelude/typography/sizes
32
+ // prelude/typography/paragraphs
33
+ // prelude/typography/quotes
34
+ // prelude/typography/links
35
+ // prelude/typography/brand
36
+ //
37
+ // prelude/modules
38
+ // prelude/modules/forms
39
+ // prelude/modules/tables
40
+ // prelude/modules/buttons
41
+ //
42
+ // =============================================================================
43
+
44
+ // Prelude hates old IE
45
+ $legacy-support-for-ie: false;
46
+
47
+ @import "compass/css3",
48
+ "compass/utilities",
49
+ "compass/typography",
50
+ "prelude/defaults",
51
+ "prelude/core",
52
+ "prelude/functions",
53
+ "prelude/debug-mode";
data/test/config.rb ADDED
@@ -0,0 +1,9 @@
1
+ require File.join(File.dirname(__FILE__),"../lib/prelude-framework")
2
+
3
+ project_type = :stand_alone
4
+ http_path = "/"
5
+ sass_dir = "scss"
6
+ css_dir = "css"
7
+ images_dir = "img"
8
+
9
+ relative_assets = true