framous 0.1 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.mkdn CHANGED
@@ -1,5 +1,14 @@
1
1
  Framous Changelog
2
- ======================
2
+ =================
3
+
4
+ v0.2.1 [Nov 16, 2012]
5
+ ---------------------
6
+ * rebuild clean version
7
+
8
+ v0.2 [Nov 16, 2012]
9
+ -------------------
10
+ * new folder /grid
11
+ * add _base.scss partial so you can override variables to fit your personal project
3
12
 
4
13
  v0.1 [Nov 15, 2012]
5
14
  -------------------
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  framous
2
2
  ============
3
3
 
4
- HTML5 and SCSS Starter Kit
4
+ A light HTML & SCSS rapid prototyping toolkit for web development
5
5
 
6
6
  Installation
7
7
  ============
@@ -0,0 +1,3 @@
1
+ //
2
+ // Framous-base.scss
3
+ //
@@ -2,6 +2,6 @@
2
2
  // Framous-grid.scss
3
3
  //
4
4
 
5
- @import "framous/settings";
6
- @import "framous/functions";
7
- @import "framous/grid";
5
+ @import "framous/grid/settings";
6
+ @import "framous/grid/functions";
7
+ @import "framous/grid/grid";
@@ -1,6 +1,11 @@
1
1
  //
2
2
  // Framous.scss
3
+ // @import /framous
3
4
  //
4
5
 
6
+ // A semantic, fluid grid framework
7
+ // Based on http://neat.bourbon.io/ & http://susy.oddbird.net/
5
8
  @import "framous-grid";
