compass-stems 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.mkdn +4 -0
- data/lib/compass-stems.rb +5 -0
- data/lib/compass-stems/compass-stems.rb +19 -0
- data/lib/compass-stems/compass-stems/stems.rb +41 -0
- data/templates/project/_stems.scss +19 -0
- data/templates/project/manifest.rb +2 -0
- metadata +73 -0
data/README.mkdn
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "chunky_png"
|
3
|
+
require "base64"
|
4
|
+
require "compass-stems/compass-stems/stems.rb"
|
5
|
+
|
6
|
+
module Sass::Script::Functions
|
7
|
+
|
8
|
+
TRANSPARENT = ChunkyPNG::Color::TRANSPARENT
|
9
|
+
|
10
|
+
def return_image(png)
|
11
|
+
data = Base64.encode64(png.to_blob).gsub("\n", "")
|
12
|
+
Sass::Script::String.new("url('data:image/png;base64,#{data}')")
|
13
|
+
end
|
14
|
+
|
15
|
+
def get_color(color)
|
16
|
+
color = ChunkyPNG::Color.rgba(color.red, color.green, color.blue, (color.alpha*255).round)
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module CompassStems
|
2
|
+
class Stems
|
3
|
+
module Sass::Script::Functions
|
4
|
+
def stem(color, width = 22, direction = top, border_color = color, border_inset_color, enable_gradient_background)
|
5
|
+
color = get_color(color)
|
6
|
+
border_color = get_color(border_color)
|
7
|
+
|
8
|
+
width = width.to_i if width.is_a? Sass::Script::Number
|
9
|
+
height = (width / 2).to_i
|
10
|
+
|
11
|
+
outer_stem = ChunkyPNG::Image.new(width, height-1, TRANSPARENT)
|
12
|
+
outer_stem.polygon([(width/2)-1,-1,(width/2),-1,0,height-1,width,height-1], border_color, color)
|
13
|
+
|
14
|
+
png = ChunkyPNG::Image.new(width, height, TRANSPARENT)
|
15
|
+
png = png.compose(outer_stem, 0, 0)
|
16
|
+
|
17
|
+
unless border_inset_color.is_a? Sass::Script::Bool
|
18
|
+
border_inset_color = get_color(border_inset_color)
|
19
|
+
|
20
|
+
inner_stem = ChunkyPNG::Image.new(width, height-1, TRANSPARENT)
|
21
|
+
inner_stem.polygon([(width/2)-1,-1,(width/2),-1,0,height-1,width,height-1], border_inset_color, color)
|
22
|
+
inner_stem = inner_stem.crop(0, 0, width, height-1)
|
23
|
+
|
24
|
+
png = png.compose(inner_stem, 0, 1)
|
25
|
+
end
|
26
|
+
|
27
|
+
case direction.to_s
|
28
|
+
when "left"
|
29
|
+
png = png.rotate_left
|
30
|
+
when "right"
|
31
|
+
png = png.rotate_right
|
32
|
+
when "bottom"
|
33
|
+
png = png.flip_horizontally
|
34
|
+
end
|
35
|
+
|
36
|
+
return_image(png)
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
@mixin stem(
|
2
|
+
$color,
|
3
|
+
$width: 20,
|
4
|
+
$direction: top,
|
5
|
+
$border-color: $darken($color, 10%),
|
6
|
+
$border-inset-color: lighten($color, 10%),
|
7
|
+
$enable-gradient-background: false) {
|
8
|
+
|
9
|
+
$height: $width/2;
|
10
|
+
position: relative;
|
11
|
+
&:after {
|
12
|
+
background: stem($color, $width, $direction, $border-color, $border-inset-color, $enable-gradient-background);
|
13
|
+
position: absolute;
|
14
|
+
display: block;
|
15
|
+
z-index: 1;
|
16
|
+
height: $height;
|
17
|
+
top: -$height;
|
18
|
+
}
|
19
|
+
}
|
metadata
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: compass-stems
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- kelly korevec
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-08-05 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: compass
|
16
|
+
requirement: &2160698520 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.11.beta.5
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2160698520
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: chunky_png
|
27
|
+
requirement: &2160697440 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.1.0
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *2160697440
|
36
|
+
description: generate image stems for compass
|
37
|
+
email:
|
38
|
+
- kelly@dailymile.com
|
39
|
+
executables: []
|
40
|
+
extensions: []
|
41
|
+
extra_rdoc_files: []
|
42
|
+
files:
|
43
|
+
- README.mkdn
|
44
|
+
- lib/compass-stems/compass-stems/stems.rb
|
45
|
+
- lib/compass-stems/compass-stems.rb
|
46
|
+
- lib/compass-stems.rb
|
47
|
+
- templates/project/_stems.scss
|
48
|
+
- templates/project/manifest.rb
|
49
|
+
homepage: http://www.dailymile.com
|
50
|
+
licenses: []
|
51
|
+
post_install_message:
|
52
|
+
rdoc_options: []
|
53
|
+
require_paths:
|
54
|
+
- lib
|
55
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ! '>='
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
requirements: []
|
68
|
+
rubyforge_project: compass-stems
|
69
|
+
rubygems_version: 1.8.5
|
70
|
+
signing_key:
|
71
|
+
specification_version: 3
|
72
|
+
summary: generate image stems for compass
|
73
|
+
test_files: []
|