staple 0.1.0 → 0.1.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.
- 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
|
+
}
|