framous 0.1 → 0.2.1

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.
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