staple 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -5
- data/lib/staple/import_generator.rb +43 -43
- data/lib/staple/install_generator.rb +1 -8
- data/lib/staple/list_generator.rb +9 -9
- data/source/stylesheets/foundation_and_overrides.scss +5 -2
- data/source/stylesheets/{after.scss → staple/after.scss} +4 -3
- data/source/stylesheets/staple/before.scss +7 -0
- data/source/stylesheets/staple/build_buttons.scss +32 -0
- data/source/stylesheets/staple/build_colors.scss +45 -0
- data/source/stylesheets/staple/buttons.scss +60 -0
- data/source/stylesheets/staple/color.scss +33 -0
- data/source/stylesheets/staple/color_functions.scss +63 -0
- data/source/stylesheets/staple/overrides.scss +1397 -0
- data/source/stylesheets/staple/size.scss +21 -0
- data/source/stylesheets/staple/typography.scss +13 -0
- data/source/stylesheets/staple/utilities.scss +42 -0
- data/staple.gemspec +1 -1
- metadata +14 -10
- data/source/stylesheets/before.scss +0 -9
- data/source/stylesheets/buttons.scss +0 -0
- data/source/stylesheets/color.scss +0 -0
- data/source/stylesheets/sizing.scss +0 -0
- data/source/stylesheets/typography.scss +0 -0
- data/source/stylesheets/utilities.scss +0 -0
- /data/source/stylesheets/{forms.scss → staple/forms.scss} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b2768265c039f6c125d5a0213c9e7afdc3a850d
|
4
|
+
data.tar.gz: 4c5ab01ee33a83747039b18f62d3c6e994a37e70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4279b536e81a4b033fcdcae425d57ab02e50841ac46b8ffb989950dccda42de792dd852d1cb7d18143872d9066ae35712a02e47cf8e41638df48aebe8e83136e
|
7
|
+
data.tar.gz: 3f2838e8df5211b49268a849ea5b2da687bb1f6525f4a8ad6b97b989b53ba15d986372fbcab75717c303ed262d33ed499b0e282c15a47b5cc5bd5e93f51f1c93
|
data/README.md
CHANGED
@@ -4,11 +4,17 @@ High level UI framework. Built on top of foundation.
|
|
4
4
|
|
5
5
|
##TODO
|
6
6
|
|
7
|
-
*
|
7
|
+
* Simple default generators first. Basic Theme.
|
8
|
+
* Load vars then override before
|
9
|
+
* Generate override components after using vars
|
10
|
+
* Modify files using generators or manual
|
11
|
+
|
12
|
+
##LOW PRIORITY
|
8
13
|
* declaring as dependency does not load it?
|
9
14
|
* integration with existing projects
|
10
15
|
|
11
16
|
##Install
|
17
|
+
|
12
18
|
```ruby
|
13
19
|
#Gemfile
|
14
20
|
gem 'slim-rails'
|
@@ -41,19 +47,19 @@ section.row
|
|
41
47
|
|
42
48
|
##Modify Overall, Modular Style With Commands
|
43
49
|
```console
|
44
|
-
staple theme:
|
50
|
+
staple theme:flat
|
45
51
|
```
|
46
52
|
|
47
53
|
```console
|
48
|
-
staple
|
54
|
+
staple type-face-primary:HelveticaNeau
|
49
55
|
```
|
50
56
|
|
51
57
|
```console
|
52
|
-
staple
|
58
|
+
staple type-face-secondary:ComicSans
|
53
59
|
```
|
54
60
|
|
55
61
|
```console
|
56
|
-
staple
|
62
|
+
staple color-scheme:Flatland
|
57
63
|
```
|
58
64
|
|
59
65
|
##Build
|
@@ -3,48 +3,48 @@ require 'rails/generators'
|
|
3
3
|
module Staple
|
4
4
|
class ImportGenerator < Rails::Generators::Base
|
5
5
|
desc 'Copy refills'
|
6
|
-
source_root File.expand_path("../../../source", __FILE__)
|
7
|
-
argument :snippet, type: :string, required: true
|
8
|
-
|
9
|
-
def copy_html
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
def copy_styles
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
def copy_javascripts
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
def copy_file_if_exists(source, destination)
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
def partial_name
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
def stylesheet_name
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
def javascript_name
|
47
|
-
|
48
|
-
end
|
6
|
+
# source_root File.expand_path("../../../source", __FILE__)
|
7
|
+
# argument :snippet, type: :string, required: true
|
8
|
+
|
9
|
+
# def copy_html
|
10
|
+
# copy_file_if_exists(
|
11
|
+
# partial_name,
|
12
|
+
# File.join('app', 'views', 'refills', partial_name),
|
13
|
+
# )
|
14
|
+
# end
|
15
|
+
|
16
|
+
# def copy_styles
|
17
|
+
# copy_file_if_exists(
|
18
|
+
# File.join('stylesheets', 'refills', stylesheet_name),
|
19
|
+
# File.join('app', 'assets', 'stylesheets', 'refills', stylesheet_name),
|
20
|
+
# )
|
21
|
+
# end
|
22
|
+
|
23
|
+
# def copy_javascripts
|
24
|
+
# copy_file_if_exists(
|
25
|
+
# File.join('javascripts', 'refills', javascript_name),
|
26
|
+
# File.join('app', 'assets', 'javascripts', 'refills', javascript_name),
|
27
|
+
# )
|
28
|
+
# end
|
29
|
+
|
30
|
+
# private
|
31
|
+
|
32
|
+
# def copy_file_if_exists(source, destination)
|
33
|
+
# if File.exists?(File.join(self.class.source_root, source))
|
34
|
+
# copy_file source, destination
|
35
|
+
# end
|
36
|
+
# end
|
37
|
+
|
38
|
+
# def partial_name
|
39
|
+
# "_#{snippet.underscore}.html.erb"
|
40
|
+
# end
|
41
|
+
|
42
|
+
# def stylesheet_name
|
43
|
+
# "_#{snippet.dasherize}.scss"
|
44
|
+
# end
|
45
|
+
|
46
|
+
# def javascript_name
|
47
|
+
# "#{snippet.underscore}.js"
|
48
|
+
# end
|
49
49
|
end
|
50
50
|
end
|
@@ -48,14 +48,7 @@ module Staple
|
|
48
48
|
|
49
49
|
#import base style
|
50
50
|
def staple_install
|
51
|
-
|
52
|
-
copy_file "source/stylesheets/after.scss", "app/assets/stylesheets/after.scss"
|
53
|
-
copy_file "source/stylesheets/buttons.scss", "app/assets/stylesheets/buttons.scss"
|
54
|
-
copy_file "source/stylesheets/color.scss", "app/assets/stylesheets/color.scss"
|
55
|
-
copy_file "source/stylesheets/forms.scss", "app/assets/stylesheets/forms.scss"
|
56
|
-
copy_file "source/stylesheets/sizing.scss", "app/assets/stylesheets/sizing.scss"
|
57
|
-
copy_file "source/stylesheets/typography.scss", "app/assets/stylesheets/typography.scss"
|
58
|
-
copy_file "source/stylesheets/utilities.scss", "app/assets/stylesheets/utilities.scss"
|
51
|
+
directory "source/stylesheets/staple", "app/assets/stylesheets/staple"
|
59
52
|
end
|
60
53
|
|
61
54
|
def detect_css_format
|
@@ -7,16 +7,16 @@ module Staple
|
|
7
7
|
def list
|
8
8
|
puts 'Available Staples'
|
9
9
|
puts '================='
|
10
|
-
stylesheets.each do |file_name|
|
11
|
-
|
12
|
-
end
|
10
|
+
# stylesheets.each do |file_name|
|
11
|
+
# puts '- ' + file_name.gsub(/_|\.scss/, '')
|
12
|
+
# end
|
13
13
|
end
|
14
14
|
|
15
|
-
private
|
16
|
-
def stylesheets
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
end
|
15
|
+
# private
|
16
|
+
# def stylesheets
|
17
|
+
# refills_dir = File.expand_path('../../../source/stylesheets/staple', __FILE__)
|
18
|
+
# stylesheets = Dir.entries(refills_dir)
|
19
|
+
# stylesheets.reject {|f| f == '.' || f == '..' }
|
20
|
+
# end
|
21
21
|
end
|
22
22
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
//after.scss
|
2
|
-
//Must load after foundation. Overrides some of foundations defaults
|
3
|
-
@import '
|
2
|
+
//Must load after foundation. Overrides some of foundations defaults. Generators
|
3
|
+
@import 'build_colors'
|
4
4
|
@import 'buttons';
|
5
|
-
@import 'forms';
|
5
|
+
@import 'forms';
|
6
|
+
//BUILD IT
|
@@ -0,0 +1,32 @@
|
|
1
|
+
//load functions before calling them
|
2
|
+
@function set-text-color($color) {
|
3
|
+
@if (lightness($color) > 60%) {
|
4
|
+
@return rgba($black, $transparent-weak); // Lighter backgorund, return dark color
|
5
|
+
} @else {
|
6
|
+
@return rgba($white, $transparent-strong); // Darker background, return light color
|
7
|
+
}
|
8
|
+
}
|
9
|
+
//DEFAULT
|
10
|
+
.button{
|
11
|
+
background-color: $primary-color;
|
12
|
+
color: set-text-color($primary-color);
|
13
|
+
}
|
14
|
+
.button:hover{
|
15
|
+
background-color: lighten($primary-color, $transition-brighten);
|
16
|
+
}
|
17
|
+
|
18
|
+
//BUTTON GENERATOR FOR EACH COLOR
|
19
|
+
@each $color in $button-classes {
|
20
|
+
$i: index($button-classes, $color);
|
21
|
+
$temp-color: nth($button-define, $i);
|
22
|
+
.button.#{$color}{
|
23
|
+
background-color: $temp-color;
|
24
|
+
color: set-text-color($temp-color);
|
25
|
+
}
|
26
|
+
.button.#{$color}:hover{
|
27
|
+
background-color: lighten($temp-color, $transition-brighten);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
//MODIFY DEFAULT STYLE
|
32
|
+
//APPEND ADDITIONAL GENERATORS WITH COMMANDS AS NEEDED
|
@@ -0,0 +1,45 @@
|
|
1
|
+
//BACKGROUNDS
|
2
|
+
@each $class in $accent-classes {
|
3
|
+
$i: index($accent-classes, $class);
|
4
|
+
$color: nth($accent-define, $i);
|
5
|
+
.#{$class}-bg{
|
6
|
+
background-color: $color;
|
7
|
+
}
|
8
|
+
@each $value in $opacity-values {
|
9
|
+
$j: index($opacity-values, $value);
|
10
|
+
$opacity: nth($opacity-define, $j);
|
11
|
+
.#{$class}-bg-#{$value}{
|
12
|
+
background-color: rgba($color, $opacity);
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
16
|
+
//BORDERS
|
17
|
+
@each $class in $accent-classes {
|
18
|
+
$i: index($accent-classes, $class);
|
19
|
+
$color: nth($accent-define, $i);
|
20
|
+
.#{$class}-border{
|
21
|
+
border: $border-size solid $color;
|
22
|
+
}
|
23
|
+
@each $value in $opacity-values {
|
24
|
+
$j: index($opacity-values, $value);
|
25
|
+
$opacity: nth($opacity-define, $j);
|
26
|
+
.#{$class}-border-#{$value}{
|
27
|
+
border: $border-size solid rgba($color, $opacity);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
//TEXT
|
32
|
+
@each $class in $accent-classes {
|
33
|
+
$i: index($accent-classes, $class);
|
34
|
+
$color: nth($accent-define, $i);
|
35
|
+
.#{$class}-text{
|
36
|
+
color: $color;
|
37
|
+
}
|
38
|
+
@each $value in $opacity-values {
|
39
|
+
$j: index($opacity-values, $value);
|
40
|
+
$opacity: nth($opacity-define, $j);
|
41
|
+
.#{$class}-text-#{$value}{
|
42
|
+
color: rgba($color, $opacity);
|
43
|
+
}
|
44
|
+
}
|
45
|
+
}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
// .button{
|
2
|
+
// //permutations
|
3
|
+
// font-weight: 200;
|
4
|
+
// letter-spacing: 1px;
|
5
|
+
|
6
|
+
// background-color: $primary-color;
|
7
|
+
// border-color: $primary-color;
|
8
|
+
// color: white;
|
9
|
+
// transition: background-color 150ms ease-out;
|
10
|
+
|
11
|
+
// padding-top: 0.9rem;
|
12
|
+
// padding-right: 2.1rem;
|
13
|
+
// padding-bottom: 0.96rem;
|
14
|
+
// padding-left: 2.1rem;
|
15
|
+
|
16
|
+
// margin-right: 0.5rem;//arbitrary
|
17
|
+
// }
|
18
|
+
// .button.tiny{
|
19
|
+
// padding-top: 0.525rem;
|
20
|
+
// padding-right: 1.35rem;
|
21
|
+
// padding-bottom: 0.5875rem;
|
22
|
+
// padding-left: 1.35rem;
|
23
|
+
// }
|
24
|
+
// .button.small{
|
25
|
+
// padding-top: 0.775rem;
|
26
|
+
// padding-right: 1.85rem;
|
27
|
+
// padding-bottom: 0.8375rem;
|
28
|
+
// padding-left: 1.85rem;
|
29
|
+
// }
|
30
|
+
// .button.large{
|
31
|
+
// padding-top: 1.025rem;
|
32
|
+
// padding-right: 2.55rem;
|
33
|
+
// padding-bottom: 1.0875rem;
|
34
|
+
// padding-left: 2.55rem;
|
35
|
+
// }
|
36
|
+
// //used for rounded buttons
|
37
|
+
// .button.wider{
|
38
|
+
// padding-right: 2.5rem;
|
39
|
+
// padding-left: 2.5rem;
|
40
|
+
// }
|
41
|
+
// .button.shadow{
|
42
|
+
// box-shadow: 1px 1px 1px rgba(0,0,0,0.4);
|
43
|
+
// }
|
44
|
+
// .button.text-shadow{
|
45
|
+
// text-shadow: 1px 1px 0px rgba(0,0,0,0.3);
|
46
|
+
// }
|
47
|
+
// .button.inner-text-shadow{
|
48
|
+
// text-shadow: 1px 1px 0px rgba(255,255,255,0.3);
|
49
|
+
// }
|
50
|
+
// .button.expand{
|
51
|
+
// margin-right:0;
|
52
|
+
// }
|
53
|
+
// //FIX
|
54
|
+
// .button-group{
|
55
|
+
// .button{
|
56
|
+
// margin-right:0px;
|
57
|
+
// }
|
58
|
+
// }
|
59
|
+
|
60
|
+
@import 'build_buttons'
|
@@ -0,0 +1,33 @@
|
|
1
|
+
$primary-color: #3389dd;
|
2
|
+
$complement-color: adjust_hue($primary-color, 180);
|
3
|
+
$secondary-color: adjust_hue($primary-color, 135);
|
4
|
+
$tertiary-color: adjust_hue($primary-color, 200);
|
5
|
+
|
6
|
+
//AUTO GENERATE FOUNDATION COLORS: (CAN OVERRIDE)
|
7
|
+
@import 'color_functions';
|
8
|
+
$alert-color: alert($primary-color);//red
|
9
|
+
$success-color: success($primary-color);//green
|
10
|
+
$warning-color: warning($primary-color);//yellow/orange
|
11
|
+
$info-color: info($primary-color);//blue
|
12
|
+
|
13
|
+
//BUTTON CLASSES TO GENERATE:
|
14
|
+
$button-classes: primary compliment secondary tertiary;
|
15
|
+
$button-define: $primary-color $complement-color $secondary-color $tertiary-color;
|
16
|
+
|
17
|
+
//ACCENTS CLASSES TO GENERATE: (BACKGROUNDS, BORDERS, AND TEXT-COLOR)
|
18
|
+
$white: #ffffff;
|
19
|
+
$black: #000000;
|
20
|
+
$accent-classes: white black;
|
21
|
+
$accent-define: $white $black;
|
22
|
+
|
23
|
+
//OPACITY CLASSES TO GENERATE: (% OPACITY OF ACCENT CLASSES)
|
24
|
+
$transparent-strong:0.8;
|
25
|
+
$transparent-medium:0.6;
|
26
|
+
$transparent-weak:0.4;
|
27
|
+
$transparent-light:0.2;
|
28
|
+
$opacity-values:light weak medium strong;
|
29
|
+
$opacity-define:$transparent-light $transparent-weak $transparent-medium $transparent-strong;
|
30
|
+
|
31
|
+
//DIFFERENCE IN SHADE WHEN ACCENTING COMPONENTS
|
32
|
+
$primary-difference: 30;
|
33
|
+
$transition-brighten: 8%;
|
@@ -0,0 +1,63 @@
|
|
1
|
+
//FUNCTIONS
|
2
|
+
@function determine-color($color){
|
3
|
+
$high: red($color);
|
4
|
+
$r_color: 0;
|
5
|
+
@if (green($color) > $high){
|
6
|
+
$high: green($color);
|
7
|
+
$r_color: 1;
|
8
|
+
}
|
9
|
+
@if (blue($color) > $high){
|
10
|
+
$high: blue($color);
|
11
|
+
$r_color: 2;
|
12
|
+
}
|
13
|
+
@return $r_color;
|
14
|
+
}
|
15
|
+
|
16
|
+
@function alert($p-color){
|
17
|
+
//determine what primary color is closest to then alter
|
18
|
+
@if (determine-color($p-color) == 0){
|
19
|
+
@return adjust-hue($p-color, 0);
|
20
|
+
}
|
21
|
+
@if (determine-color($p-color) == 1){
|
22
|
+
@return adjust-hue($p-color, -135);
|
23
|
+
}
|
24
|
+
@if (determine-color($p-color) == 2){
|
25
|
+
@return adjust-hue($p-color, 150);
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
@function success($p-color){
|
30
|
+
@if (determine-color($p-color) == 0){
|
31
|
+
@return adjust-hue($p-color, 135);
|
32
|
+
}
|
33
|
+
@if (determine-color($p-color) == 1){
|
34
|
+
@return adjust-hue($p-color, 0);
|
35
|
+
}
|
36
|
+
@if (determine-color($p-color) == 2){
|
37
|
+
@return adjust-hue($p-color, -60);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
@function warning($p-color){
|
42
|
+
@if (determine-color($p-color) == 0){
|
43
|
+
@return adjust-hue($p-color, 30);
|
44
|
+
}
|
45
|
+
@if (determine-color($p-color) == 1){
|
46
|
+
@return adjust-hue($p-color, 255);
|
47
|
+
}
|
48
|
+
@if (determine-color($p-color) == 2){
|
49
|
+
@return adjust-hue($p-color, 200);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
@function info($p-color){
|
54
|
+
@if (determine-color($p-color) == 0){
|
55
|
+
@return adjust-hue($p-color, 200);
|
56
|
+
}
|
57
|
+
@if (determine-color($p-color) == 1){
|
58
|
+
@return adjust-hue($p-color, 60);
|
59
|
+
}
|
60
|
+
@if (determine-color($p-color) == 2){
|
61
|
+
@return adjust-hue($p-color, 0);
|
62
|
+
}
|
63
|
+
}
|