ghbuttons-rails 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE ADDED
File without changes
@@ -0,0 +1,30 @@
1
+ # ghbuttons-rails
2
+
3
+ Github-style buttons for the Rails Asset Pipeline.
4
+
5
+ Inspired by and ripped out of css3-gitgub-buttons
6
+
7
+ http://nicolasgallagher.com/lab/css3-github-buttons/
8
+
9
+ # Usage:
10
+
11
+ - include the stylesheet directly, or include it in your application.css with directives
12
+ - use the generated css wisely.
13
+ - use the mixins to make your own semantic css.
14
+
15
+ # TODO:
16
+
17
+ - Finish sassification. I'd like the colors to be variables you can override.
18
+ - I'd like danger and positive to be created by a mixin you can use with your own
19
+ colors, so you can have your own semantic classes for emphasis.
20
+ - I want to make some more things mixins - 'big' is presentational, not declarative.
21
+ - Making the 'button' a semantic mixin is going to be tough - the containers modify it,
22
+ and it is huge, so it will be inefficient to spit out everything multiple times.
23
+ - Since I wrote this I found the font-awesome project and released the font-awesome
24
+ rails bundle at https://github.com/bokmann/font-awesome-rails.
25
+ I'm considering removing all of the complexity in this ghbuttons project around the
26
+ sprites, and just making those two gems work seamlessly together.
27
+
28
+ # License:
29
+
30
+ MIT license.
@@ -0,0 +1,42 @@
1
+ @mixin ghbutton-highlight($text-color, $alt-text-color, $background1, $background2) {
2
+ $highlight-1: mix($background1, $background2);
3
+ $highlight-2: mix($background1, $background2, 75%);
4
+ $highlight-3: mix($background1, $background2, 85%);
5
+
6
+ color: $text-color;
7
+ &:hover, &:focus {
8
+ border-color: $highlight-3;
9
+ border-bottom-color: $background1;
10
+ color: $alt-text-color;
11
+ background-color: $background2;
12
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($background2), to($highlight-2));
13
+ background-image: -moz-linear-gradient($background2, $highlight-2);
14
+ background-image: -o-linear-gradient($background2, $highlight-2);
15
+ background-image: linear-gradient($background2, $highlight-2);
16
+ text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
17
+ }
18
+ &:active, &.active {
19
+ color: $alt-text-color;
20
+ border-color: $background1;
21
+ border-bottom-color: $highlight-1;
22
+ background-color: $highlight-2;
23
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($highlight-2), to($background2));
24
+ background-image: -moz-linear-gradient($highlight-2, $background2);
25
+ background-image: -o-linear-gradient($highlight-2, $background2);
26
+ background-image: linear-gradient($highlight-2, $background2);
27
+ text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
28
+ }
29
+ }
30
+
31
+ @mixin ghbutton-pill($radius) {
32
+ -webkit-border-radius: $radius;
33
+ -moz-border-radius: $radius;
34
+ border-radius: $radius;
35
+ }
36
+
37
+ @mixin ghbutton-big($font-size) {
38
+ font-size: $font-size;
39
+ &.icon:before {
40
+ top: 0;
41
+ }
42
+ }
@@ -0,0 +1,30 @@
1
+ $ghbutton-pill-radius: 1em !default;
2
+ $ghbutton-default-big-size: 14px !default;
3
+ $ghbutton-text-color: #333 !default;
4
+ $ghbutton-text-alt-color: #fff !default;
5
+ $ghbutton-background-color1: #f4f4f4 !default;
6
+ $ghbutton-background-color2: #ececec !default;
7
+ $ghbutton-highlight-color1: #3072b3 !default;
8
+ $ghbutton-highlight-color2: #599bdc !default;
9
+ $ghbutton-border-color: #d4d4d4 !default;
10
+
11
+ $ghbuttons-sprites: aperture, arrow_down, arrow_left, arrow_right, arrow_up, article, bars,
12
+ bars_alt, bolt, book, book_alt, book_alt2, box, brush, brush_alt, calendar,
13
+ calendar_alt_fill, calendar_alt_stroke, camera, cd, chart, chart_alt, chat,
14
+ chat_alt_fill, chat_alt_stroke, check, check_alt, clock, cog, comment_alt1_fill,
15
+ comment_alt1_stroke, comment_alt2_fill, comment_alt2_stroke, comment_fill,
16
+ comment_stroke, compass, cursor, curved_arrow, denied, dial, document_alt_fill,
17
+ document_alt_stroke, document_fill, document_stroke, download, eject, equalizer,
18
+ eye, first, folder_fill, folder_stroke, fork, fullscreen, fullscreen_alt,
19
+ fullscreen_exit, fullscreen_exit_alt, hash, headphones, heart_fill, heart_stroke,
20
+ home, image, info, key_stroke, last, layers, layers_alt, left_quote, link, list,
21
+ list_nested, lock_stroke, loop, magnifying_glass, mail, map_pin_fill,
22
+ map_pin_stroke, mic, minus, moon_fill, moon_stroke, move, move_alt1,
23
+ move_horizontal, move_horizontal_alt1, move_vertical, move_vertical_alt1,
24
+ new_window, pause, pen, pen_alt2, pilcrow, pin, play, plus, rain, read_more,
25
+ reload, right_quote, rss, rss_alt, share, spin, star, steering_wheel, stop,
26
+ sun_fill, sun_stroke, tag_fill, tag_stroke, target, transfer, trash_fill,
27
+ trash_stroke, umbrella, undo, unlock_stroke, upload, user, volume, volume_mute,
28
+ wrench, x;
29
+
30
+
@@ -0,0 +1,171 @@
1
+ /* ------------------------------------------
2
+ ghbuttons-rails
3
+ (Original CSS by Nicolas Gallagher, Sassified by David Bock)
4
+ */
5
+
6
+ @import "ghbuttons_variables";
7
+ @import "ghbuttons_mixins";
8
+
9
+ .button {
10
+ position: relative;
11
+ overflow: visible;
12
+ display: inline-block;
13
+ padding: 0.5em 1em;
14
+ border: 1px solid $ghbutton-border-color;
15
+ margin: 0;
16
+ text-decoration: none;
17
+ text-shadow: 1px 1px 0 #fff;
18
+ font: 11px / normal sans-serif;
19
+ white-space: nowrap;
20
+ cursor: pointer;
21
+ outline: none;
22
+
23
+ background-color: $ghbutton-background-color2;
24
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($ghbutton-background-color1), to($ghbutton-background-color2));
25
+ background-image: -moz-linear-gradient($ghbutton-background-color1, $ghbutton-background-color2);
26
+ background-image: -o-linear-gradient($ghbutton-background-color1, $ghbutton-background-color2);
27
+ background-image: linear-gradient($ghbutton-background-color1, $ghbutton-background-color2);
28
+
29
+ -webkit-background-clip: padding;
30
+ -moz-background-clip: padding;
31
+ -o-background-clip: padding-box;
32
+ /*background-clip: padding-box;*/
33
+ /* commented out due to Opera 11.10 bug */
34
+ -webkit-border-radius: 0.2em;
35
+ -moz-border-radius: 0.2em;
36
+ border-radius: 0.2em;
37
+ /* IE hacks */
38
+ zoom: 1;
39
+ *display: inline;
40
+
41
+ @include ghbutton-highlight($ghbutton-text-color, $ghbutton-text-alt-color, $ghbutton-highlight-color1, $ghbutton-highlight-color2);
42
+
43
+ &::-moz-focus-inner {
44
+ padding: 0;
45
+ border: 0; }
46
+
47
+ &.icon:before {
48
+ content: "";
49
+ position: relative;
50
+ top: -1px;
51
+ float: left;
52
+ width: 12px;
53
+ height: 12px;
54
+ margin: 0 0.75em 0 -0.25em;
55
+ background: url(ghbuttons-sprite.png) 0 99px no-repeat;
56
+ }
57
+
58
+ $i: 0;
59
+ @each $sprite in $ghbuttons-sprites {
60
+ &.#{$sprite}.icon {
61
+ &:before {
62
+ background-position: 0 $i*-12px;
63
+ }
64
+ &:hover:before, &:focus:before, &:active:before {
65
+ background-position: -12px $i*-12px;
66
+ }
67
+ }
68
+ $i: $i + 1;
69
+ }
70
+
71
+ // special case button. right arrow on the right side.
72
+ &.arrow_right.icon:before {
73
+ float: right;
74
+ margin: 0 -0.25em 0 0.5em;
75
+ }
76
+
77
+ &.primary {
78
+ font-weight: bold;
79
+ }
80
+
81
+ &.danger {
82
+ @include ghbutton-highlight(#900, #fff, #a0302a, #dc5f59);
83
+ }
84
+
85
+ &.positive {
86
+ @include ghbutton-highlight(#090, #fff, #45bf55, #96ed89);
87
+ }
88
+
89
+ &.pill {
90
+ @include ghbutton-pill($ghbutton-pill-radius);
91
+ }
92
+
93
+ &.disable {
94
+ opacity: 0.5;
95
+ }
96
+
97
+ &.big {
98
+ @include ghbutton-big($ghbutton-default-big-size);
99
+ }
100
+ }
101
+
102
+ .button-group {
103
+ display: inline-block;
104
+ list-style: none;
105
+ padding: 0;
106
+ margin: 0;
107
+ /* IE hacks */
108
+ zoom: 1;
109
+ *display: inline; }
110
+
111
+ .button + {
112
+ .button, .button-group {
113
+ margin-left: 15px;
114
+ }
115
+ }
116
+
117
+ .button-group {
118
+ + {
119
+ .button, .button-group {
120
+ margin-left: 15px;
121
+ }
122
+ }
123
+ li {
124
+ float: left;
125
+ padding: 0;
126
+ margin: 0;
127
+ }
128
+ .button {
129
+ float: left;
130
+ margin-left: -1px;
131
+ }
132
+ > .button:not(:first-child):not(:last-child), li:not(:first-child):not(:last-child) .button {
133
+ -webkit-border-radius: 0;
134
+ -moz-border-radius: 0;
135
+ border-radius: 0; }
136
+ > .button:first-child, li:first-child .button {
137
+ margin-left: 0;
138
+ -webkit-border-top-right-radius: 0;
139
+ -webkit-border-bottom-right-radius: 0;
140
+ -moz-border-radius-topright: 0;
141
+ -moz-border-radius-bottomright: 0;
142
+ border-top-right-radius: 0;
143
+ border-bottom-right-radius: 0; }
144
+ > .button:last-child, li:last-child > .button {
145
+ -webkit-border-top-left-radius: 0;
146
+ -webkit-border-bottom-left-radius: 0;
147
+ -moz-border-radius-topleft: 0;
148
+ -moz-border-radius-bottomleft: 0;
149
+ border-top-left-radius: 0;
150
+ border-bottom-left-radius: 0; }
151
+ &.minor-group .button {
152
+ border: 1px solid $ghbutton-border-color;
153
+ text-shadow: none;
154
+ background-image: none;
155
+ background-color: #fff;
156
+ &:hover, &:focus {
157
+ background-color: $ghbutton-highlight-color2; }
158
+ &:active, &.active {
159
+ background-color: $ghbutton-highlight-color1; }
160
+ &.icon:before {
161
+ opacity: 0.8;
162
+ }
163
+ }
164
+ }
165
+
166
+
167
+ .button-container {
168
+ .button, .button-group {
169
+ vertical-align: top;
170
+ }
171
+ }
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "ghbuttons-rails/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "ghbuttons-rails"
7
+ s.version = Ghbuttons::Rails::VERSION
8
+ s.authors = ["bokmann"]
9
+ s.email = ["dbock@codesherpas.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{a sassified and gem packaged version if css3 github buttons}
12
+ s.description = %q{a sassified and gem packaged version if css3 github buttons}
13
+
14
+ s.rubyforge_project = "ghbuttons-rails"
15
+
16
+ s.files = Dir["{lib,app}/**/*"] + ["ghbuttons-rails.gemspec", "LICENSE", "README.md"]
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_dependency "railties", "~> 3.1"
22
+ end
@@ -0,0 +1,8 @@
1
+ require "ghbuttons-rails/version"
2
+
3
+ module Ghbuttons
4
+ module Rails
5
+ class Engine < ::Rails::Engine
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module Ghbuttons
2
+ module Rails
3
+ VERSION = "0.0.2"
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ghbuttons-rails
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 2
10
+ version: 0.0.2
11
+ platform: ruby
12
+ authors:
13
+ - bokmann
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-03-14 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ type: :runtime
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ hash: 5
28
+ segments:
29
+ - 3
30
+ - 1
31
+ version: "3.1"
32
+ name: railties
33
+ version_requirements: *id001
34
+ prerelease: false
35
+ description: a sassified and gem packaged version if css3 github buttons
36
+ email:
37
+ - dbock@codesherpas.com
38
+ executables: []
39
+
40
+ extensions: []
41
+
42
+ extra_rdoc_files: []
43
+
44
+ files:
45
+ - lib/ghbuttons-rails/version.rb
46
+ - lib/ghbuttons-rails.rb
47
+ - app/assets/images/ghbuttons-sprite.png
48
+ - app/assets/stylesheets/_ghbuttons_mixins.scss
49
+ - app/assets/stylesheets/_ghbuttons_variables.scss
50
+ - app/assets/stylesheets/ghbuttons.scss
51
+ - ghbuttons-rails.gemspec
52
+ - LICENSE
53
+ - README.md
54
+ homepage: ""
55
+ licenses: []
56
+
57
+ post_install_message:
58
+ rdoc_options: []
59
+
60
+ require_paths:
61
+ - lib
62
+ required_ruby_version: !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ hash: 3
68
+ segments:
69
+ - 0
70
+ version: "0"
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
80
+ requirements: []
81
+
82
+ rubyforge_project: ghbuttons-rails
83
+ rubygems_version: 1.8.10
84
+ signing_key:
85
+ specification_version: 3
86
+ summary: a sassified and gem packaged version if css3 github buttons
87
+ test_files: []
88
+