compass_icon_fonts 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 409a455dec764cc1b96fc2c16febd36244517de8
4
+ data.tar.gz: 2f39a82f9cf8af0dda916f0d5754be2e5f58cbe4
5
+ SHA512:
6
+ metadata.gz: a3b4f42ba5c2ba08f50f2d0b99a9e08694db7d107696b3f635576925a1bbdab6e70ea5d635fa2a9fca115ca538d0b8f361785c31792736fb693871b82e4c7c6a
7
+ data.tar.gz: f13e327ddb8f72d5d4b53e118c632457528b114eed1d81413fa5f147c484bfd651ea878494994d72d7ffe0cf68c492631701c9ed4d7e1a4aac14af2e51bdd142
@@ -0,0 +1,9 @@
1
+ require 'compass'
2
+
3
+ module CompassIconFonts
4
+ def self.base_directory
5
+ File.expand_path('../..', __FILE__)
6
+ end
7
+ end
8
+
9
+ Compass::Frameworks.register 'compass_icon_fonts', :path => CompassIconFonts.base_directory
@@ -0,0 +1,65 @@
1
+ require 'active_support/inflector'
2
+
3
+ module CompassIconFonts::Fonts
4
+ def self.build
5
+ # TODO: Detect subclasses.
6
+ [Entypo, EntypoSocial].each do |font_class|
7
+ font = font_class.new
8
+ font.build
9
+ end
10
+ end
11
+
12
+ class BaseFont
13
+ def name
14
+ self.class.name.split('::').last
15
+ end
16
+
17
+ def fonts
18
+ []
19
+ end
20
+
21
+ def extensions
22
+ %w(eot woff ttf svg)
23
+ end
24
+
25
+ def size
26
+ '1.25em'
27
+ end
28
+
29
+ def source_uri
30
+ ''
31
+ end
32
+
33
+ def fetch
34
+ @raw_response = Net::HTTP.get_response(URI(source_uri))
35
+ @raw_response.body
36
+ end
37
+
38
+ def text
39
+ fetch
40
+ end
41
+
42
+ def dom
43
+ Nokogiri::HTML(fetch)
44
+ end
45
+
46
+ def pairs
47
+ {}
48
+ end
49
+
50
+ def build
51
+ dashed_name = ActiveSupport::Inflector.dasherize(ActiveSupport::Inflector.underscore(name))
52
+ template = 'lib/compass_icon_fonts/templates/font.scss.erb'
53
+ destination = 'stylesheets/compass-icon-fonts/%s.scss' % dashed_name
54
+ erb = ERB.new(File.read(File.expand_path(template, CompassIconFonts.base_directory)))
55
+
56
+ locals = { name: name, variable: dashed_name, pairs: pairs, size: size, files: fonts.product(extensions).map{|file| file.join '.' } }
57
+ scss = erb.result(OpenStruct.new(locals).instance_eval{ binding })
58
+
59
+ File.write(File.expand_path(destination, CompassIconFonts.base_directory), scss)
60
+ end
61
+ end
62
+ end
63
+
64
+ require 'compass_icon_fonts/fonts/entypo'
65
+ require 'compass_icon_fonts/fonts/entypo_social'
@@ -0,0 +1,19 @@
1
+ module CompassIconFonts::Fonts
2
+ class Entypo < BaseFont
3
+ def source_uri
4
+ 'http://www.entypo.com/'
5
+ end
6
+
7
+ def fonts
8
+ %w(entypo)
9
+ end
10
+
11
+ def pairs
12
+ characters = {}
13
+ dom.css('#characters ul:first li').each do |item|
14
+ characters[item[:title]] = item.content
15
+ end
16
+ characters
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ module CompassIconFonts::Fonts
2
+ class EntypoSocial < Entypo
3
+ def fonts
4
+ %w(entypo-social)
5
+ end
6
+
7
+ def pairs
8
+ characters = {}
9
+ dom.css('#characters ul#entypo-social li').each do |item|
10
+ characters[item[:title]] = item.content
11
+ end
12
+ characters
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ //
2
+ // <%= name %>
3
+ //
4
+ // generated <%= Time.now.strftime('%D %r') %>
5
+
6
+ @import "compass/css3/font-face";
7
+ @import "compass-icon-fonts";
8
+
9
+ $compass-icon-fonts-family: "<%= name %>";
10
+
11
+ $compass-icon-fonts-class: "<%= variable %>";
12
+
13
+ $compass-icon-fonts-files: font-files("<%= files.join('", "') %>");
14
+
15
+ $compass-icon-fonts-size: <%= size %>;
16
+
17
+ $compass-icon-fonts-characters:<% last = pairs.values.last %><% pairs.each do |classname, character| %>
18
+ "<%= classname %>", "<%= character %>"<%= character == last ? ';' : ',' %><% end %>
@@ -0,0 +1,3 @@
1
+ module CompassIconFonts
2
+ VERSION = "0.0.1"
3
+ end
metadata ADDED
@@ -0,0 +1,167 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: compass_icon_fonts
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Michael Hellein
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-05-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 2.13.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.13.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: 1.8.0
76
+ - - <
77
+ - !ruby/object:Gem::Version
78
+ version: '1.10'
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - '>='
84
+ - !ruby/object:Gem::Version
85
+ version: 1.8.0
86
+ - - <
87
+ - !ruby/object:Gem::Version
88
+ version: '1.10'
89
+ - !ruby/object:Gem::Dependency
90
+ name: nokogiri
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: active_support
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - '>='
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: compass
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - '>='
122
+ - !ruby/object:Gem::Version
123
+ version: '0.11'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0.11'
131
+ description: Simple helpers for common icon font sets.
132
+ email:
133
+ - themichaek@gmail.com
134
+ executables: []
135
+ extensions: []
136
+ extra_rdoc_files: []
137
+ files:
138
+ - lib/compass_icon_fonts.rb
139
+ - lib/compass_icon_fonts/fonts.rb
140
+ - lib/compass_icon_fonts/fonts/entypo.rb
141
+ - lib/compass_icon_fonts/fonts/entypo_social.rb
142
+ - lib/compass_icon_fonts/templates/font.scss.erb
143
+ - lib/compass_icon_fonts/version.rb
144
+ homepage: https://github.com/michaek/compass_icon_fonts
145
+ licenses: []
146
+ metadata: {}
147
+ post_install_message:
148
+ rdoc_options: []
149
+ require_paths:
150
+ - lib
151
+ required_ruby_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - '>='
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ requirements: []
162
+ rubyforge_project: '[none]'
163
+ rubygems_version: 2.0.3
164
+ signing_key:
165
+ specification_version: 4
166
+ summary: Simple helpers for common icon font sets.
167
+ test_files: []