icofont 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +34 -0
  5. data/app/assets/images/icofont/icofont-admin.svg +1909 -0
  6. data/app/assets/javascripts/icofont/application.js +14 -0
  7. data/app/assets/javascripts/icofont/icofont.js +157 -0
  8. data/app/assets/stylesheets/icofont/application.css +158 -0
  9. data/app/controllers/icofont/application_controller.rb +4 -0
  10. data/app/controllers/icofont/glyphs_controller.rb +16 -0
  11. data/app/controllers/icofont/home_controller.rb +8 -0
  12. data/app/views/icofont/home/index.html.erb +2331 -0
  13. data/app/views/layouts/icofont/application.html.erb +37 -0
  14. data/config/routes.rb +6 -0
  15. data/lib/generators/icofont_generator.rb +25 -0
  16. data/lib/icofont.rb +8 -0
  17. data/lib/icofont/engine.rb +5 -0
  18. data/lib/icofont/font_processor.rb +64 -0
  19. data/lib/icofont/glyph.rb +21 -0
  20. data/lib/icofont/paths.rb +47 -0
  21. data/lib/icofont/templates/icofont.css.erb +28 -0
  22. data/lib/icofont/version.rb +3 -0
  23. data/lib/tasks/icofont.rake +9 -0
  24. data/test/controllers/icofont/glyphs_controller_test.rb +15 -0
  25. data/test/dummy/README.rdoc +28 -0
  26. data/test/dummy/Rakefile +6 -0
  27. data/test/dummy/app/assets/icofont/icofont.eot +0 -0
  28. data/test/dummy/app/assets/icofont/icofont.svg +37 -0
  29. data/test/dummy/app/assets/icofont/icofont.ttf +0 -0
  30. data/test/dummy/app/assets/icofont/icofont.woff +0 -0
  31. data/test/dummy/app/assets/javascripts/application.js +13 -0
  32. data/test/dummy/app/assets/stylesheets/application.css +30 -0
  33. data/test/dummy/app/assets/stylesheets/icofont.css.erb +32 -0
  34. data/test/dummy/app/controllers/application_controller.rb +5 -0
  35. data/test/dummy/app/controllers/home_controller.rb +5 -0
  36. data/test/dummy/app/helpers/application_helper.rb +2 -0
  37. data/test/dummy/app/views/home/index.html.erb +10 -0
  38. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  39. data/test/dummy/bin/bundle +3 -0
  40. data/test/dummy/bin/rails +4 -0
  41. data/test/dummy/bin/rake +4 -0
  42. data/test/dummy/config.ru +4 -0
  43. data/test/dummy/config/application.rb +23 -0
  44. data/test/dummy/config/boot.rb +5 -0
  45. data/test/dummy/config/database.yml +25 -0
  46. data/test/dummy/config/environment.rb +5 -0
  47. data/test/dummy/config/environments/development.rb +29 -0
  48. data/test/dummy/config/environments/production.rb +80 -0
  49. data/test/dummy/config/environments/test.rb +36 -0
  50. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  51. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  52. data/test/dummy/config/initializers/inflections.rb +16 -0
  53. data/test/dummy/config/initializers/mime_types.rb +5 -0
  54. data/test/dummy/config/initializers/secret_token.rb +12 -0
  55. data/test/dummy/config/initializers/session_store.rb +3 -0
  56. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  57. data/test/dummy/config/locales/en.yml +23 -0
  58. data/test/dummy/config/routes.rb +7 -0
  59. data/test/dummy/db/development.sqlite3 +0 -0
  60. data/test/dummy/db/test.sqlite3 +0 -0
  61. data/test/dummy/log/development.log +130 -0
  62. data/test/dummy/public/404.html +58 -0
  63. data/test/dummy/public/422.html +58 -0
  64. data/test/dummy/public/500.html +57 -0
  65. data/test/dummy/public/favicon.ico +0 -0
  66. data/test/dummy/tmp/cache/assets/development/sprockets/04829d347d9f68d358f7f3ed5b6cc26b +0 -0
  67. data/test/dummy/tmp/cache/assets/development/sprockets/0d0aff83a39e4b56699824292d221f34 +0 -0
  68. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  69. data/test/dummy/tmp/cache/assets/development/sprockets/24d083ea390a819365fbe17c7ec05d59 +0 -0
  70. data/test/dummy/tmp/cache/assets/development/sprockets/24d84d0cc64aa34aa33579f9d48bfdea +0 -0
  71. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  72. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  73. data/test/dummy/tmp/cache/assets/development/sprockets/413d4f812714ff32e3332c19ac4b0a6f +0 -0
  74. data/test/dummy/tmp/cache/assets/development/sprockets/424b7c8f201f15b2d005a3aa03b1c6aa +0 -0
  75. data/test/dummy/tmp/cache/assets/development/sprockets/492eb72ca49fb7259a01123b6b557dcd +0 -0
  76. data/test/dummy/tmp/cache/assets/development/sprockets/4c0a62e87ce0f4d493ecda1ec95edc86 +0 -0
  77. data/test/dummy/tmp/cache/assets/development/sprockets/532a1301560c90201d5c45a9280cd6aa +0 -0
  78. data/test/dummy/tmp/cache/assets/development/sprockets/60f6b54f5c28c6ba989c0bef67651eb8 +0 -0
  79. data/test/dummy/tmp/cache/assets/development/sprockets/634f947263a9dad3630bcb82f993f501 +0 -0
  80. data/test/dummy/tmp/cache/assets/development/sprockets/64a4ec8e11a49ecd704292cf88bb933f +0 -0
  81. data/test/dummy/tmp/cache/assets/development/sprockets/6fe8009ed3794d8121d8e7aecb4886b2 +0 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/8ac51387eeb227d3eae66457f70bb432 +0 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/a4eee2c16d7225baa3590994501801a1 +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/a8c8b4cf14d078fdb0b05ba331fa0f29 +0 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/af74ee9b36abd748f265a90b6157a050 +0 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/c2680b7fe0e23bf6cdb5a11f109aa3ef +0 -0
  87. data/test/dummy/tmp/cache/assets/development/sprockets/c6b9a2d89c207acb5a40f26035ef9d67 +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/d57b48f735a12d07d3f8c4a3598a4af7 +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/dd05c13ed512f437cc33e634c360c0c8 +0 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/dee449466bbd42a74357d212450d6123 +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/e739fe521c001f47f3e1fba2533df7c0 +0 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/eea61d079eea48127f145f0961eb8ffd +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/fa462010dcbf2c0746f1a0c521625f63 +0 -0
  97. data/test/fixtures/fonts/fontcustom-manifest.yml +15 -0
  98. data/test/fixtures/fonts/icofont.eot +0 -0
  99. data/test/fixtures/fonts/icofont.svg +33 -0
  100. data/test/fixtures/fonts/icofont.ttf +0 -0
  101. data/test/fixtures/fonts/icofont.woff +0 -0
  102. data/test/fixtures/icofont.txt +2 -0
  103. data/test/icofont_test.rb +7 -0
  104. data/test/lib/icofont/font_processor_test.rb +54 -0
  105. data/test/lib/icofont/glyph_test.rb +21 -0
  106. data/test/lib/icofont/paths_test.rb +7 -0
  107. data/test/test_helper.rb +16 -0
  108. metadata +200 -4
