staple 0.3.0 → 0.4.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 +56 -10
- data/lib/staple/buttons_generator.rb +99 -0
- data/lib/staple/forms_generator.rb +84 -0
- data/lib/staple/theme_generator.rb +8 -3
- data/lib/staple.rb +2 -4
- data/source/styles/buttons/themes/plastic.theme +2 -1
- data/source/styles/colors/blue.scss +1 -0
- data/source/styles/colors/themes/flatland.theme +5 -0
- data/source/styles/colors/themes/plastic.theme +3 -0
- data/source/styles/forms/2px-border-focus.scss +1 -0
- data/source/styles/forms/2px-border.scss +1 -0
- data/source/styles/forms/bubble-error.scss +20 -0
- data/source/styles/forms/margin-bottom.scss +1 -0
- data/source/styles/forms/plastic-bubble-error.scss +36 -0
- data/source/styles/forms/plastic-bubble-focus.scss +2 -0
- data/source/styles/forms/plastic-bubble.scss +3 -0
- data/source/styles/forms/radius.scss +1 -0
- data/source/styles/forms/round.scss +1 -0
- data/source/styles/forms/shaded-error.scss +10 -0
- data/source/styles/forms/shaded-focus.scss +1 -0
- data/source/styles/forms/shaded.scss +1 -0
- data/source/styles/forms/themes/flat.theme +5 -0
- data/source/styles/forms/themes/gradient.theme +1 -0
- data/source/styles/forms/themes/plastic.theme +3 -0
- data/source/styles/forms/themes/pro.theme +1 -0
- data/source/styles/forms/tight-error.scss +3 -0
- data/source/styles/forms/tight.scss +3 -0
- data/source/styles/forms/transparent-error.scss +7 -0
- data/source/styles/staple/builders/build_forms.scss +0 -0
- data/source/styles/staple/builders/build_tables.scss +0 -0
- data/source/styles/staple/forms.scss +40 -8
- data/source/styles/typography/roboto.scss +2 -0
- data/staple.gemspec +1 -1
- metadata +29 -6
- data/lib/staple/amputate_generator.rb +0 -46
- data/lib/staple/append_generator.rb +0 -46
- data/lib/staple/import_generator.rb +0 -46
- data/lib/staple/remove_generator.rb +0 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cdae37d53047398c261f9f1ce6e67b6090812fe3
|
4
|
+
data.tar.gz: fd6a7bb935dd778e853f7b745ddd57ef8c84e92d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ead6d5cf343270544f9dd8c4fbdbc6b62a0a30b87d402953550d68bcea0fb37648345458e873f12171dbeda8f1c4bb326880c073967e11f9a72debb0f20bab89
|
7
|
+
data.tar.gz: db4f288e2da1be547392f25652f457dbb3b90a4638b13e0c659e58d785e4e132f6601f04a036ac286387e9509a77c562083cb8439a5b7e1b44a3d7ff28bef91b
|
data/README.md
CHANGED
@@ -2,24 +2,30 @@
|
|
2
2
|
|
3
3
|
a modular ui framework for rails built on top of foundation and sass.
|
4
4
|
|
5
|
+
##goals
|
6
|
+
|
7
|
+
* favor presets over explicit declaration
|
8
|
+
* convention over configuration
|
9
|
+
* keep it simple
|
10
|
+
|
5
11
|
##todo
|
6
12
|
|
7
|
-
*
|
8
|
-
*
|
13
|
+
* component based generators
|
14
|
+
* fix plastic, flat theme selectors. Focus color.
|
9
15
|
|
10
16
|
##lower priority todo
|
11
|
-
*
|
17
|
+
* don't require other gems
|
12
18
|
* integration with existing projects
|
13
19
|
* reinstall places foundation again then does replace, separate generator for update?
|
14
|
-
*
|
15
|
-
* Set variables with generator: default
|
20
|
+
* variables generator:
|
16
21
|
* radius
|
17
22
|
* font
|
18
23
|
* primary-color
|
19
24
|
* border-size
|
20
|
-
* change
|
25
|
+
* change amount (color dif, hover dif)
|
21
26
|
* create executables
|
22
|
-
* Demarcate each pattern (atom) with comment
|
27
|
+
* Demarcate each pattern in scss (atom) with comment
|
28
|
+
* Make errors verbose. Print full command on low level.
|
23
29
|
|
24
30
|
##Install
|
25
31
|
|
@@ -38,11 +44,51 @@ spring stop
|
|
38
44
|
rails g staple:install
|
39
45
|
```
|
40
46
|
|
41
|
-
|
47
|
+
##intended use
|
48
|
+
|
49
|
+
* special cases - seperate generators?
|
50
|
+
|
51
|
+
###themes
|
52
|
+
* rails g staple:theme buttons plastic
|
53
|
+
* rails g staple:theme colors flatland // see flatland.theme
|
54
|
+
* rails g staple:theme global medium
|
55
|
+
* rails g staple:theme typography plastic // see flatland.theme
|
56
|
+
|
57
|
+
###buttons
|
58
|
+
* rails g staple:buttons import shadow
|
59
|
+
* rails g staple:buttons remove shadow
|
60
|
+
* rails g staple:buttons append gradient
|
61
|
+
* rails g staple:buttons amputate gradient
|
62
|
+
|
63
|
+
###forms
|
64
|
+
* rails g staple:forms import inner-shadow
|
65
|
+
* rails g staple:forms remove inner-shadow
|
66
|
+
* rails g staple:forms append inverse
|
67
|
+
* rails g staple:forms amputate inverse
|
68
|
+
|
69
|
+
###colors*
|
70
|
+
* rails g staple:colors import secondary:blue
|
71
|
+
* rails g staple:colors append fave:aqua //adds new color and generate class: button, accent?
|
72
|
+
* rails g staple:colors remove fave // removes color declaration
|
73
|
+
|
74
|
+
###typography*
|
75
|
+
* rails g staple:typography import typeface-primary:Roboto
|
76
|
+
* rails g staple:typography remove typeface-primary:Roboto
|
77
|
+
* rails g staple:typography append cool-typeface:Roboto //create var and generate
|
78
|
+
|
79
|
+
###tables
|
80
|
+
* rails g staple:tables import borders
|
81
|
+
* rails g staple:tables remove zebra-stripe
|
82
|
+
* rails g staple:tables append inverse
|
83
|
+
* rails g staple:tables amputate small
|
42
84
|
|
43
|
-
|
85
|
+
###sizes
|
86
|
+
* rails g staple:sizes import big
|
87
|
+
* rails g staple:sizes remove medium
|
88
|
+
* rails g staple:sizes append xl
|
89
|
+
* rails g staple:sizes amputate xxl
|
44
90
|
|
45
|
-
#staple command
|
91
|
+
#staple command - coming soon
|
46
92
|
staple {button-style|button-theme} {pattern} (append)
|
47
93
|
staple buttons round
|
48
94
|
staple buttons-theme plastic
|
@@ -0,0 +1,99 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Staple
|
4
|
+
class ButtonsGenerator < Rails::Generators::Base
|
5
|
+
desc 'pending'
|
6
|
+
source_root File.join(File.dirname(__FILE__), '..', '..')
|
7
|
+
argument :actions, :type => :array, :default => []
|
8
|
+
|
9
|
+
def delegate
|
10
|
+
case "#{action}"
|
11
|
+
when "import"
|
12
|
+
import
|
13
|
+
when "remove"
|
14
|
+
remove
|
15
|
+
when "append"
|
16
|
+
append
|
17
|
+
when "amputate"
|
18
|
+
amputate
|
19
|
+
else
|
20
|
+
puts "unknown command"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
#ACTIONS
|
27
|
+
|
28
|
+
def import
|
29
|
+
puts "#{component} import #{pattern}"
|
30
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*default", "\n\t#{contents}//&*default" if contents
|
31
|
+
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "//&*default", "\n\t\t#{contents}//&*default" if contents
|
32
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*hover", "\n\t#{hover}//&*hover" if hover
|
33
|
+
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "//&*hover", "\n\t\t#{hover}//&*hover" if hover
|
34
|
+
puts "invalid operation: : #{component} import #{pattern}. for available actions: rails g staple:list [option]" if !contents
|
35
|
+
end
|
36
|
+
|
37
|
+
def remove
|
38
|
+
puts "#{component} remove #{pattern}"
|
39
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n\t#{contents}", "" if contents
|
40
|
+
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "\n\t\t#{contents}", "" if contents
|
41
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n\t#{hover}", "" if hover
|
42
|
+
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "\n\t\t#{hover}", "" if hover
|
43
|
+
puts "invalid operation. for available actions: rails g staple:list [option]" if !contents
|
44
|
+
end
|
45
|
+
|
46
|
+
def append
|
47
|
+
puts "append"
|
48
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*append", "\n.#{component.singularize}.#{pattern}{\n\t#{contents}\n}//&*append" if contents
|
49
|
+
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "//&*append", "\n.#{component.singularize}.\#{$class}.#{pattern}{\n\t#{contents}\n}//&*append" if contents
|
50
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*append", "\n.#{component.singularize}.#{pattern}:hover{\n\t#{hover}\n}//&*append" if hover
|
51
|
+
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "//&*append", "\n.#{component.singularize}.\#{$class}.#{pattern}:hover{\n\t#{hover}\n}//&*append" if hover
|
52
|
+
puts "invalid operation. for available actions: rails g staple:list [option]" if !contents
|
53
|
+
end
|
54
|
+
|
55
|
+
def amputate
|
56
|
+
puts "amp"
|
57
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n.#{component.singularize}.#{pattern}{\n\t#{contents}\n}", "" if contents
|
58
|
+
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "\n.#{component.singularize}.\#{$class}.#{pattern}{\n\t#{contents}\n}", "" if contents
|
59
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n.#{component.singularize}.#{pattern}:hover{\n\t#{hover}\n}", "" if hover
|
60
|
+
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "\n.#{component.singularize}.\#{$class}.#{pattern}:hover{\n\t#{hover}\n}", "" if hover
|
61
|
+
puts "invalid operation. for available actions: rails g staple:list [option]" if !contents
|
62
|
+
end
|
63
|
+
|
64
|
+
#HELPER METHODS
|
65
|
+
|
66
|
+
def contents
|
67
|
+
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}.scss")
|
68
|
+
get_file(file)
|
69
|
+
end
|
70
|
+
|
71
|
+
def hover
|
72
|
+
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}-hover.scss")
|
73
|
+
get_file(file)
|
74
|
+
end
|
75
|
+
|
76
|
+
def get_file(file)
|
77
|
+
if File.file?(file)
|
78
|
+
return File.read(file)
|
79
|
+
else
|
80
|
+
return false
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
#DEFINE
|
85
|
+
|
86
|
+
def action
|
87
|
+
actions[0]
|
88
|
+
end
|
89
|
+
|
90
|
+
def pattern
|
91
|
+
actions[1]
|
92
|
+
end
|
93
|
+
|
94
|
+
def component
|
95
|
+
"buttons"
|
96
|
+
end
|
97
|
+
|
98
|
+
end
|
99
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
3
|
+
module Staple
|
4
|
+
class FormsGenerator < Rails::Generators::Base
|
5
|
+
desc 'pending'
|
6
|
+
source_root File.join(File.dirname(__FILE__), '..', '..')
|
7
|
+
argument :actions, :type => :array, :default => []
|
8
|
+
|
9
|
+
def delegate
|
10
|
+
case "#{action}"
|
11
|
+
when "import"
|
12
|
+
import
|
13
|
+
when "remove"
|
14
|
+
remove
|
15
|
+
else
|
16
|
+
puts "unknown command"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
#ACTIONS
|
23
|
+
|
24
|
+
def import
|
25
|
+
puts "#{component} import #{pattern}"
|
26
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*default", "\n\t#{contents}//&*default" if contents
|
27
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*focus", "\n\t#{focus}//&*focus" if focus
|
28
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*error", "\n\t#{error}//&*error" if error
|
29
|
+
|
30
|
+
puts "invalid operation: #{component} import #{pattern}. for available actions: rails g staple:list [option]" if not_valid?
|
31
|
+
end
|
32
|
+
|
33
|
+
def remove
|
34
|
+
puts "#{component} remove #{pattern}"
|
35
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n\t#{contents}", "" if contents
|
36
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n\t#{focus}", "" if focus
|
37
|
+
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n\t#{error}", "" if error
|
38
|
+
end
|
39
|
+
|
40
|
+
#HELPER METHODS
|
41
|
+
|
42
|
+
def contents
|
43
|
+
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}.scss")
|
44
|
+
get_file(file)
|
45
|
+
end
|
46
|
+
|
47
|
+
def focus
|
48
|
+
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}-focus.scss")
|
49
|
+
get_file(file)
|
50
|
+
end
|
51
|
+
|
52
|
+
def error
|
53
|
+
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}-error.scss")
|
54
|
+
get_file(file)
|
55
|
+
end
|
56
|
+
|
57
|
+
def get_file(file)
|
58
|
+
if File.file?(file)
|
59
|
+
return File.read(file)
|
60
|
+
else
|
61
|
+
return false
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def not_valid
|
66
|
+
!contents || !focus || !error
|
67
|
+
end
|
68
|
+
|
69
|
+
#DEFINE
|
70
|
+
|
71
|
+
def action
|
72
|
+
actions[0]
|
73
|
+
end
|
74
|
+
|
75
|
+
def pattern
|
76
|
+
actions[1]
|
77
|
+
end
|
78
|
+
|
79
|
+
def component
|
80
|
+
"forms"
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
end
|
@@ -15,9 +15,14 @@ module Staple
|
|
15
15
|
end
|
16
16
|
else
|
17
17
|
if theme_definition
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
if yes? "Any changes you have made to staple/#{component}.scss or builders will be overwritten. Continue? (Y/N)"
|
19
|
+
#tear down previous styles
|
20
|
+
copy_file "source/styles/staple/#{component}.scss", "app/assets/stylesheets/staple/#{component}.scss", :force => true
|
21
|
+
copy_file "source/styles/staple/builders/build_#{component}.scss", "app/assets/stylesheets/staple/builders/build_#{component}.scss", :force => true
|
22
|
+
patterns = theme_definition.split("\n")
|
23
|
+
patterns.each do |pattern|
|
24
|
+
generate "staple:#{component}", "import", "#{pattern}"
|
25
|
+
end
|
21
26
|
end
|
22
27
|
end
|
23
28
|
end
|
data/lib/staple.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
require 'staple/
|
2
|
-
require 'staple/
|
3
|
-
require 'staple/remove_generator'
|
4
|
-
require 'staple/amputate_generator'
|
1
|
+
require 'staple/buttons_generator'
|
2
|
+
require 'staple/forms_generator'
|
5
3
|
require 'staple/theme_generator'
|
6
4
|
require 'staple/install_generator'
|
@@ -0,0 +1 @@
|
|
1
|
+
#3498db
|
@@ -0,0 +1 @@
|
|
1
|
+
border: 2px solid #d4d9dd;
|
@@ -0,0 +1 @@
|
|
1
|
+
border: 2px solid #e8ebed;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
small.error{
|
2
|
+
padding: 0.56rem 0.5625rem 0.5625rem;
|
3
|
+
padding-left: -30px;
|
4
|
+
margin-bottom: 1rem;
|
5
|
+
font-size: 0.75rem;
|
6
|
+
font-weight: normal;
|
7
|
+
border-radius: $global-radius;
|
8
|
+
font-weight: 200;
|
9
|
+
}
|
10
|
+
small.error:before{
|
11
|
+
position: relative;
|
12
|
+
display: inline-block;
|
13
|
+
border-left: 7px solid transparent;
|
14
|
+
border-right: 7px solid transparent;
|
15
|
+
border-bottom: 7px solid $alert-color;
|
16
|
+
left: 2px;
|
17
|
+
top: -19px;
|
18
|
+
margin-right:-14px;
|
19
|
+
content: '';
|
20
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
margin-bottom: 15px;
|
@@ -0,0 +1,36 @@
|
|
1
|
+
div.error{
|
2
|
+
*{
|
3
|
+
background: lighten($alert-color, 40%);
|
4
|
+
border: 2px solid lighten($alert-color, 40%);
|
5
|
+
border-top: 2px solid $alert-color;
|
6
|
+
}
|
7
|
+
*:focus{
|
8
|
+
background: white;
|
9
|
+
border-color: 2px solid $alert-color;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
small.error{
|
13
|
+
padding: 3px 0px 3px -30px;
|
14
|
+
margin-bottom: 1rem;
|
15
|
+
font-size: 0.75rem;
|
16
|
+
font-weight: normal;
|
17
|
+
border-radius: $global-radius;
|
18
|
+
font-weight: 200;
|
19
|
+
|
20
|
+
border: 1px solid $alert-color, 6%;
|
21
|
+
border-bottom: 4px solid darken($alert-color, 6%);
|
22
|
+
box-shadow: 0 -1px 0 rgba(255,255,255,0.05) inset;
|
23
|
+
-moz-box-shadow: 0 -1px 0 rgba(255,255,255,0.05) inset;
|
24
|
+
-webkit-box-shadow: 0 -1px 0 rgba(255,255,255,0.05) inset;
|
25
|
+
}
|
26
|
+
small.error:before{
|
27
|
+
position: relative;
|
28
|
+
display: inline-block;
|
29
|
+
border-left: 7px solid transparent;
|
30
|
+
border-right: 7px solid transparent;
|
31
|
+
border-bottom: 7px solid $alert-color;
|
32
|
+
left: 2px;
|
33
|
+
top: -19px;
|
34
|
+
margin-right:-14px;
|
35
|
+
content: '';
|
36
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
border-radius: $global-radius;
|
@@ -0,0 +1 @@
|
|
1
|
+
border-radius: $global-rounded;
|
@@ -0,0 +1 @@
|
|
1
|
+
background: #fff;
|
@@ -0,0 +1 @@
|
|
1
|
+
background: #e8ebed;
|
@@ -0,0 +1 @@
|
|
1
|
+
transparent
|
@@ -0,0 +1 @@
|
|
1
|
+
tight
|
File without changes
|
File without changes
|
@@ -1,9 +1,37 @@
|
|
1
1
|
//STYLE OVERRIDES
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
input[type="text"],
|
3
|
+
input[type="password"],
|
4
|
+
input[type="date"],
|
5
|
+
input[type="datetime"],
|
6
|
+
input[type="datetime-local"],
|
7
|
+
input[type="month"],
|
8
|
+
input[type="week"],
|
9
|
+
input[type="email"],
|
10
|
+
input[type="number"],
|
11
|
+
input[type="search"],
|
12
|
+
input[type="tel"],
|
13
|
+
input[type="time"],
|
14
|
+
input[type="url"],
|
15
|
+
input[type="color"],
|
16
|
+
textarea {
|
17
|
+
//&*default
|
18
|
+
}
|
19
|
+
input[type="text"]:focus,
|
20
|
+
input[type="password"]:focus,
|
21
|
+
input[type="date"]:focus,
|
22
|
+
input[type="datetime"]:focus,
|
23
|
+
input[type="datetime-local"]:focus,
|
24
|
+
input[type="month"]:focus,
|
25
|
+
input[type="week"]:focus,
|
26
|
+
input[type="email"]:focus,
|
27
|
+
input[type="number"]:focus,
|
28
|
+
input[type="search"]:focus,
|
29
|
+
input[type="tel"]:focus,
|
30
|
+
input[type="time"]:focus,
|
31
|
+
input[type="url"]:focus,
|
32
|
+
input[type="color"]:focus,
|
33
|
+
textarea:focus {
|
34
|
+
//&*focus
|
7
35
|
}
|
8
36
|
|
9
37
|
div.error{
|
@@ -13,8 +41,12 @@ div.error{
|
|
13
41
|
*:focus{
|
14
42
|
border-color: $alert-color;
|
15
43
|
}
|
16
|
-
}
|
44
|
+
}//&*error
|
17
45
|
|
18
|
-
//VARIABLES TO GENERATE
|
19
46
|
|
20
|
-
//
|
47
|
+
//take away asterix
|
48
|
+
div.required{
|
49
|
+
abbr{
|
50
|
+
display: none;
|
51
|
+
}
|
52
|
+
}
|
data/staple.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "staple"
|
7
|
-
spec.version = "0.
|
7
|
+
spec.version = "0.4.1"
|
8
8
|
spec.summary = "Modular UI framework for rails built on top of foundation and sass"
|
9
9
|
spec.description = "a modular ui framework for rails built on top of foundation and sass."
|
10
10
|
spec.authors = ["Ryan Helsing"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: staple
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Helsing
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: foundation-rails
|
@@ -79,11 +79,9 @@ files:
|
|
79
79
|
- README.md
|
80
80
|
- Rakefile
|
81
81
|
- lib/staple.rb
|
82
|
-
- lib/staple/
|
83
|
-
- lib/staple/
|
84
|
-
- lib/staple/import_generator.rb
|
82
|
+
- lib/staple/buttons_generator.rb
|
83
|
+
- lib/staple/forms_generator.rb
|
85
84
|
- lib/staple/install_generator.rb
|
86
|
-
- lib/staple/remove_generator.rb
|
87
85
|
- lib/staple/theme_generator.rb
|
88
86
|
- source/simple_form/_form.html.slim
|
89
87
|
- source/styles/buttons/big-bottom-border.scss
|
@@ -100,10 +98,34 @@ files:
|
|
100
98
|
- source/styles/buttons/text-shadow.scss
|
101
99
|
- source/styles/buttons/themes/plastic.theme
|
102
100
|
- source/styles/buttons/transparent.scss
|
101
|
+
- source/styles/colors/blue.scss
|
102
|
+
- source/styles/colors/themes/flatland.theme
|
103
|
+
- source/styles/colors/themes/plastic.theme
|
104
|
+
- source/styles/forms/2px-border-focus.scss
|
105
|
+
- source/styles/forms/2px-border.scss
|
106
|
+
- source/styles/forms/bubble-error.scss
|
107
|
+
- source/styles/forms/margin-bottom.scss
|
108
|
+
- source/styles/forms/plastic-bubble-error.scss
|
109
|
+
- source/styles/forms/plastic-bubble-focus.scss
|
110
|
+
- source/styles/forms/plastic-bubble.scss
|
111
|
+
- source/styles/forms/radius.scss
|
112
|
+
- source/styles/forms/round.scss
|
113
|
+
- source/styles/forms/shaded-error.scss
|
114
|
+
- source/styles/forms/shaded-focus.scss
|
115
|
+
- source/styles/forms/shaded.scss
|
116
|
+
- source/styles/forms/themes/flat.theme
|
117
|
+
- source/styles/forms/themes/gradient.theme
|
118
|
+
- source/styles/forms/themes/plastic.theme
|
119
|
+
- source/styles/forms/themes/pro.theme
|
120
|
+
- source/styles/forms/tight-error.scss
|
121
|
+
- source/styles/forms/tight.scss
|
122
|
+
- source/styles/forms/transparent-error.scss
|
103
123
|
- source/styles/foundation_and_overrides.scss
|
104
124
|
- source/styles/staple/builders/build_buttons.scss
|
105
125
|
- source/styles/staple/builders/build_colors.scss
|
126
|
+
- source/styles/staple/builders/build_forms.scss
|
106
127
|
- source/styles/staple/builders/build_sizes.scss
|
128
|
+
- source/styles/staple/builders/build_tables.scss
|
107
129
|
- source/styles/staple/builders/build_typography.scss
|
108
130
|
- source/styles/staple/buttons.scss
|
109
131
|
- source/styles/staple/colors.scss
|
@@ -116,6 +138,7 @@ files:
|
|
116
138
|
- source/styles/staple/tables.scss
|
117
139
|
- source/styles/staple/typography.scss
|
118
140
|
- source/styles/staple/utilities.scss
|
141
|
+
- source/styles/typography/roboto.scss
|
119
142
|
- staple.gemspec
|
120
143
|
homepage: https://github.com/rhelsing/staple
|
121
144
|
licenses:
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
|
3
|
-
module Staple
|
4
|
-
class AmputateGenerator < Rails::Generators::Base
|
5
|
-
desc 'remove styles from default'
|
6
|
-
source_root File.join(File.dirname(__FILE__), '..', '..')
|
7
|
-
argument :actions, :type => :array, :default => []
|
8
|
-
|
9
|
-
def amputate_styles
|
10
|
-
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n.#{component.singularize}.#{pattern}{\n\t#{contents}\n}", "" if contents
|
11
|
-
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "\n.#{component.singularize}.\#{$class}.#{pattern}{\n\t#{contents}\n}", "" if contents
|
12
|
-
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n.#{component.singularize}.#{pattern}:hover{\n\t#{hover}\n}", "" if hover
|
13
|
-
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "\n.#{component.singularize}.\#{$class}.#{pattern}:hover{\n\t#{hover}\n}", "" if hover
|
14
|
-
puts "invalid operation. for available actions: rails g staple:list [option]" if !contents
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def contents
|
20
|
-
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}.scss")
|
21
|
-
get_file(file)
|
22
|
-
end
|
23
|
-
|
24
|
-
def hover
|
25
|
-
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}-hover.scss")
|
26
|
-
get_file(file)
|
27
|
-
end
|
28
|
-
|
29
|
-
def get_file(file)
|
30
|
-
if File.file?(file)
|
31
|
-
return File.read(file)
|
32
|
-
else
|
33
|
-
return false
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def component
|
38
|
-
actions[0]
|
39
|
-
end
|
40
|
-
|
41
|
-
def pattern
|
42
|
-
actions[1]
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
|
3
|
-
module Staple
|
4
|
-
class AppendGenerator < Rails::Generators::Base
|
5
|
-
desc 'append the staple'
|
6
|
-
source_root File.join(File.dirname(__FILE__), '..', '..')
|
7
|
-
argument :actions, :type => :array, :default => []
|
8
|
-
|
9
|
-
def append_styles
|
10
|
-
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*append", "\n.#{component.singularize}.#{pattern}{\n\t#{contents}\n}//&*append" if contents
|
11
|
-
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "//&*append", "\n.#{component.singularize}.\#{$class}.#{pattern}{\n\t#{contents}\n}//&*append" if contents
|
12
|
-
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*append", "\n.#{component.singularize}.#{pattern}:hover{\n\t#{hover}\n}//&*append" if hover
|
13
|
-
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "//&*append", "\n.#{component.singularize}.\#{$class}.#{pattern}:hover{\n\t#{hover}\n}//&*append" if hover
|
14
|
-
puts "invalid operation. for available actions: rails g staple:list [option]" if !contents
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def contents
|
20
|
-
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}.scss")
|
21
|
-
get_file(file)
|
22
|
-
end
|
23
|
-
|
24
|
-
def hover
|
25
|
-
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}-hover.scss")
|
26
|
-
get_file(file)
|
27
|
-
end
|
28
|
-
|
29
|
-
def get_file(file)
|
30
|
-
if File.file?(file)
|
31
|
-
return File.read(file)
|
32
|
-
else
|
33
|
-
return false
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def component
|
38
|
-
actions[0]
|
39
|
-
end
|
40
|
-
|
41
|
-
def pattern
|
42
|
-
actions[1]
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
|
3
|
-
module Staple
|
4
|
-
class ImportGenerator < Rails::Generators::Base
|
5
|
-
desc 'bring in the staple'
|
6
|
-
source_root File.join(File.dirname(__FILE__), '..', '..')
|
7
|
-
argument :actions, :type => :array, :default => []
|
8
|
-
|
9
|
-
def import_styles
|
10
|
-
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*default", "\n\t#{contents}//&*default" if contents
|
11
|
-
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "//&*default", "\n\t\t#{contents}//&*default" if contents
|
12
|
-
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "//&*hover", "\n\t#{hover}//&*hover" if hover
|
13
|
-
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "//&*hover", "\n\t\t#{hover}//&*hover" if hover
|
14
|
-
puts "invalid operation. for available actions: rails g staple:list [option]" if !contents
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def contents
|
20
|
-
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}.scss")
|
21
|
-
get_file(file)
|
22
|
-
end
|
23
|
-
|
24
|
-
def hover
|
25
|
-
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}-hover.scss")
|
26
|
-
get_file(file)
|
27
|
-
end
|
28
|
-
|
29
|
-
def get_file(file)
|
30
|
-
if File.file?(file)
|
31
|
-
return File.read(file)
|
32
|
-
else
|
33
|
-
return false
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def component
|
38
|
-
actions[0]
|
39
|
-
end
|
40
|
-
|
41
|
-
def pattern
|
42
|
-
actions[1]
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'rails/generators'
|
2
|
-
|
3
|
-
module Staple
|
4
|
-
class RemoveGenerator < Rails::Generators::Base
|
5
|
-
desc 'remove styles from default'
|
6
|
-
source_root File.join(File.dirname(__FILE__), '..', '..')
|
7
|
-
argument :actions, :type => :array, :default => []
|
8
|
-
|
9
|
-
def remove_styles
|
10
|
-
puts "remove from default"
|
11
|
-
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n\t#{contents}", "" if contents
|
12
|
-
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "\n\t\t#{contents}", "" if contents
|
13
|
-
gsub_file "app/assets/stylesheets/staple/#{component}.scss", "\n\t#{hover}", "" if hover
|
14
|
-
gsub_file "app/assets/stylesheets/staple/builders/build_#{component}.scss", "\n\t\t#{hover}", "" if hover
|
15
|
-
puts "invalid operation. for available actions: rails g staple:list [option]" if !contents
|
16
|
-
end
|
17
|
-
|
18
|
-
private
|
19
|
-
|
20
|
-
def contents
|
21
|
-
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}.scss")
|
22
|
-
get_file(file)
|
23
|
-
end
|
24
|
-
|
25
|
-
def hover
|
26
|
-
file = File.join(self.class.source_root, 'source', 'styles', "#{component}", "#{pattern.dasherize}-hover.scss")
|
27
|
-
get_file(file)
|
28
|
-
end
|
29
|
-
|
30
|
-
def get_file(file)
|
31
|
-
if File.file?(file)
|
32
|
-
return File.read(file)
|
33
|
-
else
|
34
|
-
return false
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
def component
|
39
|
-
actions[0]
|
40
|
-
end
|
41
|
-
|
42
|
-
def pattern
|
43
|
-
actions[1]
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
end
|