6
- @import "framous-commons";
9
+
10
+ // Fundamental HTML elements styled and enhanced with extensible classes.
11
+ @import "framous-base";
@@ -0,0 +1,39 @@
1
+ //
2
+ // Functions & Mixins
3
+ //
4
+
5
+ //
6
+ // Flexible grid
7
+ //
8
+
9
+ @function flex-grid($columns, $container-columns: $fg-max-columns) {
10
+ $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
11
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
12
+ @return percentage($width / $container-width);
13
+ }
14
+
15
+ // Flexible gutter
16
+ @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
17
+ $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
18
+ @return percentage($gutter / $container-width);
19
+ }
20
+
21
+ //
22
+ // Container Span
23
+ //
24
+
25
+ @function container-span($span: $span) {
26
+ @if length($span) == 3 {
27
+ $container-columns: nth($span, 3);
28
+ @return $container-columns;
29
+ }
30
+
31
+ @else if length($span) == 2 {
32
+ $container-columns: nth($span, 2);
33
+ @return $container-columns;
34
+ }
35
+
36
+ @else {
37
+ @return $grid-columns;
38
+ }
39
+ }
@@ -0,0 +1,200 @@
1
+ //
2
+ // Grid.scss
3
+ // The default grid uses 12 columns.
4
+ //
5
+
6
+ //
7
+ // Imports
8
+ //
9
+
10
+ @import "compass/css3/box-sizing";
11
+
12
+ // $border-box-sizing: true !default;
13
+ // Makes all elements have a border-box layout
14
+
15
+ @if $border-box-sizing == true {
16
+ * {
17
+ @include box-sizing(border-box);
18
+ }
19
+ }
20
+
21
+ $fg-column: $column;
22
+ $fg-gutter: $gutter;
23
+ $fg-max-columns: $grid-columns;
24
+ $fg-max-width: $max-width;
25
+ $parent-columns: $grid-columns !default;
26
+
27
+ // outer wrapper center container
28
+ @mixin outer-container() {
29
+ @include clearfix;
30
+ max-width: $fg-max-width;
31
+ text-align: left;
32
+ margin: {
33
+ left: auto;
34
+ right: auto;
35
+ }
36
+ }
37
+
38
+ // Grid span columns
39
+ // Use the span-columns mixin to specify the number of columns an element:
40
+ // @include span-columns($span: $columns of $container-columns, $display: block)
41
+ // eg. Element that spans across 6 columns (out of the default 12)
42
+ // div.element { @include span-columns(6 of 8); }
43
+ @mixin span-columns($span: $columns of $container-columns, $display: block) {
44
+
45
+ $columns: nth($span, 1);
46
+ $container-columns: container-span($span);
47
+
48
+ @if $container-columns != $grid-columns {
49
+ $parent-columns: $container-columns;
50
+ }
51
+
52
+ @if $display == table {
53
+ display: table-cell;
54
+ padding-right: flex-gutter($container-columns);
55
+ width: flex-grid($columns, $container-columns) + flex-gutter($container-columns);
56
+
57
+ &:last-child {
58
+ padding-right: 0;
59
+ }
60
+ }
61
+
62
+ @else if $display == inline-block {
63
+ @include inline-block;
64
+ margin-right: flex-gutter($container-columns);
65
+ width: flex-grid($columns, $container-columns);
66
+
67
+ &:last-child {
68
+ margin-right: 0;
69
+ }
70
+ }
71
+
72
+ @else {
73
+ display: block;
74
+ float: left;
75
+ margin-right: flex-gutter($container-columns);
76
+ width: flex-grid($columns, $container-columns);
77
+
78
+ &:last-child {
79
+ margin-right: 0;
80
+ }
81
+ }
82
+ }
83
+
84
+ // Clearfix / row container
85
+ // In order to clear floated or table-cell columns:
86
+ @mixin row($display: block) {
87
+ @include clearfix;
88
+ @if $display == table {
89
+ display: table;
90
+ }
91
+
92
+ @else {
93
+ display: block;
94
+ }
95
+ }
96
+
97
+ // Shift
98
+ // To move an element to the left or right by a number of columns:
99
+ @mixin shift($n-columns: 1) {
100
+ margin-left: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns);
101
+ }
102
+
103
+ // Pad
104
+ // To add padding around the entire column use pad().
105
+ // By default it adds the same value as the grid's gutter.
106
+ @mixin pad($padding: flex-gutter()) {
107
+ padding: $padding;
108
+ }
109
+
110
+ // Remove element gutter
111
+ @mixin omega($display: block, $direction: right) {
112
+ @if $display == table {
113
+ padding-#{$direction}: 0;
114
+ }
115
+
116
+ @else {
117
+ margin-#{$direction}: 0;
118
+ }
119
+ }
120
+
121
+ // You can also use nth-omega to remove the gutter of a specific column or set of columns
122
+ @mixin nth-omega($nth, $display: block, $direction: right) {
123
+ @if $display == table {
124
+ &:nth-child(#{$nth}) {
125
+ padding-#{$direction}: 0;
126
+ }
127
+ }
128
+
129
+ @else {
130
+ &:nth-child(#{$nth}) {
131
+ margin-#{$direction}: 0;
132
+ }
133
+ }
134
+ }
135
+
136
+ // Fill 100% of parent
137
+ // This makes sure that the child fills 100% of its parent
138
+ @mixin fill-parent() {
139
+ width: 100%;
140
+
141
+ @if $border-box-sizing == false {
142
+ @include box-sizing(border-box);
143
+ }
144
+ }
145
+
146
+ // Breakpoints
147
+ // The breakpoint() mixin allows you to use media-queries to modify both the grid and the layout.
148
+ // It takes two arguments:
149
+ @mixin breakpoint($query:$feature $value $columns, $total-columns: $grid-columns) {
150
+
151
+ @if length($query) == 1 {
152
+ @media screen and ($default-feature: nth($query, 1)) {
153
+ $default-grid-columns: $grid-columns;
154
+ $grid-columns: $total-columns;
155
+ @content;
156
+ $grid-columns: $default-grid-columns;
157
+ }
158
+ }
159
+
160
+ @else if length($query) == 2 {
161
+ @media screen and (nth($query, 1): nth($query, 2)) {
162
+ $default-grid-columns: $grid-columns;
163
+ $grid-columns: $total-columns;
164
+ @content;
165
+ $grid-columns: $default-grid-columns;
166
+ }
167
+ }
168
+
169
+ @else if length($query) == 3 {
170
+ @media screen and (nth($query, 1): nth($query, 2)) {
171
+ $default-grid-columns: $grid-columns;
172
+ $grid-columns: nth($query, 3);
173
+ @content;
174
+ $grid-columns: $default-grid-columns;
175
+ }
176
+ }
177
+
178
+ @else if length($query) == 4 {
179
+ @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) {
180
+ $default-grid-columns: $grid-columns;
181
+ $grid-columns: $total-columns;
182
+ @content;
183
+ $grid-columns: $default-grid-columns;
184
+ }
185
+ }
186
+
187
+ @else if length($query) == 5 {
188
+ @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) {
189
+ $default-grid-columns: $grid-columns;
190
+ $grid-columns: nth($query, 5);
191
+ @content;
192
+ $grid-columns: $default-grid-columns;
193
+ }
194
+ }
195
+
196
+ @else {
197
+ @warn "Wrong number of arguments for breakpoint(). Read the documentation for more details.";
198
+ }
199
+ }
200
+
@@ -0,0 +1,42 @@
1
+ //
2
+ // Settings.scss
3
+ //
4
+
5
+ //
6
+ // 1. Responsive Grid
7
+ //
8
+
9
+ // Column width
10
+ $column: 145px !default;
11
+ // Gutter between each two columns
12
+ $gutter: 9px !default;
13
+ // Total number of columns in the grid (Total Columns For Main Container)
14
+ $grid-columns: 12 !default;
15
+ // Max-width of the outer container
16
+ $max-width: 1024px !default;
17
+ // Makes all elements have a border-box layout
18
+ $border-box-sizing: true !default;
19
+ // Default @media feature for the breakpoint() mixin
20
+ $default-feature: min-width;
21
+
22
+ //
23
+ // 2. Responsive Breakpoints
24
+ // @see http://css-tricks.com/snippets/css/media-queries-for-standard-devices
25
+ //
26
+
27
+ // Smartphones (portrait and landscape)
28
+ $phone: min-device-width 320px max-device-width 479px;
29
+ // Smartphones (portrait)
30
+ $phone-portrait: max-width 319px;
31
+ // Smartphones (landscape)
32
+ $phone-landscape: min-width 320px max-width 479px;
33
+ // iPads (portrait and landscape)
34
+ $ipad: min-device-width 768px;
35
+ // iPads (portrait)
36
+ $ipad-portrait: min-device-width 768px max-device-width 1024px orientation portrait;
37
+ // iPads (landscape)
38
+ $ipad-landscape: min-device-width 768px max-device-width 1024px orientation landscape;
39
+ // Desktops and laptops
40
+ $desktop: min-width 1024px;
41
+ // iPhone 4
42
+ $retina: -webkit-min-device-pixel-ratio 1.5 min-device-pixel-ratio 1.5;
@@ -0,0 +1,44 @@
1
+ //
2
+ // Settings.scss
3
+ //
4
+
5
+ @import "framous";
6
+
7
+ //
8
+ // 1. Responsive Grid
9
+ //
10
+
11
+ // Column width
12
+ $column: 145px;
13
+ // Gutter between each two columns
14
+ $gutter: 9px;
15
+ // Total number of columns in the grid (Total Columns For Main Container)
16
+ $grid-columns: 12;
17
+ // Max-width of the outer container
18
+ $max-width: 1024px;
19
+ // Makes all elements have a border-box layout
20
+ $border-box-sizing: true;
21
+ // Default @media feature for the breakpoint() mixin
22
+ $default-feature: min-width;
23
+
24
+ //
25
+ // 2. Responsive Breakpoints
26
+ // @see http://css-tricks.com/snippets/css/media-queries-for-standard-devices
27
+ //
28
+
29
+ // Smartphones (portrait and landscape)
30
+ $phone: min-device-width 320px max-device-width 479px;
31
+ // Smartphones (portrait)
32
+ $phone-portrait: max-width 319px;
33
+ // Smartphones (landscape)
34
+ $phone-landscape: min-width 320px max-width 479px;
35
+ // iPads (portrait and landscape)
36
+ $ipad: min-device-width 768px;
37
+ // iPads (portrait)
38
+ $ipad-portrait: min-device-width 768px max-device-width 1024px orientation portrait;
39
+ // iPads (landscape)
40
+ $ipad-landscape: min-device-width 768px max-device-width 1024px orientation landscape;
41
+ // Desktops and laptops
42
+ $desktop: min-width 1024px;
43
+ // iPhone 4
44
+ $retina: -webkit-min-device-pixel-ratio 1.5 min-device-pixel-ratio 1.5;
@@ -1,6 +1,7 @@
1
1
  stylesheet 'screen.scss', :media => 'screen, projection'
