gkh-fontcustom 1.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.travis.yml +20 -0
  4. data/CHANGELOG.md +137 -0
  5. data/CONTRIBUTING.md +50 -0
  6. data/Gemfile +4 -0
  7. data/LICENSES.txt +60 -0
  8. data/README.md +112 -0
  9. data/Rakefile +8 -0
  10. data/bin/fontcustom +5 -0
  11. data/fontcustom.gemspec +28 -0
  12. data/gemfiles/Gemfile.listen_1 +6 -0
  13. data/lib/fontcustom.rb +43 -0
  14. data/lib/fontcustom/base.rb +54 -0
  15. data/lib/fontcustom/cli.rb +110 -0
  16. data/lib/fontcustom/error.rb +4 -0
  17. data/lib/fontcustom/generator/font.rb +109 -0
  18. data/lib/fontcustom/generator/template.rb +222 -0
  19. data/lib/fontcustom/manifest.rb +75 -0
  20. data/lib/fontcustom/options.rb +192 -0
  21. data/lib/fontcustom/scripts/eotlitetool.py +466 -0
  22. data/lib/fontcustom/scripts/generate.py +128 -0
  23. data/lib/fontcustom/scripts/sfnt2woff +0 -0
  24. data/lib/fontcustom/templates/_fontcustom-rails.scss +14 -0
  25. data/lib/fontcustom/templates/_fontcustom.scss +16 -0
  26. data/lib/fontcustom/templates/fontcustom-preview.html +174 -0
  27. data/lib/fontcustom/templates/fontcustom.css +14 -0
  28. data/lib/fontcustom/templates/fontcustom.yml +96 -0
  29. data/lib/fontcustom/utility.rb +117 -0
  30. data/lib/fontcustom/version.rb +3 -0
  31. data/lib/fontcustom/watcher.rb +90 -0
  32. data/spec/fixtures/example/_example-rails.scss +50 -0
  33. data/spec/fixtures/example/example-preview.html +253 -0
  34. data/spec/fixtures/example/example.css +50 -0
  35. data/spec/fixtures/example/example.eot +0 -0
  36. data/spec/fixtures/example/example.svg +75 -0
  37. data/spec/fixtures/example/example.ttf +0 -0
  38. data/spec/fixtures/example/example.woff +0 -0
  39. data/spec/fixtures/generators/.fontcustom-manifest-corrupted.json +25 -0
  40. data/spec/fixtures/generators/.fontcustom-manifest-empty.json +0 -0
  41. data/spec/fixtures/generators/.fontcustom-manifest.json +52 -0
  42. data/spec/fixtures/generators/fontcustom.yml +1 -0
  43. data/spec/fixtures/generators/mixed-output/another-font.ttf +0 -0
  44. data/spec/fixtures/generators/mixed-output/dont-delete-me.bro +0 -0
  45. data/spec/fixtures/generators/mixed-output/fontcustom.css +108 -0
  46. data/spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.eot +0 -0
  47. data/spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.svg +56 -0
  48. data/spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.ttf +0 -0
  49. data/spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.woff +0 -0
  50. data/spec/fixtures/options/any-file-name.yml +1 -0
  51. data/spec/fixtures/options/config-is-in-dir/fontcustom.yml +1 -0
  52. data/spec/fixtures/options/fontcustom-empty.yml +1 -0
  53. data/spec/fixtures/options/fontcustom-malformed.yml +1 -0
  54. data/spec/fixtures/options/fontcustom.yml +1 -0
  55. data/spec/fixtures/options/no-config-here/.gitkeep +0 -0
  56. data/spec/fixtures/options/rails-like/config/fontcustom.yml +1 -0
  57. data/spec/fixtures/shared/not-a-dir +0 -0
  58. data/spec/fixtures/shared/templates/custom.css +4 -0
  59. data/spec/fixtures/shared/templates/regular.css +4 -0
  60. data/spec/fixtures/shared/vectors-empty/no_vectors_here.txt +0 -0
  61. data/spec/fixtures/shared/vectors/C.svg +14 -0
  62. data/spec/fixtures/shared/vectors/D.svg +15 -0
  63. data/spec/fixtures/shared/vectors/a_R3ally-eXotic f1Le Name.svg +6 -0
  64. data/spec/fontcustom/base_spec.rb +45 -0
  65. data/spec/fontcustom/cli_spec.rb +30 -0
  66. data/spec/fontcustom/generator/font_spec.rb +72 -0
  67. data/spec/fontcustom/generator/template_spec.rb +99 -0
  68. data/spec/fontcustom/manifest_spec.rb +17 -0
  69. data/spec/fontcustom/options_spec.rb +315 -0
  70. data/spec/fontcustom/utility_spec.rb +82 -0
  71. data/spec/fontcustom/watcher_spec.rb +121 -0
  72. data/spec/spec_helper.rb +103 -0
  73. metadata +252 -0
