typekit-rails 0.0.2

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 35b60f6dcd9447e5e50bdc0dedefeed59366fae0
4
+ data.tar.gz: c62b89c393b3d87af6933f77405fa0282c4fd470
5
+ SHA512:
6
+ metadata.gz: c9af0cd457399356c9d157ce98aa46863b62df18dea7d4cd57826bab696504bcd335b286bc377b35cba8dcbac31cc61ecd28a2e509a5537d72531013ca558bec
7
+ data.tar.gz: 2ad8b414f5997f5d9eba03c2a22cc78547fdf3c3b40de0e7d305b3e2f8a1ed37b6caca24229894471e49aeba56411d75d72ba1f3a794c91899d8990cbeef23c3
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ typekit-rails-*.gem
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Chris Bielinski
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,41 @@
1
+ # Typekit for Rails [![Gem Version](http://img.shields.io/gem/v/typekit.svg)](https://rubygems.org/gems/typekit-rails)
2
+
3
+ Adds a Typekit helper to your Rails application and uses [some best practices](http://www.hagenburger.net/BLOG/A-Better-Typekit-Integration.html) for the integration.
4
+
5
+ ### Installation
6
+
7
+ In your `Gemfile` just add:
8
+
9
+ ```ruby
10
+ gem 'typekit'
11
+ ```
12
+
13
+ #### Use the Generator
14
+
15
+ Run the generator which will prompt you for your kit ID.
16
+
17
+ ```
18
+ rails g typekit:install`
19
+ ```
20
+
21
+ #### Pro Usage
22
+
23
+ Add the JavaScript helper to `application.js` or equivalent:
24
+
25
+ ```
26
+ //= require typekit
27
+ ```
28
+
29
+ Specify your kit ID as such right near the top of your `<head>` element:
30
+
31
+ ```
32
+ <%= typekit 'abc123def456' %>
33
+ ```
34
+
35
+ ### License
36
+
37
+ Licensed under the [MIT License](http://opensource.org/licenses/mit-license.html).
38
+
39
+ ### Authors
40
+
41
+ * Chris Bielinski <chris@shadowreactor.com>
@@ -0,0 +1,2 @@
1
+ try
2
+ Typekit.load()
@@ -0,0 +1,8 @@
1
+ module Typekit
2
+ module ViewHelper
3
+ def typekit(kit_id)
4
+ return if kit_id == '- YOUR KIT ID HERE -'
5
+ content_tag :script, nil, src: "//use.typekit.com/#{kit_id}.js", async: true
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,47 @@
1
+ require 'rails/generators'
2
+
3
+ module Typekit
4
+ module Generators
5
+ class InstallGenerator < ::Rails::Generators::Base
6
+ desc 'Inject Typekit helpers into application code'
7
+
8
+ def inject_javascript
9
+ application_js_path = 'app/assets/javascripts/application.js'
10
+ if ::File.exists?(::File.join(destination_root, application_js_path))
11
+ inject_into_file application_js_path, before: '//= require_tree' do
12
+ "//= require typekit\n"
13
+ end
14
+ end
15
+ end
16
+
17
+ # def inject_view_helper
18
+ # application_controller_path = 'app/controllers/application_controller.rb'
19
+ # if ::File.exists?(::File.join(destination_root, application_controller_path))
20
+ # inject_into_file application_controller_path, after: "class ApplicationController < ActionController::Base\n" do
21
+ # " helper :typekit\n"
22
+ # end
23
+ # end
24
+ # end
25
+
26
+ def inject_into_layout
27
+ application_layout_path_prefix = 'app/views/layouts/application.html'
28
+
29
+ api_key = ask 'What is your kit ID (leave blank to specify later):'
30
+ api_key = '- YOUR KIT ID HERE -' if api_key.blank?
31
+
32
+ layout_templates = { slim: { content: " = typekit '#{api_key}'", after: "head\n" }}
33
+ layout_templates[:erb] = { content: " <%#{layout_templates[:slim][:content]} %>", after: "<head>\n" }
34
+
35
+ layout_templates.each_pair do |lang,options|
36
+ path = ::File.join(destination_root, "#{application_layout_path_prefix}.#{lang}")
37
+ if ::File.exists?(path)
38
+ inject_into_file path, after: options[:after] do
39
+ "#{options[:content]}\n"
40
+ end
41
+ end
42
+ end
43
+ end
44
+
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,13 @@
1
+ module Typekit
2
+ module Rails
3
+ class Engine < ::Rails::Engine
4
+
5
+ initializer 'typekit.action_controller' do |app|
6
+ ActiveSupport.on_load :action_controller do
7
+ helper Typekit::ViewHelper
8
+ end
9
+ end
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ module Typekit
2
+ module Rails
3
+ class Railtie < ::Rails::Railtie
4
+ generators do
5
+ require 'typekit/generators/install_generator'
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,3 @@
1
+ module Typekit
2
+ VERSION = '0.0.2'
3
+ end
@@ -0,0 +1 @@
1
+ require 'typekit_rails'
@@ -0,0 +1,4 @@
1
+ if defined?(::Rails)
2
+ require 'typekit/rails/railtie'
3
+ require 'typekit/rails/engine'
4
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "typekit/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'typekit-rails'
7
+ s.version = Typekit::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = [ 'Chris Bielinski' ]
10
+ s.email = [ 'chris@shadowreactor.com' ]
11
+ s.homepage = 'https://github.com/chrisb/typekit-rails'
12
+ s.summary = %q{Adobe Typekit helper for Rails.}
13
+ s.description = %q{Adobe Typekit helper for Rails.}
14
+
15
+ s.license = 'MIT'
16
+
17
+ # s.add_development_dependency "rspec"
18
+ # s.rubyforge_project = "lorem"
19
+
20
+ s.files = `git ls-files`.split("\n")
21
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
23
+ s.require_paths = [ 'lib' ]
24
+ end
metadata ADDED
@@ -0,0 +1,56 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: typekit-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Chris Bielinski
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-07 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Adobe Typekit helper for Rails.
14
+ email:
15
+ - chris@shadowreactor.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".gitignore"
21
+ - LICENSE
22
+ - README.md
23
+ - app/assets/javascripts/typekit.js.coffee
24
+ - app/helpers/typekit/view_helper.rb
25
+ - lib/typekit-rails.rb
26
+ - lib/typekit/generators/install_generator.rb
27
+ - lib/typekit/rails/engine.rb
28
+ - lib/typekit/rails/railtie.rb
29
+ - lib/typekit/version.rb
30
+ - lib/typekit_rails.rb
31
+ - typekit-rails.gemspec
32
+ homepage: https://github.com/chrisb/typekit-rails
33
+ licenses:
34
+ - MIT
35
+ metadata: {}
36
+ post_install_message:
37
+ rdoc_options: []
38
+ require_paths:
39
+ - lib
40
+ required_ruby_version: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ required_rubygems_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ requirements: []
51
+ rubyforge_project:
52
+ rubygems_version: 2.2.2
53
+ signing_key:
54
+ specification_version: 4
55
+ summary: Adobe Typekit helper for Rails.
56
+ test_files: []