@@ -0,0 +1,37 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Icofont</title>
5
+ <%= stylesheet_link_tag "icofont/application", media: "all" %>
6
+ <%= csrf_meta_tags %>
7
+ </head>
8
+ <body class="icofonts-admin">
9
+ <div class="main-cont">
10
+ <div class="main-body">
11
+
12
+ <div class="main-left">
13
+ <div class="main-inner">
14
+ <%= yield %>
15
+ </div>
16
+ </div>
17
+
18
+ <div class="main-right">
19
+ <div class="main-inner">
20
+ <h1 class="main-title"><b>ico</b>fonts</h1>
21
+
22
+ <div class="main-right-controls">
23
+ <button id="icofonts-update-btn">Update</button>
24
+ <p id="icofonts-msg"></p>
25
+ </div>
26
+
27
+ <h2>Selected</h2>
28
+ <div id="icofonts-selected"></div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+
34
+ <%= javascript_include_tag "icofont/application" %>
35
+
36
+ </body>
37
+ </html>
@@ -0,0 +1,6 @@
1
+ Icofont::Engine.routes.draw do
2
+ get 'glyphs' => 'glyphs#index'
3
+ post 'glyphs/update' => 'glyphs#update'
4
+
5
+ root :to => 'home#index'
6
+ end
@@ -0,0 +1,25 @@
1
+ require 'tmpdir'
2
+ require 'fileutils'
3
+ require_relative '../icofont'
4
+
5
+ class IcofontGenerator < Rails::Generators::Base
6
+ include FileUtils::Verbose
7
+
8
+ GITHUB_REPO = 'https://github.com/lugolabs/icofont-glyphs'
9
+
10
+ desc "Generates the SVG fonts file based on glyphs on #{Icofont::Paths.glyphs_path}"
11
+ def create_svg
12
+ create_file Icofont::Paths.glyphs_path
13
+ end
14
+
15
+ desc 'Copies the SVG glyphs necessary to generate the icofonts'
16
+ def copy_glyphs
17
+ svg_root = Icofont::Paths.svg_root
18
+ unless Dir.exists?(svg_root)
19
+ tmp_dir = Dir.mktmpdir
20
+ git clone: "#{GITHUB_REPO} #{tmp_dir}"
21
+ mv File.join(tmp_dir, Icofont::Paths.svg_folder), svg_root
22
+ rm_rf tmp_dir
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,8 @@
1
+ require "icofont/engine"
2
+ require "icofont/paths"
3
+ require "icofont/glyph"
4
+ require "icofont/font_processor"
5
+
6
+ module Icofont
7
+ FONT_NAME = 'icofont'
8
+ end
@@ -0,0 +1,5 @@
1
+ module Icofont
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace Icofont
4
+ end
5
+ end
@@ -0,0 +1,64 @@
1
+ require 'tmpdir'
2
+ require 'fileutils'
3
+ require 'rubygems'
4
+ require 'fontcustom'
5
+
6
+ module Icofont
7
+ class FontProcessor
8
+ include FileUtils::Verbose
9
+
10
+ def initialize(icons)
11
+ @icons = icons
12
+ end
13
+
14
+ def generate
15
+ clean_dir Paths.output_fonts_path
16
+ rm Paths.output_css_file_path if File.exists?(Paths.output_css_file_path)
17
+ return unless @icons && @icons.length > 0
18
+
19
+ with_glyphs do |tmp_dir|
20
+ generate_vectors tmp_dir
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ def generate_vectors(vectors_path)
27
+ options = {
28
+ # debug: true,
29
+ input: vectors_path,
30
+ output: Paths.output_fonts_path,
31
+ templates: [Paths.templates_path],
32
+ font_name: FONT_NAME,
33
+ css_prefix: "#{FONT_NAME}-",
34
+ no_hash: true,
35
+ verbose: true,
36
+ manifest: Paths.manifest_path
37
+ }
38
+
39
+ opts = Fontcustom::Options.new(options)
40
+ Fontcustom::Generator::Font.start [opts]
41
+ Fontcustom::Generator::Template.start [opts]
42
+
43
+ move_css_to_output
44
+ end
45
+
46
+ def move_css_to_output
47
+ mv File.join(Paths.output_fonts_path, "#{FONT_NAME}.css.erb"), Paths.output_css_file_path
48
+ end
49
+
50
+ def with_glyphs
51
+ tmp_dir = Dir.mktmpdir
52
+ files = @icons.map { |icon| File.join(Paths.svg_path, "#{icon}.svg") }
53
+ cp files, tmp_dir
54
+ yield tmp_dir
55
+ rm_rf tmp_dir
56
+ end
57
+
58
+ def clean_dir(folder_path)
59
+ rm_r(folder_path) if Dir.exists?(folder_path)
60
+ # Dir.mkdir folder_path
61
+ mkdir_p folder_path
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,21 @@
1
+ module Icofont
2
+ class Glyph
3
+ class << self
4
+ def fetch
5
+ glyphs = []
6
+ File.readlines(Paths.glyphs_path).each do |line|
7
+ glyphs << line.gsub("\n", "")
8
+ end
9
+ glyphs
10
+ end
11
+
12
+ def store(glyphs)
13
+ File.open(Paths.glyphs_path, 'w') do |f|
14
+ glyphs.each do |g|
15
+ f.puts g
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,47 @@
1
+ module Icofont
2
+ class Paths
3
+ class << self
4
+ def templates_path
5
+ @@templates_path ||= File.expand_path("../templates/#{FONT_NAME}.css.erb", __FILE__)
6
+ end
7
+
8
+ def output_fonts_path
9
+ @@output_fonts_path ||= expand_root("app/assets/#{FONT_NAME}")
10
+ end
11
+
12
+ def output_css_path
13
+ @@output_css_path ||= expand_root("app/assets/stylesheets")
14
+ end
15
+
16
+ def output_css_file_path
17
+ @@output_css_path ||= File.join(output_css_path, "#{FONT_NAME}.css.erb")
18
+ end
19
+
20
+ def manifest_path
21
+ @@manifest_path ||= expand_root(".#{FONT_NAME}/fontcustom-manifest.yml")
22
+ end
23
+
24
+ def glyphs_path
25
+ @@glyphs_path ||= expand_root(".#{FONT_NAME}/#{FONT_NAME}.txt")
26
+ end
27
+
28
+ def svg_path
29
+ @@svg_path ||= File.join(svg_root, svg_folder)
30
+ end
31
+
32
+ def svg_root
33
+ @@svg_root ||= File.expand_path(".#{FONT_NAME}", '~')
34
+ end
35
+
36
+ def svg_folder
37
+ @@svg_folder ||= 'glyphs'
38
+ end
39
+
40
+ private
41
+
42
+ def expand_root(path)
43
+ File.join Rails.root, path
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,28 @@
1
+ @font-face {
2
+ font-family: "<%= @opts.font_name %>";
3
+ src: url(<%%= asset_path "<%= @opts.font_name %>.eot" %>);
4
+ src: url(<%%= asset_path "<%= @opts.font_name %>.eot?#iefix" %>) format("embedded-opentype"),
5
+ url(<%%= asset_path "<%= @opts.font_name %>.woff" %>) format("woff"),
6
+ url(<%%= asset_path "<%= @opts.font_name %>.ttf" %>) format("truetype"),
7
+ url(<%%= asset_path "<%= @opts.font_name %>.svg#<%= @opts.font_name %>" %>) format("svg");
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ [data-icon]:before { content: attr(data-icon); }
13
+
14
+ [data-icon]:before,
15
+ <%= @glyphs.map {|name| ".#{@opts.css_prefix + name}:before"}.join(",\n") %> {
16
+ display: inline-block;
17
+ font-family: "<%= @opts.font_name %>";
18
+ font-style: normal;
19
+ font-weight: normal;
20
+ font-variant: normal;
21
+ line-height: 1;
22
+ text-decoration: inherit;
23
+ text-transform: none;
24
+ -moz-osx-font-smoothing: grayscale;
25
+ -webkit-font-smoothing: antialiased;
26
+ }
27
+ <% @glyphs.each_with_index do |name, index| %>
28
+ .<%= @opts.css_prefix + name %>:before { content: "\<%= (61696+index).to_s(16) %>"; }<% end %>
@@ -0,0 +1,3 @@
1
+ module Icofont
2
+ VERSION = "0.0.3"
3
+ end
@@ -0,0 +1,9 @@
1
+ require_dependency 'icofont/font_processor'
2
+
3
+ namespace :icofont do
4
+ desc "Update the icon fonts"
5
+ task :update => :environment do
6
+ processor = Icofont::FontProcessor.new(%w{home aid})
7
+ processor.generate
8
+ end
9
+ end
@@ -0,0 +1,15 @@
1
+ require 'test_helper'
2
+
3
+ module Icofont
4
+ class GlyphsControllerTest < ActionController::TestCase
5
+ test "should get index" do
6
+ get :index, :use_route => 'icofont'
7
+ assert_response :success
8
+ end
9
+
10
+ test "should post update" do
11
+ post :update, :use_route => 'icofont'
12
+ assert_response :success
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,28 @@
1
+ == README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
25
+
26
+
27
+ Please feel free to use a different markup language if you do not plan to run
28
+ <tt>rake doc:app</tt>.
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+
6
+ Dummy::Application.load_tasks
@@ -0,0 +1,37 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <!--
4
+ 2014-1-2: Created.
5
+ -->
6
+ <svg xmlns="http://www.w3.org/2000/svg">
7
+ <metadata>
8
+ Created by FontForge 20120731 at Thu Jan 2 19:03:06 2014
9
+ By Artan Sinani
10
+ Created by Artan Sinani with FontForge 2.0 (http://fontforge.sf.net)
11
+ </metadata>
12
+ <defs>
13
+ <font id="icofont" horiz-adv-x="512" >
14
+ <font-face
15
+ font-family="icofont"
16
+ font-weight="500"
17
+ font-stretch="normal"
18
+ units-per-em="512"
19
+ panose-1="2 0 6 9 0 0 0 0 0 0"
20
+ ascent="448"
21
+ descent="-64"
22
+ bbox="0 -64 512 448"
23
+ underline-thickness="25.6"
24
+ underline-position="-51.2"
25
+ unicode-range="U+F100-F102"
26
+ />
27
+ <missing-glyph />
28
+ <glyph glyph-name="uniF100" unicode="&#xf100;"
29
+ d="M480 352l-160 -64v-128l64 -224h-32l-96 224l-96 -224h-32l64 224v128l-160 64v32l224 -64l224 64v-32zM208 400c0 26.4961 21.5039 48 48 48s48 -21.5039 48 -48s-21.5039 -48 -48 -48s-48 21.5039 -48 48z" />
30
+ <glyph glyph-name="uniF101" unicode="&#xf101;"
31
+ d="M480 320h-32v-32h64v-64c0 -17.6729 -14.3271 -32 -32 -32h-32v-32h64v-64c0 -17.6729 -14.3271 -32 -32 -32h-32v-128h-416c-17.6016 0 -32 14.4004 -32 32v448c0 17.6006 14.4004 32 32 32h416v-32h64v-64c0 -17.6729 -14.3271 -32 -32 -32zM288 319.835
32
+ c-35.2549 0 -63.835 -28.5801 -63.835 -63.835s28.5801 -63.835 63.835 -63.835s63.835 28.5801 63.835 63.835s-28.5801 63.835 -63.835 63.835zM128 -32v448h-32v-448h32zM384 64v32c0 35.3467 -28.6523 64 -64 64h-64v0c-35.3457 0 -64 -28.6533 -64 -64v-32h192z" />
33
+ <glyph glyph-name="uniF102" unicode="&#xf102;"
34
+ d="M448 320c35.2002 0 64 -28.7998 64 -64v-256c0 -35.2002 -28.7998 -64 -64 -64h-384c-35.2002 0 -64 28.7998 -64 64v256c0 35.2002 28.7998 64 64 64h96v64c0 17.5996 14.4004 32 32 32h128c17.5996 0 32 -14.4004 32 -32v-64h96zM192 384v-64h128v64h-128zM384 96v64
35
+ h-96v96h-64v-96h-96v-64h96v-96h64v96h96z" />
36
+ </font>
37
+ </defs></svg>
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,30 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require_tree .
13
+ */
14
+
15
+ body {
16
+ font: 100%/1 sans-serif;
17
+ }
18
+
19
+ .icon {
20
+ display: inline-block;
21
+ margin: 0 1em 1em 0;
22
+ text-align: center;
23
+ }
24
+
25
+ .icon span {
26
+ color: #F560A1;
27
+ font-size: 2em;
28
+ display: block;
29
+ margin-bottom: .4em;
30
+ }
@@ -0,0 +1,32 @@
1
+ @font-face {
2
+ font-family: "icofont";
3
+ src: url(<%= asset_path "icofont.eot" %>);
4
+ src: url(<%= asset_path "icofont.eot?#iefix" %>) format("embedded-opentype"),
5
+ url(<%= asset_path "icofont.woff" %>) format("woff"),
6
+ url(<%= asset_path "icofont.ttf" %>) format("truetype"),
7
+ url(<%= asset_path "icofont.svg#icofont" %>) format("svg");
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ [data-icon]:before { content: attr(data-icon); }
13
+
14
+ [data-icon]:before,
15
+ .icofont-accessibility:before,
16
+ .icofont-address-book:before,
17
+ .icofont-aid:before {
18
+ display: inline-block;
19
+ font-family: "icofont";
20
+ font-style: normal;
21
+ font-weight: normal;
22
+ font-variant: normal;
23
+ line-height: 1;
24
+ text-decoration: inherit;
25
+ text-transform: none;
26
+ -moz-osx-font-smoothing: grayscale;
27
+ -webkit-font-smoothing: antialiased;
28
+ }
29
+
30
+ .icofont-accessibility:before { content: "\f100"; }
31
+ .icofont-address-book:before { content: "\f101"; }
32
+ .icofont-aid:before { content: "\f102"; }