@@ -0,0 +1,82 @@
1
+ require "spec_helper"
2
+
3
+ describe Fontcustom::Utility do
4
+ class Generator
5
+ include Fontcustom::Utility
6
+ attr_accessor :options, :manifest
7
+
8
+ def initialize
9
+ @options = { :quiet => false }
10
+ @manifest = fixture ".fontcustom-manifest.json"
11
+ end
12
+ end
13
+
14
+ it "should include Thor::Action methods" do
15
+ gen = Generator.new
16
+ %w|template add_file remove_file|.each do |method|
17
+ expect(gen).to respond_to(method.to_sym)
18
+ end
19
+ end
20
+
21
+ context "#symbolize_hash" do
22
+ it "should turn string keys into symbols" do
23
+ gen = Generator.new
24
+ hash = gen.symbolize_hash "foo" => "bar"
25
+ expect(hash).to eq({ :foo => "bar" })
26
+ end
27
+ end
28
+
29
+ context "#methodize_hash" do
30
+ it "should define getter method" do
31
+ gen = Generator.new
32
+ hash = gen.methodize_hash :foo => "bar"
33
+ expect(hash.foo).to eq("bar")
34
+ end
35
+
36
+ it "should define setter method" do
37
+ gen = Generator.new
38
+ hash = gen.methodize_hash :foo => "bar"
39
+ hash.foo = "baz"
40
+ expect(hash.foo).to eq("baz")
41
+ end
42
+ end
43
+
44
+ context "#write_file" do
45
+ it "should replace the contents of a file" do
46
+ gen = Generator.new
47
+ file = double "file"
48
+ expect(File).to receive(:open).with(fixture("shared/test"), "w").and_yield file
49
+ expect(file).to receive(:write).with("testing")
50
+ gen.write_file fixture("shared/test"), "testing"
51
+ end
52
+ end
53
+
54
+ #context "#say_message" do
55
+ #it "should not respond if :quiet is true" do
56
+ #pending
57
+ #gen = Generator.new
58
+ #gen.options[:quiet] = true
59
+ #output = capture(:stdout) { gen.say_message(:test, "Hello") }
60
+ #output.should == ""
61
+ #end
62
+ #end
63
+
64
+ #context "#say_changed" do
65
+ #it "should strip :project_root from changed paths" do
66
+ #pending
67
+ #changed = %w|a b c|.map { |file| fixture(file) }
68
+ #gen = Generator.new
69
+ #output = capture(:stdout) { gen.say_changed(:success, changed) }
70
+ #output.should_not match(fixture)
71
+ #end
72
+
73
+ #it "should not respond if :quiet is true " do
74
+ #pending
75
+ #changed = %w|a b c|.map { |file| fixture(file) }
76
+ #gen = Generator.new
77
+ #gen.options[:quiet] = true
78
+ #output = capture(:stdout) { gen.say_changed(:success, changed) }
79
+ #output.should == ""
80
+ #end
81
+ #end
82
+ end
@@ -0,0 +1,121 @@
1
+ require "spec_helper"
2
+ require "fileutils"
3
+ require "fontcustom/watcher"
4
+
5
+ describe Fontcustom::Watcher do
6
+ # Silence messages without passing :quiet => true to everything
7
+ #before(:each) do
8
+ #Fontcustom::Options.any_instance.stub :say_message
9
+ #end
10
+
11
+ def watcher(options)
12
+ allow_any_instance_of(Fontcustom::Manifest).to receive(:write_file)
13
+ allow_any_instance_of(Fontcustom::Base).to receive(:compile)
14
+
15
+ # undocumented — non-blocking use of watcher for testing
16
+ Fontcustom::Watcher.new options, true
17
+ end
18
+
19
+ context "#watch" do
20
+ it "should compile on init" do
21
+ expect_any_instance_of(Fontcustom::Base).to receive(:compile).once
22
+
23
+ w = watcher(
24
+ :input => "shared/vectors",
25
+ :output => "output"
26
+ )
27
+
28
+ # silence output
29
+ capture(:stdout) do
30
+ w.watch
31
+ w.send :stop
32
+ end
33
+ end
34
+
35
+ it "should not call generators on init if options[:skip_first] is passed" do
36
+ expect_any_instance_of(Fontcustom::Base).to_not receive(:compile).once
37
+
38
+ w = watcher(
39
+ :input => "shared/vectors",
40
+ :output => "output",
41
+ :skip_first => true
42
+ )
43
+
44
+ capture(:stdout) do
45
+ w.watch
46
+ w.send :stop
47
+ end
48
+ end
49
+
50
+ it "should call generators when vectors change" do
51
+ expect_any_instance_of(Fontcustom::Base).to receive(:compile).once
52
+
53
+ w = watcher(
54
+ :input => "shared/vectors",
55
+ :output => "output",
56
+ :skip_first => true
57
+ )
58
+
59
+ capture(:stdout) do
60
+ begin
61
+ w.watch
62
+ FileUtils.cp fixture("shared/vectors/C.svg"), fixture("shared/vectors/test.svg")
63
+ sleep 1
64
+ ensure
65
+ w.send :stop
66
+ new = fixture("shared/vectors/test.svg")
67
+ FileUtils.rm(new) if File.exists?(new)
68
+ end
69
+ end
70
+ end
71
+
72
+ it "should call generators when custom templates change" do
73
+ expect_any_instance_of(Fontcustom::Base).to receive(:compile)
74
+
75
+ w = watcher(
76
+ :input => {:vectors => "shared/vectors", :templates => "shared/templates"},
77
+ :templates => %w|css preview custom.css|,
78
+ :output => "output",
79
+ :skip_first => false
80
+ )
81
+
82
+ capture(:stdout) do
83
+ begin
84
+ template = fixture "shared/templates/custom.css"
85
+ content = File.read template
86
+ new = content + "\n.bar { color: red; }"
87
+
88
+ w.watch
89
+ sleep 1
90
+ File.open(template, "w") { |file| file.write(new) }
91
+ sleep 1
92
+ ensure
93
+ w.send :stop
94
+ File.open(template, "w") { |file| file.write(content) }
95
+ end
96
+ end
97
+
98
+ end
99
+
100
+ it "should do nothing when non-vectors change" do
101
+ expect_any_instance_of(Fontcustom::Base).to_not receive(:compile).once
102
+
103
+ w = watcher(
104
+ :input => "shared/vectors",
105
+ :output => "output",
106
+ :skip_first => true
107
+ )
108
+
109
+ capture(:stdout) do
110
+ begin
111
+ w.watch
112
+ FileUtils.touch fixture("shared/vectors/non-vector-file")
113
+ ensure
114
+ w.send :stop
115
+ new = fixture("shared/vectors/non-vector-file")
116
+ FileUtils.rm(new) if File.exists?(new)
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,103 @@
1
+ require "rspec"
2
+ require "json"
3
+ require "fileutils"
4
+ require File.expand_path("../../lib/fontcustom.rb", __FILE__)
5
+
6
+ RSpec.configure do |c|
7
+ c.before(:all) do
8
+ FileUtils.cd fixture
9
+ puts "Running `cd #{Dir.pwd}`"
10
+ end
11
+
12
+ def fixture(path = "")
13
+ File.join(File.expand_path("../fixtures", __FILE__), path)
14
+ end
15
+
16
+ def manifest_contents
17
+ {
18
+ :checksum => {
19
+ :current => "82a59e769bc60192484f2620570bbb59e225db97c1aac3f242a2e49d6060a19c",
20
+ :previous => "82a59e769bc60192484f2620570bbb59e225db97c1aac3f242a2e49d6060a19c"
21
+ },
22
+ :fonts => [
23
+ "fontcustom/fontcustom_82a59e769bc60192484f2620570bbb59.ttf",
24
+ "fontcustom/fontcustom_82a59e769bc60192484f2620570bbb59.svg",
25
+ "fontcustom/fontcustom_82a59e769bc60192484f2620570bbb59.woff",
26
+ "fontcustom/fontcustom_82a59e769bc60192484f2620570bbb59.eot"
27
+ ],
28
+ :glyphs => {
29
+ :"a_r3ally-exotic-f1le-name" => {
30
+ :codepoint => 61696,
31
+ :source => "vectors/a_R3ally-eXotic f1Le Name.svg"
32
+ },
33
+ :c => {
34
+ :codepoint => 61697,
35
+ :source => "vectors/C.svg"
36
+ },
37
+ :d => {
38
+ :codepoint => 61698,
39
+ :source => "vectors/D.svg"}
40
+ },
41
+ :options => {
42
+ :autowidth => false,
43
+ :config => false,
44
+ :css_selector => ".icon-{{glyph}}",
45
+ :debug => false,
46
+ :font_name => "fontcustom",
47
+ :force => true,
48
+ :input => {
49
+ :templates => "vectors",
50
+ :vectors => "vectors"
51
+ },
52
+ :no_hash => false,
53
+ :output => {
54
+ :css => "fontcustom",
55
+ :fonts => "fontcustom",
56
+ :preview => "fontcustom"
57
+ },
58
+ :preprocessor_path => nil,
59
+ :quiet => true,
60
+ :templates => [
61
+ "css",
62
+ "scss",
63
+ "preview"
64
+ ]
65
+ },
66
+ :templates => []
67
+ }
68
+ end
69
+
70
+ def fontforge_stderr
71
+ "Copyright (c) 2000-2012 by George Williams.\n Executable based on sources from 14:57 GMT 31-Jul-2012-D.\n Library based on sources from 14:57 GMT 31-Jul-2012.\n"
72
+ end
73
+
74
+ def capture(stream)
75
+ begin
76
+ stream = stream.to_s
77
+ eval "$#{stream} = StringIO.new"
78
+ yield
79
+ result = eval("$#{stream}").string
80
+ ensure
81
+ eval("$#{stream} = #{stream.upcase}")
82
+ end
83
+ result
84
+ end
85
+
86
+ def live_test
87
+ testdir = fixture File.join("sandbox", "test")
88
+ FileUtils.rm_r testdir if File.directory?(testdir)
89
+ FileUtils.mkdir testdir
90
+ FileUtils.cp_r fixture("shared/vectors"), testdir
91
+ FileUtils.cd testdir do
92
+ yield(testdir)
93
+ end
94
+ end
95
+
96
+ def test_manifest(options = { :input => "vectors", :quiet => true })
97
+ base = Fontcustom::Base.new options
98
+ manifest = base.instance_variable_get :@manifest
99
+ checksum = base.send :checksum
100
+ manifest.set :checksum, { :current => checksum, :previous => "" }
101
+ manifest
102
+ end
103
+ end
metadata ADDED
@@ -0,0 +1,252 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gkh-fontcustom
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.7
5
+ platform: ruby
6
+ authors:
7
+ - Kai Zau
8
+ - Joshua Gross
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-11-12 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: json
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.4'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.4'
28
+ - !ruby/object:Gem::Dependency
29
+ name: thor
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '0.14'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '0.14'
42
+ - !ruby/object:Gem::Dependency
43
+ name: listen
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '1.0'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '3.0'
52
+ type: :runtime
53
+ prerelease: false
54
+ version_requirements: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '1.0'
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ - !ruby/object:Gem::Dependency
77
+ name: bundler
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ - !ruby/object:Gem::Dependency
91
+ name: rspec
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 3.1.0
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 3.1.0
104
+ description: Font Custom makes using vector icons easy. Generate icon fonts and supporting
105
+ templates (e.g. @font-face CSS) from a collection of SVGs.
106
+ email:
107
+ - kai@kaizau.com
108
+ - joshua@gross.is
109
+ executables:
110
+ - fontcustom
111
+ extensions: []
112
+ extra_rdoc_files: []
113
+ files:
114
+ - ".gitignore"
115
+ - ".travis.yml"
116
+ - CHANGELOG.md
117
+ - CONTRIBUTING.md
118
+ - Gemfile
119
+ - LICENSES.txt
120
+ - README.md
121
+ - Rakefile
122
+ - bin/fontcustom
123
+ - fontcustom.gemspec
124
+ - gemfiles/Gemfile.listen_1
125
+ - lib/fontcustom.rb
126
+ - lib/fontcustom/base.rb
127
+ - lib/fontcustom/cli.rb
128
+ - lib/fontcustom/error.rb
129
+ - lib/fontcustom/generator/font.rb
130
+ - lib/fontcustom/generator/template.rb
131
+ - lib/fontcustom/manifest.rb
132
+ - lib/fontcustom/options.rb
133
+ - lib/fontcustom/scripts/eotlitetool.py
134
+ - lib/fontcustom/scripts/generate.py
135
+ - lib/fontcustom/scripts/sfnt2woff
136
+ - lib/fontcustom/templates/_fontcustom-rails.scss
137
+ - lib/fontcustom/templates/_fontcustom.scss
138
+ - lib/fontcustom/templates/fontcustom-preview.html
139
+ - lib/fontcustom/templates/fontcustom.css
140
+ - lib/fontcustom/templates/fontcustom.yml
141
+ - lib/fontcustom/utility.rb
142
+ - lib/fontcustom/version.rb
143
+ - lib/fontcustom/watcher.rb
144
+ - spec/fixtures/example/_example-rails.scss
145
+ - spec/fixtures/example/example-preview.html
146
+ - spec/fixtures/example/example.css
147
+ - spec/fixtures/example/example.eot
148
+ - spec/fixtures/example/example.svg
149
+ - spec/fixtures/example/example.ttf
150
+ - spec/fixtures/example/example.woff
151
+ - spec/fixtures/generators/.fontcustom-manifest-corrupted.json
152
+ - spec/fixtures/generators/.fontcustom-manifest-empty.json
153
+ - spec/fixtures/generators/.fontcustom-manifest.json
154
+ - spec/fixtures/generators/fontcustom.yml
155
+ - spec/fixtures/generators/mixed-output/another-font.ttf
156
+ - spec/fixtures/generators/mixed-output/dont-delete-me.bro
157
+ - spec/fixtures/generators/mixed-output/fontcustom.css
158
+ - spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.eot
159
+ - spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.svg
160
+ - spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.ttf
161
+ - spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.woff
162
+ - spec/fixtures/options/any-file-name.yml
163
+ - spec/fixtures/options/config-is-in-dir/fontcustom.yml
164
+ - spec/fixtures/options/fontcustom-empty.yml
165
+ - spec/fixtures/options/fontcustom-malformed.yml
166
+ - spec/fixtures/options/fontcustom.yml
167
+ - spec/fixtures/options/no-config-here/.gitkeep
168
+ - spec/fixtures/options/rails-like/config/fontcustom.yml
169
+ - spec/fixtures/sandbox/.gitkeep
170
+ - spec/fixtures/shared/not-a-dir
171
+ - spec/fixtures/shared/templates/custom.css
172
+ - spec/fixtures/shared/templates/regular.css
173
+ - spec/fixtures/shared/vectors-empty/no_vectors_here.txt
174
+ - spec/fixtures/shared/vectors/C.svg
175
+ - spec/fixtures/shared/vectors/D.svg
176
+ - spec/fixtures/shared/vectors/a_R3ally-eXotic f1Le Name.svg
177
+ - spec/fontcustom/base_spec.rb
178
+ - spec/fontcustom/cli_spec.rb
179
+ - spec/fontcustom/generator/font_spec.rb
180
+ - spec/fontcustom/generator/template_spec.rb
181
+ - spec/fontcustom/manifest_spec.rb
182
+ - spec/fontcustom/options_spec.rb
183
+ - spec/fontcustom/utility_spec.rb
184
+ - spec/fontcustom/watcher_spec.rb
185
+ - spec/spec_helper.rb
186
+ homepage: http://fontcustom.com
187
+ licenses: []
188
+ metadata: {}
189
+ post_install_message: ">> Thanks for installing Font Custom! Please ensure that fontforge
190
+ is installed before compiling any icons. Visit <http://fontcustom.com> for instructions."
191
+ rdoc_options: []
192
+ require_paths:
193
+ - lib
194
+ required_ruby_version: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ required_rubygems_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ requirements: []
205
+ rubyforge_project:
206
+ rubygems_version: 2.4.5
207
+ signing_key:
208
+ specification_version: 4
209
+ summary: Generate icon fonts from the command line.
210
+ test_files:
211
+ - spec/fixtures/example/_example-rails.scss
212
+ - spec/fixtures/example/example-preview.html
213
+ - spec/fixtures/example/example.css
214
+ - spec/fixtures/example/example.eot
215
+ - spec/fixtures/example/example.svg
216
+ - spec/fixtures/example/example.ttf
217
+ - spec/fixtures/example/example.woff
218
+ - spec/fixtures/generators/.fontcustom-manifest-corrupted.json
219
+ - spec/fixtures/generators/.fontcustom-manifest-empty.json
220
+ - spec/fixtures/generators/.fontcustom-manifest.json
221
+ - spec/fixtures/generators/fontcustom.yml
222
+ - spec/fixtures/generators/mixed-output/another-font.ttf
223
+ - spec/fixtures/generators/mixed-output/dont-delete-me.bro
224
+ - spec/fixtures/generators/mixed-output/fontcustom.css
225
+ - spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.eot
226
+ - spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.svg
227
+ - spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.ttf
228
+ - spec/fixtures/generators/mixed-output/fontcustom_82a59e769bc60192484f2620570bbb59.woff
229
+ - spec/fixtures/options/any-file-name.yml
230
+ - spec/fixtures/options/config-is-in-dir/fontcustom.yml
231
+ - spec/fixtures/options/fontcustom-empty.yml
232
+ - spec/fixtures/options/fontcustom-malformed.yml
233
+ - spec/fixtures/options/fontcustom.yml
234
+ - spec/fixtures/options/no-config-here/.gitkeep
235
+ - spec/fixtures/options/rails-like/config/fontcustom.yml
236
+ - spec/fixtures/sandbox/.gitkeep
237
+ - spec/fixtures/shared/not-a-dir
238
+ - spec/fixtures/shared/templates/custom.css
239
+ - spec/fixtures/shared/templates/regular.css
240
+ - spec/fixtures/shared/vectors-empty/no_vectors_here.txt
241
+ - spec/fixtures/shared/vectors/C.svg
242
+ - spec/fixtures/shared/vectors/D.svg
243
+ - spec/fixtures/shared/vectors/a_R3ally-eXotic f1Le Name.svg
244
+ - spec/fontcustom/base_spec.rb
245
+ - spec/fontcustom/cli_spec.rb
246
+ - spec/fontcustom/generator/font_spec.rb
247
+ - spec/fontcustom/generator/template_spec.rb
248
+ - spec/fontcustom/manifest_spec.rb
249
+ - spec/fontcustom/options_spec.rb
250
+ - spec/fontcustom/utility_spec.rb
251
+ - spec/fontcustom/watcher_spec.rb
252
+ - spec/spec_helper.rb