compass_icon_fonts 0.0.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.
@@ -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: []