2
+ stylesheet '_base.scss'
2
3
 
3
- description "Framous: HTML5 and SCSS Starter Kit"
4
+ description "Framous: A light HTML & SCSS rapid prototyping toolkit for web development."
4
5
 
5
6
  help %Q{
6
7
  Please see Framous github for all documentation and tutorials:
@@ -1,8 +1,6 @@
1
- //** Framous-Grid **//
1
+ //
2
+ // Framous
3
+ //
2
4
 
3
- // Import ------------------------------------------------------------------
4
-
5
- @import "framous-grid";
6
-
7
- // For future include framous-commons
8
- // @import "framous-commons"
5
+ // Basic settings that can be easily overridden from _base.scss
6
+ @import "base";
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: framous
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
+ - 2
8
9
  - 1
9
- version: "0.1"
10
+ version: 0.2.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Alec Hance
@@ -48,7 +49,7 @@ dependencies:
48
49
  version: 3.2.0
49
50
  type: :runtime
50
51
  version_requirements: *id002
51
- description: HTML5 and SCSS StarterKit
52
+ description: A light HTML & SCSS rapid prototyping toolkit for web development
52
53
  email: hello@alechance.com
53
54
  executables: []
54
55
 
@@ -61,12 +62,17 @@ files:
61
62
  - LICENSE.txt
62
63
  - README.md
63
64
  - lib/framous.rb
65
+ - stylesheets/_framous-base.scss
64
66
  - stylesheets/_framous-commons.scss
65
67
  - stylesheets/_framous-grid.scss
66
68
  - stylesheets/_framous.scss
67
69
  - stylesheets/framous/_functions.scss
68
70
  - stylesheets/framous/_grid.scss
69
71
  - stylesheets/framous/_settings.scss
72
+ - stylesheets/framous/grid/_functions.scss
73
+ - stylesheets/framous/grid/_grid.scss
74
+ - stylesheets/framous/grid/_settings.scss
75
+ - templates/project/_base.scss
70
76
  - templates/project/manifest.rb
71
77
  - templates/project/screen.scss
72
78
  homepage: http://github.com/alechance/framous
@@ -101,6 +107,6 @@ rubyforge_project:
101
107
  rubygems_version: 1.8.24
102
108
  signing_key:
103
109
  specification_version: 3
104
- summary: HTML5 and SCSS StarterKit
110
+ summary: A light HTML & SCSS rapid prototyping toolkit for web development
105
111
  test_files: []
106
112