icofont 0.0.2 → 0.0.3

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.
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"; }