├── .gitignore
├── .rubocop.yml
├── .travis.yml
├── CHANGELOG.md
├── Gemfile
├── Guardfile
├── LICENSE
├── README.md
├── Rakefile
├── app
├── assets
│ ├── fonts
│ │ ├── ionicons.eot
│ │ ├── ionicons.svg
│ │ ├── ionicons.ttf
│ │ └── ionicons.woff
│ └── stylesheets
│ │ └── ionicons.css.erb
└── helpers
│ └── font_ionicons
│ └── rails
│ └── icon_helper.rb
├── font-ionicons-rails.gemspec
├── gemfiles
├── rails-3.2.gemfile
├── rails-4.1.gemfile
├── rails-4.2.gemfile
├── rails-master.gemfile
└── sprockets-backport.gemfile
├── lib
├── font-ionicons-rails.rb
└── font-ionicons-rails
│ ├── engine.rb
│ └── version.rb
└── test
├── dummy
├── .gitignore
├── app
│ ├── assets
│ │ └── stylesheets
│ │ │ ├── sass-import.css.sass
│ │ │ ├── scss-import.css.scss
│ │ │ └── sprockets-require.css
│ ├── controllers
│ │ └── pages_controller.rb
│ └── views
│ │ └── pages
│ │ └── icons.html.erb
├── config.ru
└── config
│ ├── application.rb
│ ├── boot.rb
│ ├── environment.rb
│ ├── initializers
│ └── secret_token.rb
│ └── routes.rb
├── font-ionicons_rails_test.rb
├── icon_helper_test.rb
└── test_helper.rb
/.gitignore:
--------------------------------------------------------------------------------
1 | *.gem
2 | .bundle
3 | Gemfile.lock
4 | gemfiles/*.lock
5 | pkg/*
6 | bin
7 | vendor/ruby
8 | gemfiles/vendor/ruby
9 | .rbenv-version
10 | .sass-cache
11 | .tags
12 | .tags1
13 | .DS_Store
14 |
--------------------------------------------------------------------------------
/.rubocop.yml:
--------------------------------------------------------------------------------
1 | # inherit_from: ../.rubocop.yml
2 |
3 | Style/Encoding:
4 | Enabled: false
5 |
6 | Metrics/LineLength:
7 | Max: 120
8 | Enabled: false
9 |
10 | Style/AsciiComments:
11 | Enabled: false
12 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: ruby
2 | cache: bundler
3 | rvm:
4 | - 2.1
5 | - 2.2
6 | gemfile:
7 | - Gemfile
8 | - gemfiles/rails-3.2.gemfile
9 | - gemfiles/rails-4.1.gemfile
10 | - gemfiles/rails-4.2.gemfile
11 | matrix:
12 | exclude:
13 | - rvm: 2.2
14 | gemfile: gemfiles/rails-3.2.gemfile
15 | include:
16 | - rvm: 2.2
17 | gemfile: gemfiles/rails-master.gemfile
18 | allow_failures:
19 | - gemfile: gemfiles/rails-master.gemfile
20 | fast_finish: true
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | See [GitHub Releases](https://github.com/ricardoemerson/font-ionicons-rails/releases)
2 |
3 | Changes
4 | -------
5 |
6 | ```
7 | | Version | Notes / Other additions |
8 | |---------+--------------------------------------------------------------------------------------|
9 | | 2.0.1.0 | First release of gem |
10 | | 2.0.1.1 | Update gem description on Rubygems.org |
11 | | 2.0.1.2 | Update the URL of the documentation |
12 | | 2.0.1.3 | Update gem description on Rubygems.org |
13 | | 2.0.1.4 | Fix for precompile font files assets to avoid to included manually on Heroku server. |
14 | | 2.0.1.5 | Add support to Rails 5. |
15 | | 2.0.1.6 | Add support to Rails 6. |
16 | ```
17 |
18 | ```css
19 | /* FontIonicons Syntax */
20 |
21 | ```
22 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | # Specify your gem's dependencies in font-awesome-rails.gemspec
4 | gemspec
5 |
6 | group :development do
7 | gem "guard", ">= 2.9"
8 | gem "guard-minitest"
9 | end
10 |
--------------------------------------------------------------------------------
/Guardfile:
--------------------------------------------------------------------------------
1 | # More info at https://github.com/guard/guard#readme
2 |
3 | directories %w(app lib test)
4 |
5 | guard :minitest, bundler: true do
6 | watch(%r{^app/(.+)\.rb$}) { "test" }
7 | watch(%r{^lib/(.+)\.rb$}) { "test" }
8 | watch(%r{^test/(.+)\.rb$}) { "test" }
9 | end
10 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015 ricardoemerson
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.
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | font-ionicons-rails [](https://github.com/ricardoemerson/font-ionicons-rails) [](https://github.com/ricardoemerson/font-ionicons-rails)
2 | ==============================================================================================================================================================================================================================================================================
3 |
4 | The font-ionicons-rails is the best gem made for ionicons and provides the [ionicons](http://ionicons.com/) web fonts and stylesheets as a Rails engine for use with the asset pipeline.
5 |
6 | Installation
7 | ------------
8 |
9 | Add this to your Gemfile:
10 |
11 | ```ruby
12 | gem "font-ionicons-rails"
13 | ```
14 |
15 | or
16 |
17 | ```ruby
18 | gem "font-ionicons-rails", git: 'https://github.com/ricardoemerson/font-ionicons-rails.git'
19 | ```
20 |
21 | and run `bundle install`.
22 |
23 | Usage
24 | -----
25 |
26 | In your `application.css`, include the css file:
27 |
28 | ```css
29 | /*
30 | *= require ionicons
31 | */
32 | ```
33 |
34 | Then restart your webserver if it was previously running.
35 |
36 | ### Sass Support
37 |
38 | If you prefer [SCSS](http://sass-lang.com/documentation/file.SASS_REFERENCE.html), add this to your`application.css.scss` file:
39 |
40 | ```scss
41 | @import "ionicons";
42 | ```
43 |
44 | If you use the [Sass indented syntax](http://sass-lang.com/docs/yardoc/file.INDENTED_SYNTAX.html), add this to your `application.css.sass` file:
45 |
46 | ```sass
47 | @import ionicons
48 | ```
49 |
50 | ### Helpers
51 |
52 | There are also some helpers (`ion_icon`) for improve use.
53 |
54 | ```ruby
55 | ion_icon "camera"
56 | # =>
57 |
58 | ion_icon "camera", text: "Take a photo"
59 | # => Take a photo
60 |
61 | ion_icon "chevron-right", text: "Get started", right: true
62 | # => Get started
63 |
64 | content_tag(:li, ion_icon("checkmark-round", text: "Bulleted list item"))
65 | # =>
Bulleted list item
66 | ```
67 |
68 | License
69 | -------
70 |
71 | - The [ionicons](http://ionicons.com/) font is licensed under the [MIT license](http://opensource.org/licenses/MIT).
72 |
73 | Special Thanks
74 | --------------
75 |
76 | The font-ionicons-rails was inspired by [font-awesome-rails](https://github.com/bokmann/font-awesome-rails) made by David Bock.
77 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env rake
2 | require "bundler/gem_tasks"
3 | require "rake/testtask"
4 |
5 | Rake::TestTask.new(:test) do |t|
6 | t.libs << "lib"
7 | t.libs << "test"
8 | t.pattern = "test/**/*_test.rb"
9 | t.verbose = false
10 | end
11 |
12 | task :default => :test
13 |
--------------------------------------------------------------------------------
/app/assets/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ricardoemerson/font-ionicons-rails/af956fc2a01bf2878b7f475913a7c0bb7cf9f0e0/app/assets/fonts/ionicons.eot
--------------------------------------------------------------------------------
/app/assets/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ricardoemerson/font-ionicons-rails/af956fc2a01bf2878b7f475913a7c0bb7cf9f0e0/app/assets/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/app/assets/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ricardoemerson/font-ionicons-rails/af956fc2a01bf2878b7f475913a7c0bb7cf9f0e0/app/assets/fonts/ionicons.woff
--------------------------------------------------------------------------------
/app/assets/stylesheets/ionicons.css.erb:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | /*!
3 | Ionicons, v2.0.0
4 | Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
5 | https://twitter.com/benjsperry https://twitter.com/ionicframework
6 | MIT License: https://github.com/driftyco/ionicons
7 |
8 | Android-style icons originally built by Google’s
9 | Material Design Icons: https://github.com/google/material-design-icons
10 | used under CC BY http://creativecommons.org/licenses/by/4.0/
11 | Modified icons to fit ionicon’s grid from original.
12 | */
13 |
14 | //= depend_on_asset "ionicons.eot"
15 | //= depend_on_asset "ionicons.woff"
16 | //= depend_on_asset "ionicons.ttf"
17 | //= depend_on_asset "ionicons.svg"
18 | <% v = FontIonicons::Rails::FI_VERSION %>
19 | @font-face {
20 | font-family: 'Ionicons';
21 | src: url('<%= font_path('ionicons.eot') %>?v=<%= v %>');
22 | src: url('<%= font_path('ionicons.eot') %>?#iefix&v=<%= v %>') format('embedded-opentype'), url('<%= font_path('ionicons.woff') %>?v=<%= v %>') format('woff'), url('<%= font_path('ionicons.ttf') %>?v=<%= v %>') format('truetype'), url('<%= font_path('ionicons.svg') %>?v=<%= v %>#ioniconsregular') format('svg');
23 | font-weight: normal;
24 | font-style: normal;
25 | }
26 |
27 | .ion, .ionicons, .ion-alert:before, .ion-alert-circled:before, .ion-android-add:before, .ion-android-add-circle:before, .ion-android-alarm-clock:before, .ion-android-alert:before, .ion-android-apps:before, .ion-android-archive:before, .ion-android-arrow-back:before, .ion-android-arrow-down:before, .ion-android-arrow-dropdown:before, .ion-android-arrow-dropdown-circle:before, .ion-android-arrow-dropleft:before, .ion-android-arrow-dropleft-circle:before, .ion-android-arrow-dropright:before, .ion-android-arrow-dropright-circle:before, .ion-android-arrow-dropup:before, .ion-android-arrow-dropup-circle:before, .ion-android-arrow-forward:before, .ion-android-arrow-up:before, .ion-android-attach:before, .ion-android-bar:before, .ion-android-bicycle:before, .ion-android-boat:before, .ion-android-bookmark:before, .ion-android-bulb:before, .ion-android-bus:before, .ion-android-calendar:before, .ion-android-call:before, .ion-android-camera:before, .ion-android-cancel:before, .ion-android-car:before, .ion-android-cart:before, .ion-android-chat:before, .ion-android-checkbox:before, .ion-android-checkbox-blank:before, .ion-android-checkbox-outline:before, .ion-android-checkbox-outline-blank:before, .ion-android-checkmark-circle:before, .ion-android-clipboard:before, .ion-android-close:before, .ion-android-cloud:before, .ion-android-cloud-circle:before, .ion-android-cloud-done:before, .ion-android-cloud-outline:before, .ion-android-color-palette:before, .ion-android-compass:before, .ion-android-contact:before, .ion-android-contacts:before, .ion-android-contract:before, .ion-android-create:before, .ion-android-delete:before, .ion-android-desktop:before, .ion-android-document:before, .ion-android-done:before, .ion-android-done-all:before, .ion-android-download:before, .ion-android-drafts:before, .ion-android-exit:before, .ion-android-expand:before, .ion-android-favorite:before, .ion-android-favorite-outline:before, .ion-android-film:before, .ion-android-folder:before, .ion-android-folder-open:before, .ion-android-funnel:before, .ion-android-globe:before, .ion-android-hand:before, .ion-android-hangout:before, .ion-android-happy:before, .ion-android-home:before, .ion-android-image:before, .ion-android-laptop:before, .ion-android-list:before, .ion-android-locate:before, .ion-android-lock:before, .ion-android-mail:before, .ion-android-map:before, .ion-android-menu:before, .ion-android-microphone:before, .ion-android-microphone-off:before, .ion-android-more-horizontal:before, .ion-android-more-vertical:before, .ion-android-navigate:before, .ion-android-notifications:before, .ion-android-notifications-none:before, .ion-android-notifications-off:before, .ion-android-open:before, .ion-android-options:before, .ion-android-people:before, .ion-android-person:before, .ion-android-person-add:before, .ion-android-phone-landscape:before, .ion-android-phone-portrait:before, .ion-android-pin:before, .ion-android-plane:before, .ion-android-playstore:before, .ion-android-print:before, .ion-android-radio-button-off:before, .ion-android-radio-button-on:before, .ion-android-refresh:before, .ion-android-remove:before, .ion-android-remove-circle:before, .ion-android-restaurant:before, .ion-android-sad:before, .ion-android-search:before, .ion-android-send:before, .ion-android-settings:before, .ion-android-share:before, .ion-android-share-alt:before, .ion-android-star:before, .ion-android-star-half:before, .ion-android-star-outline:before, .ion-android-stopwatch:before, .ion-android-subway:before, .ion-android-sunny:before, .ion-android-sync:before, .ion-android-textsms:before, .ion-android-time:before, .ion-android-train:before, .ion-android-unlock:before, .ion-android-upload:before, .ion-android-volume-down:before, .ion-android-volume-mute:before, .ion-android-volume-off:before, .ion-android-volume-up:before, .ion-android-walk:before, .ion-android-warning:before, .ion-android-watch:before, .ion-android-wifi:before, .ion-aperture:before, .ion-archive:before, .ion-arrow-down-a:before, .ion-arrow-down-b:before, .ion-arrow-down-c:before, .ion-arrow-expand:before, .ion-arrow-graph-down-left:before, .ion-arrow-graph-down-right:before, .ion-arrow-graph-up-left:before, .ion-arrow-graph-up-right:before, .ion-arrow-left-a:before, .ion-arrow-left-b:before, .ion-arrow-left-c:before, .ion-arrow-move:before, .ion-arrow-resize:before, .ion-arrow-return-left:before, .ion-arrow-return-right:before, .ion-arrow-right-a:before, .ion-arrow-right-b:before, .ion-arrow-right-c:before, .ion-arrow-shrink:before, .ion-arrow-swap:before, .ion-arrow-up-a:before, .ion-arrow-up-b:before, .ion-arrow-up-c:before, .ion-asterisk:before, .ion-at:before, .ion-backspace:before, .ion-backspace-outline:before, .ion-bag:before, .ion-battery-charging:before, .ion-battery-empty:before, .ion-battery-full:before, .ion-battery-half:before, .ion-battery-low:before, .ion-beaker:before, .ion-beer:before, .ion-bluetooth:before, .ion-bonfire:before, .ion-bookmark:before, .ion-bowtie:before, .ion-briefcase:before, .ion-bug:before, .ion-calculator:before, .ion-calendar:before, .ion-camera:before, .ion-card:before, .ion-cash:before, .ion-chatbox:before, .ion-chatbox-working:before, .ion-chatboxes:before, .ion-chatbubble:before, .ion-chatbubble-working:before, .ion-chatbubbles:before, .ion-checkmark:before, .ion-checkmark-circled:before, .ion-checkmark-round:before, .ion-chevron-down:before, .ion-chevron-left:before, .ion-chevron-right:before, .ion-chevron-up:before, .ion-clipboard:before, .ion-clock:before, .ion-close:before, .ion-close-circled:before, .ion-close-round:before, .ion-closed-captioning:before, .ion-cloud:before, .ion-code:before, .ion-code-download:before, .ion-code-working:before, .ion-coffee:before, .ion-compass:before, .ion-compose:before, .ion-connection-bars:before, .ion-contrast:before, .ion-crop:before, .ion-cube:before, .ion-disc:before, .ion-document:before, .ion-document-text:before, .ion-drag:before, .ion-earth:before, .ion-easel:before, .ion-edit:before, .ion-egg:before, .ion-eject:before, .ion-email:before, .ion-email-unread:before, .ion-erlenmeyer-flask:before, .ion-erlenmeyer-flask-bubbles:before, .ion-eye:before, .ion-eye-disabled:before, .ion-female:before, .ion-filing:before, .ion-film-marker:before, .ion-fireball:before, .ion-flag:before, .ion-flame:before, .ion-flash:before, .ion-flash-off:before, .ion-folder:before, .ion-fork:before, .ion-fork-repo:before, .ion-forward:before, .ion-funnel:before, .ion-gear-a:before, .ion-gear-b:before, .ion-grid:before, .ion-hammer:before, .ion-happy:before, .ion-happy-outline:before, .ion-headphone:before, .ion-heart:before, .ion-heart-broken:before, .ion-help:before, .ion-help-buoy:before, .ion-help-circled:before, .ion-home:before, .ion-icecream:before, .ion-image:before, .ion-images:before, .ion-information:before, .ion-information-circled:before, .ion-ionic:before, .ion-ios-alarm:before, .ion-ios-alarm-outline:before, .ion-ios-albums:before, .ion-ios-albums-outline:before, .ion-ios-americanfootball:before, .ion-ios-americanfootball-outline:before, .ion-ios-analytics:before, .ion-ios-analytics-outline:before, .ion-ios-arrow-back:before, .ion-ios-arrow-down:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-left:before, .ion-ios-arrow-right:before, .ion-ios-arrow-thin-down:before, .ion-ios-arrow-thin-left:before, .ion-ios-arrow-thin-right:before, .ion-ios-arrow-thin-up:before, .ion-ios-arrow-up:before, .ion-ios-at:before, .ion-ios-at-outline:before, .ion-ios-barcode:before, .ion-ios-barcode-outline:before, .ion-ios-baseball:before, .ion-ios-baseball-outline:before, .ion-ios-basketball:before, .ion-ios-basketball-outline:before, .ion-ios-bell:before, .ion-ios-bell-outline:before, .ion-ios-body:before, .ion-ios-body-outline:before, .ion-ios-bolt:before, .ion-ios-bolt-outline:before, .ion-ios-book:before, .ion-ios-book-outline:before, .ion-ios-bookmarks:before, .ion-ios-bookmarks-outline:before, .ion-ios-box:before, .ion-ios-box-outline:before, .ion-ios-briefcase:before, .ion-ios-briefcase-outline:before, .ion-ios-browsers:before, .ion-ios-browsers-outline:before, .ion-ios-calculator:before, .ion-ios-calculator-outline:before, .ion-ios-calendar:before, .ion-ios-calendar-outline:before, .ion-ios-camera:before, .ion-ios-camera-outline:before, .ion-ios-cart:before, .ion-ios-cart-outline:before, .ion-ios-chatboxes:before, .ion-ios-chatboxes-outline:before, .ion-ios-chatbubble:before, .ion-ios-chatbubble-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-empty:before, .ion-ios-checkmark-outline:before, .ion-ios-circle-filled:before, .ion-ios-circle-outline:before, .ion-ios-clock:before, .ion-ios-clock-outline:before, .ion-ios-close:before, .ion-ios-close-empty:before, .ion-ios-close-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-download:before, .ion-ios-cloud-download-outline:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloud-upload-outline:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-cloudy-night-outline:before, .ion-ios-cloudy-outline:before, .ion-ios-cog:before, .ion-ios-cog-outline:before, .ion-ios-color-filter:before, .ion-ios-color-filter-outline:before, .ion-ios-color-wand:before, .ion-ios-color-wand-outline:before, .ion-ios-compose:before, .ion-ios-compose-outline:before, .ion-ios-contact:before, .ion-ios-contact-outline:before, .ion-ios-copy:before, .ion-ios-copy-outline:before, .ion-ios-crop:before, .ion-ios-crop-strong:before, .ion-ios-download:before, .ion-ios-download-outline:before, .ion-ios-drag:before, .ion-ios-email:before, .ion-ios-email-outline:before, .ion-ios-eye:before, .ion-ios-eye-outline:before, .ion-ios-fastforward:before, .ion-ios-fastforward-outline:before, .ion-ios-filing:before, .ion-ios-filing-outline:before, .ion-ios-film:before, .ion-ios-film-outline:before, .ion-ios-flag:before, .ion-ios-flag-outline:before, .ion-ios-flame:before, .ion-ios-flame-outline:before, .ion-ios-flask:before, .ion-ios-flask-outline:before, .ion-ios-flower:before, .ion-ios-flower-outline:before, .ion-ios-folder:before, .ion-ios-folder-outline:before, .ion-ios-football:before, .ion-ios-football-outline:before, .ion-ios-game-controller-a:before, .ion-ios-game-controller-a-outline:before, .ion-ios-game-controller-b:before, .ion-ios-game-controller-b-outline:before, .ion-ios-gear:before, .ion-ios-gear-outline:before, .ion-ios-glasses:before, .ion-ios-glasses-outline:before, .ion-ios-grid-view:before, .ion-ios-grid-view-outline:before, .ion-ios-heart:before, .ion-ios-heart-outline:before, .ion-ios-help:before, .ion-ios-help-empty:before, .ion-ios-help-outline:before, .ion-ios-home:before, .ion-ios-home-outline:before, .ion-ios-infinite:before, .ion-ios-infinite-outline:before, .ion-ios-information:before, .ion-ios-information-empty:before, .ion-ios-information-outline:before, .ion-ios-ionic-outline:before, .ion-ios-keypad:before, .ion-ios-keypad-outline:before, .ion-ios-lightbulb:before, .ion-ios-lightbulb-outline:before, .ion-ios-list:before, .ion-ios-list-outline:before, .ion-ios-location:before, .ion-ios-location-outline:before, .ion-ios-locked:before, .ion-ios-locked-outline:before, .ion-ios-loop:before, .ion-ios-loop-strong:before, .ion-ios-medical:before, .ion-ios-medical-outline:before, .ion-ios-medkit:before, .ion-ios-medkit-outline:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-mic-outline:before, .ion-ios-minus:before, .ion-ios-minus-empty:before, .ion-ios-minus-outline:before, .ion-ios-monitor:before, .ion-ios-monitor-outline:before, .ion-ios-moon:before, .ion-ios-moon-outline:before, .ion-ios-more:before, .ion-ios-more-outline:before, .ion-ios-musical-note:before, .ion-ios-musical-notes:before, .ion-ios-navigate:before, .ion-ios-navigate-outline:before, .ion-ios-nutrition:before, .ion-ios-nutrition-outline:before, .ion-ios-paper:before, .ion-ios-paper-outline:before, .ion-ios-paperplane:before, .ion-ios-paperplane-outline:before, .ion-ios-partlysunny:before, .ion-ios-partlysunny-outline:before, .ion-ios-pause:before, .ion-ios-pause-outline:before, .ion-ios-paw:before, .ion-ios-paw-outline:before, .ion-ios-people:before, .ion-ios-people-outline:before, .ion-ios-person:before, .ion-ios-person-outline:before, .ion-ios-personadd:before, .ion-ios-personadd-outline:before, .ion-ios-photos:before, .ion-ios-photos-outline:before, .ion-ios-pie:before, .ion-ios-pie-outline:before, .ion-ios-pint:before, .ion-ios-pint-outline:before, .ion-ios-play:before, .ion-ios-play-outline:before, .ion-ios-plus:before, .ion-ios-plus-empty:before, .ion-ios-plus-outline:before, .ion-ios-pricetag:before, .ion-ios-pricetag-outline:before, .ion-ios-pricetags:before, .ion-ios-pricetags-outline:before, .ion-ios-printer:before, .ion-ios-printer-outline:before, .ion-ios-pulse:before, .ion-ios-pulse-strong:before, .ion-ios-rainy:before, .ion-ios-rainy-outline:before, .ion-ios-recording:before, .ion-ios-recording-outline:before, .ion-ios-redo:before, .ion-ios-redo-outline:before, .ion-ios-refresh:before, .ion-ios-refresh-empty:before, .ion-ios-refresh-outline:before, .ion-ios-reload:before, .ion-ios-reverse-camera:before, .ion-ios-reverse-camera-outline:before, .ion-ios-rewind:before, .ion-ios-rewind-outline:before, .ion-ios-rose:before, .ion-ios-rose-outline:before, .ion-ios-search:before, .ion-ios-search-strong:before, .ion-ios-settings:before, .ion-ios-settings-strong:before, .ion-ios-shuffle:before, .ion-ios-shuffle-strong:before, .ion-ios-skipbackward:before, .ion-ios-skipbackward-outline:before, .ion-ios-skipforward:before, .ion-ios-skipforward-outline:before, .ion-ios-snowy:before, .ion-ios-speedometer:before, .ion-ios-speedometer-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-outline:before, .ion-ios-stopwatch:before, .ion-ios-stopwatch-outline:before, .ion-ios-sunny:before, .ion-ios-sunny-outline:before, .ion-ios-telephone:before, .ion-ios-telephone-outline:before, .ion-ios-tennisball:before, .ion-ios-tennisball-outline:before, .ion-ios-thunderstorm:before, .ion-ios-thunderstorm-outline:before, .ion-ios-time:before, .ion-ios-time-outline:before, .ion-ios-timer:before, .ion-ios-timer-outline:before, .ion-ios-toggle:before, .ion-ios-toggle-outline:before, .ion-ios-trash:before, .ion-ios-trash-outline:before, .ion-ios-undo:before, .ion-ios-undo-outline:before, .ion-ios-unlocked:before, .ion-ios-unlocked-outline:before, .ion-ios-upload:before, .ion-ios-upload-outline:before, .ion-ios-videocam:before, .ion-ios-videocam-outline:before, .ion-ios-volume-high:before, .ion-ios-volume-low:before, .ion-ios-wineglass:before, .ion-ios-wineglass-outline:before, .ion-ios-world:before, .ion-ios-world-outline:before, .ion-ipad:before, .ion-iphone:before, .ion-ipod:before, .ion-jet:before, .ion-key:before, .ion-knife:before, .ion-laptop:before, .ion-leaf:before, .ion-levels:before, .ion-lightbulb:before, .ion-link:before, .ion-load-a:before, .ion-load-b:before, .ion-load-c:before, .ion-load-d:before, .ion-location:before, .ion-lock-combination:before, .ion-locked:before, .ion-log-in:before, .ion-log-out:before, .ion-loop:before, .ion-magnet:before, .ion-male:before, .ion-man:before, .ion-map:before, .ion-medkit:before, .ion-merge:before, .ion-mic-a:before, .ion-mic-b:before, .ion-mic-c:before, .ion-minus:before, .ion-minus-circled:before, .ion-minus-round:before, .ion-model-s:before, .ion-monitor:before, .ion-more:before, .ion-mouse:before, .ion-music-note:before, .ion-navicon:before, .ion-navicon-round:before, .ion-navigate:before, .ion-network:before, .ion-no-smoking:before, .ion-nuclear:before, .ion-outlet:before, .ion-paintbrush:before, .ion-paintbucket:before, .ion-paper-airplane:before, .ion-paperclip:before, .ion-pause:before, .ion-person:before, .ion-person-add:before, .ion-person-stalker:before, .ion-pie-graph:before, .ion-pin:before, .ion-pinpoint:before, .ion-pizza:before, .ion-plane:before, .ion-planet:before, .ion-play:before, .ion-playstation:before, .ion-plus:before, .ion-plus-circled:before, .ion-plus-round:before, .ion-podium:before, .ion-pound:before, .ion-power:before, .ion-pricetag:before, .ion-pricetags:before, .ion-printer:before, .ion-pull-request:before, .ion-qr-scanner:before, .ion-quote:before, .ion-radio-waves:before, .ion-record:before, .ion-refresh:before, .ion-reply:before, .ion-reply-all:before, .ion-ribbon-a:before, .ion-ribbon-b:before, .ion-sad:before, .ion-sad-outline:before, .ion-scissors:before, .ion-search:before, .ion-settings:before, .ion-share:before, .ion-shuffle:before, .ion-skip-backward:before, .ion-skip-forward:before, .ion-social-android:before, .ion-social-android-outline:before, .ion-social-angular:before, .ion-social-angular-outline:before, .ion-social-apple:before, .ion-social-apple-outline:before, .ion-social-bitcoin:before, .ion-social-bitcoin-outline:before, .ion-social-buffer:before, .ion-social-buffer-outline:before, .ion-social-chrome:before, .ion-social-chrome-outline:before, .ion-social-codepen:before, .ion-social-codepen-outline:before, .ion-social-css3:before, .ion-social-css3-outline:before, .ion-social-designernews:before, .ion-social-designernews-outline:before, .ion-social-dribbble:before, .ion-social-dribbble-outline:before, .ion-social-dropbox:before, .ion-social-dropbox-outline:before, .ion-social-euro:before, .ion-social-euro-outline:before, .ion-social-facebook:before, .ion-social-facebook-outline:before, .ion-social-foursquare:before, .ion-social-foursquare-outline:before, .ion-social-freebsd-devil:before, .ion-social-github:before, .ion-social-github-outline:before, .ion-social-google:before, .ion-social-google-outline:before, .ion-social-googleplus:before, .ion-social-googleplus-outline:before, .ion-social-hackernews:before, .ion-social-hackernews-outline:before, .ion-social-html5:before, .ion-social-html5-outline:before, .ion-social-instagram:before, .ion-social-instagram-outline:before, .ion-social-javascript:before, .ion-social-javascript-outline:before, .ion-social-linkedin:before, .ion-social-linkedin-outline:before, .ion-social-markdown:before, .ion-social-nodejs:before, .ion-social-octocat:before, .ion-social-pinterest:before, .ion-social-pinterest-outline:before, .ion-social-python:before, .ion-social-reddit:before, .ion-social-reddit-outline:before, .ion-social-rss:before, .ion-social-rss-outline:before, .ion-social-sass:before, .ion-social-skype:before, .ion-social-skype-outline:before, .ion-social-snapchat:before, .ion-social-snapchat-outline:before, .ion-social-tumblr:before, .ion-social-tumblr-outline:before, .ion-social-tux:before, .ion-social-twitch:before, .ion-social-twitch-outline:before, .ion-social-twitter:before, .ion-social-twitter-outline:before, .ion-social-usd:before, .ion-social-usd-outline:before, .ion-social-vimeo:before, .ion-social-vimeo-outline:before, .ion-social-whatsapp:before, .ion-social-whatsapp-outline:before, .ion-social-windows:before, .ion-social-windows-outline:before, .ion-social-wordpress:before, .ion-social-wordpress-outline:before, .ion-social-yahoo:before, .ion-social-yahoo-outline:before, .ion-social-yen:before, .ion-social-yen-outline:before, .ion-social-youtube:before, .ion-social-youtube-outline:before, .ion-soup-can:before, .ion-soup-can-outline:before, .ion-speakerphone:before, .ion-speedometer:before, .ion-spoon:before, .ion-star:before, .ion-stats-bars:before, .ion-steam:before, .ion-stop:before, .ion-thermometer:before, .ion-thumbsdown:before, .ion-thumbsup:before, .ion-toggle:before, .ion-toggle-filled:before, .ion-transgender:before, .ion-trash-a:before, .ion-trash-b:before, .ion-trophy:before, .ion-tshirt:before, .ion-tshirt-outline:before, .ion-umbrella:before, .ion-university:before, .ion-unlocked:before, .ion-upload:before, .ion-usb:before, .ion-videocamera:before, .ion-volume-high:before, .ion-volume-low:before, .ion-volume-medium:before, .ion-volume-mute:before, .ion-wand:before, .ion-waterdrop:before, .ion-wifi:before, .ion-wineglass:before, .ion-woman:before, .ion-wrench:before, .ion-xbox:before { display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
28 |
29 | .ion-alert:before { content: "\f101"; }
30 |
31 | .ion-alert-circled:before { content: "\f100"; }
32 |
33 | .ion-android-add:before { content: "\f2c7"; }
34 |
35 | .ion-android-add-circle:before { content: "\f359"; }
36 |
37 | .ion-android-alarm-clock:before { content: "\f35a"; }
38 |
39 | .ion-android-alert:before { content: "\f35b"; }
40 |
41 | .ion-android-apps:before { content: "\f35c"; }
42 |
43 | .ion-android-archive:before { content: "\f2c9"; }
44 |
45 | .ion-android-arrow-back:before { content: "\f2ca"; }
46 |
47 | .ion-android-arrow-down:before { content: "\f35d"; }
48 |
49 | .ion-android-arrow-dropdown:before { content: "\f35f"; }
50 |
51 | .ion-android-arrow-dropdown-circle:before { content: "\f35e"; }
52 |
53 | .ion-android-arrow-dropleft:before { content: "\f361"; }
54 |
55 | .ion-android-arrow-dropleft-circle:before { content: "\f360"; }
56 |
57 | .ion-android-arrow-dropright:before { content: "\f363"; }
58 |
59 | .ion-android-arrow-dropright-circle:before { content: "\f362"; }
60 |
61 | .ion-android-arrow-dropup:before { content: "\f365"; }
62 |
63 | .ion-android-arrow-dropup-circle:before { content: "\f364"; }
64 |
65 | .ion-android-arrow-forward:before { content: "\f30f"; }
66 |
67 | .ion-android-arrow-up:before { content: "\f366"; }
68 |
69 | .ion-android-attach:before { content: "\f367"; }
70 |
71 | .ion-android-bar:before { content: "\f368"; }
72 |
73 | .ion-android-bicycle:before { content: "\f369"; }
74 |
75 | .ion-android-boat:before { content: "\f36a"; }
76 |
77 | .ion-android-bookmark:before { content: "\f36b"; }
78 |
79 | .ion-android-bulb:before { content: "\f36c"; }
80 |
81 | .ion-android-bus:before { content: "\f36d"; }
82 |
83 | .ion-android-calendar:before { content: "\f2d1"; }
84 |
85 | .ion-android-call:before { content: "\f2d2"; }
86 |
87 | .ion-android-camera:before { content: "\f2d3"; }
88 |
89 | .ion-android-cancel:before { content: "\f36e"; }
90 |
91 | .ion-android-car:before { content: "\f36f"; }
92 |
93 | .ion-android-cart:before { content: "\f370"; }
94 |
95 | .ion-android-chat:before { content: "\f2d4"; }
96 |
97 | .ion-android-checkbox:before { content: "\f374"; }
98 |
99 | .ion-android-checkbox-blank:before { content: "\f371"; }
100 |
101 | .ion-android-checkbox-outline:before { content: "\f373"; }
102 |
103 | .ion-android-checkbox-outline-blank:before { content: "\f372"; }
104 |
105 | .ion-android-checkmark-circle:before { content: "\f375"; }
106 |
107 | .ion-android-clipboard:before { content: "\f376"; }
108 |
109 | .ion-android-close:before { content: "\f2d7"; }
110 |
111 | .ion-android-cloud:before { content: "\f37a"; }
112 |
113 | .ion-android-cloud-circle:before { content: "\f377"; }
114 |
115 | .ion-android-cloud-done:before { content: "\f378"; }
116 |
117 | .ion-android-cloud-outline:before { content: "\f379"; }
118 |
119 | .ion-android-color-palette:before { content: "\f37b"; }
120 |
121 | .ion-android-compass:before { content: "\f37c"; }
122 |
123 | .ion-android-contact:before { content: "\f2d8"; }
124 |
125 | .ion-android-contacts:before { content: "\f2d9"; }
126 |
127 | .ion-android-contract:before { content: "\f37d"; }
128 |
129 | .ion-android-create:before { content: "\f37e"; }
130 |
131 | .ion-android-delete:before { content: "\f37f"; }
132 |
133 | .ion-android-desktop:before { content: "\f380"; }
134 |
135 | .ion-android-document:before { content: "\f381"; }
136 |
137 | .ion-android-done:before { content: "\f383"; }
138 |
139 | .ion-android-done-all:before { content: "\f382"; }
140 |
141 | .ion-android-download:before { content: "\f2dd"; }
142 |
143 | .ion-android-drafts:before { content: "\f384"; }
144 |
145 | .ion-android-exit:before { content: "\f385"; }
146 |
147 | .ion-android-expand:before { content: "\f386"; }
148 |
149 | .ion-android-favorite:before { content: "\f388"; }
150 |
151 | .ion-android-favorite-outline:before { content: "\f387"; }
152 |
153 | .ion-android-film:before { content: "\f389"; }
154 |
155 | .ion-android-folder:before { content: "\f2e0"; }
156 |
157 | .ion-android-folder-open:before { content: "\f38a"; }
158 |
159 | .ion-android-funnel:before { content: "\f38b"; }
160 |
161 | .ion-android-globe:before { content: "\f38c"; }
162 |
163 | .ion-android-hand:before { content: "\f2e3"; }
164 |
165 | .ion-android-hangout:before { content: "\f38d"; }
166 |
167 | .ion-android-happy:before { content: "\f38e"; }
168 |
169 | .ion-android-home:before { content: "\f38f"; }
170 |
171 | .ion-android-image:before { content: "\f2e4"; }
172 |
173 | .ion-android-laptop:before { content: "\f390"; }
174 |
175 | .ion-android-list:before { content: "\f391"; }
176 |
177 | .ion-android-locate:before { content: "\f2e9"; }
178 |
179 | .ion-android-lock:before { content: "\f392"; }
180 |
181 | .ion-android-mail:before { content: "\f2eb"; }
182 |
183 | .ion-android-map:before { content: "\f393"; }
184 |
185 | .ion-android-menu:before { content: "\f394"; }
186 |
187 | .ion-android-microphone:before { content: "\f2ec"; }
188 |
189 | .ion-android-microphone-off:before { content: "\f395"; }
190 |
191 | .ion-android-more-horizontal:before { content: "\f396"; }
192 |
193 | .ion-android-more-vertical:before { content: "\f397"; }
194 |
195 | .ion-android-navigate:before { content: "\f398"; }
196 |
197 | .ion-android-notifications:before { content: "\f39b"; }
198 |
199 | .ion-android-notifications-none:before { content: "\f399"; }
200 |
201 | .ion-android-notifications-off:before { content: "\f39a"; }
202 |
203 | .ion-android-open:before { content: "\f39c"; }
204 |
205 | .ion-android-options:before { content: "\f39d"; }
206 |
207 | .ion-android-people:before { content: "\f39e"; }
208 |
209 | .ion-android-person:before { content: "\f3a0"; }
210 |
211 | .ion-android-person-add:before { content: "\f39f"; }
212 |
213 | .ion-android-phone-landscape:before { content: "\f3a1"; }
214 |
215 | .ion-android-phone-portrait:before { content: "\f3a2"; }
216 |
217 | .ion-android-pin:before { content: "\f3a3"; }
218 |
219 | .ion-android-plane:before { content: "\f3a4"; }
220 |
221 | .ion-android-playstore:before { content: "\f2f0"; }
222 |
223 | .ion-android-print:before { content: "\f3a5"; }
224 |
225 | .ion-android-radio-button-off:before { content: "\f3a6"; }
226 |
227 | .ion-android-radio-button-on:before { content: "\f3a7"; }
228 |
229 | .ion-android-refresh:before { content: "\f3a8"; }
230 |
231 | .ion-android-remove:before { content: "\f2f4"; }
232 |
233 | .ion-android-remove-circle:before { content: "\f3a9"; }
234 |
235 | .ion-android-restaurant:before { content: "\f3aa"; }
236 |
237 | .ion-android-sad:before { content: "\f3ab"; }
238 |
239 | .ion-android-search:before { content: "\f2f5"; }
240 |
241 | .ion-android-send:before { content: "\f2f6"; }
242 |
243 | .ion-android-settings:before { content: "\f2f7"; }
244 |
245 | .ion-android-share:before { content: "\f2f8"; }
246 |
247 | .ion-android-share-alt:before { content: "\f3ac"; }
248 |
249 | .ion-android-star:before { content: "\f2fc"; }
250 |
251 | .ion-android-star-half:before { content: "\f3ad"; }
252 |
253 | .ion-android-star-outline:before { content: "\f3ae"; }
254 |
255 | .ion-android-stopwatch:before { content: "\f2fd"; }
256 |
257 | .ion-android-subway:before { content: "\f3af"; }
258 |
259 | .ion-android-sunny:before { content: "\f3b0"; }
260 |
261 | .ion-android-sync:before { content: "\f3b1"; }
262 |
263 | .ion-android-textsms:before { content: "\f3b2"; }
264 |
265 | .ion-android-time:before { content: "\f3b3"; }
266 |
267 | .ion-android-train:before { content: "\f3b4"; }
268 |
269 | .ion-android-unlock:before { content: "\f3b5"; }
270 |
271 | .ion-android-upload:before { content: "\f3b6"; }
272 |
273 | .ion-android-volume-down:before { content: "\f3b7"; }
274 |
275 | .ion-android-volume-mute:before { content: "\f3b8"; }
276 |
277 | .ion-android-volume-off:before { content: "\f3b9"; }
278 |
279 | .ion-android-volume-up:before { content: "\f3ba"; }
280 |
281 | .ion-android-walk:before { content: "\f3bb"; }
282 |
283 | .ion-android-warning:before { content: "\f3bc"; }
284 |
285 | .ion-android-watch:before { content: "\f3bd"; }
286 |
287 | .ion-android-wifi:before { content: "\f305"; }
288 |
289 | .ion-aperture:before { content: "\f313"; }
290 |
291 | .ion-archive:before { content: "\f102"; }
292 |
293 | .ion-arrow-down-a:before { content: "\f103"; }
294 |
295 | .ion-arrow-down-b:before { content: "\f104"; }
296 |
297 | .ion-arrow-down-c:before { content: "\f105"; }
298 |
299 | .ion-arrow-expand:before { content: "\f25e"; }
300 |
301 | .ion-arrow-graph-down-left:before { content: "\f25f"; }
302 |
303 | .ion-arrow-graph-down-right:before { content: "\f260"; }
304 |
305 | .ion-arrow-graph-up-left:before { content: "\f261"; }
306 |
307 | .ion-arrow-graph-up-right:before { content: "\f262"; }
308 |
309 | .ion-arrow-left-a:before { content: "\f106"; }
310 |
311 | .ion-arrow-left-b:before { content: "\f107"; }
312 |
313 | .ion-arrow-left-c:before { content: "\f108"; }
314 |
315 | .ion-arrow-move:before { content: "\f263"; }
316 |
317 | .ion-arrow-resize:before { content: "\f264"; }
318 |
319 | .ion-arrow-return-left:before { content: "\f265"; }
320 |
321 | .ion-arrow-return-right:before { content: "\f266"; }
322 |
323 | .ion-arrow-right-a:before { content: "\f109"; }
324 |
325 | .ion-arrow-right-b:before { content: "\f10a"; }
326 |
327 | .ion-arrow-right-c:before { content: "\f10b"; }
328 |
329 | .ion-arrow-shrink:before { content: "\f267"; }
330 |
331 | .ion-arrow-swap:before { content: "\f268"; }
332 |
333 | .ion-arrow-up-a:before { content: "\f10c"; }
334 |
335 | .ion-arrow-up-b:before { content: "\f10d"; }
336 |
337 | .ion-arrow-up-c:before { content: "\f10e"; }
338 |
339 | .ion-asterisk:before { content: "\f314"; }
340 |
341 | .ion-at:before { content: "\f10f"; }
342 |
343 | .ion-backspace:before { content: "\f3bf"; }
344 |
345 | .ion-backspace-outline:before { content: "\f3be"; }
346 |
347 | .ion-bag:before { content: "\f110"; }
348 |
349 | .ion-battery-charging:before { content: "\f111"; }
350 |
351 | .ion-battery-empty:before { content: "\f112"; }
352 |
353 | .ion-battery-full:before { content: "\f113"; }
354 |
355 | .ion-battery-half:before { content: "\f114"; }
356 |
357 | .ion-battery-low:before { content: "\f115"; }
358 |
359 | .ion-beaker:before { content: "\f269"; }
360 |
361 | .ion-beer:before { content: "\f26a"; }
362 |
363 | .ion-bluetooth:before { content: "\f116"; }
364 |
365 | .ion-bonfire:before { content: "\f315"; }
366 |
367 | .ion-bookmark:before { content: "\f26b"; }
368 |
369 | .ion-bowtie:before { content: "\f3c0"; }
370 |
371 | .ion-briefcase:before { content: "\f26c"; }
372 |
373 | .ion-bug:before { content: "\f2be"; }
374 |
375 | .ion-calculator:before { content: "\f26d"; }
376 |
377 | .ion-calendar:before { content: "\f117"; }
378 |
379 | .ion-camera:before { content: "\f118"; }
380 |
381 | .ion-card:before { content: "\f119"; }
382 |
383 | .ion-cash:before { content: "\f316"; }
384 |
385 | .ion-chatbox:before { content: "\f11b"; }
386 |
387 | .ion-chatbox-working:before { content: "\f11a"; }
388 |
389 | .ion-chatboxes:before { content: "\f11c"; }
390 |
391 | .ion-chatbubble:before { content: "\f11e"; }
392 |
393 | .ion-chatbubble-working:before { content: "\f11d"; }
394 |
395 | .ion-chatbubbles:before { content: "\f11f"; }
396 |
397 | .ion-checkmark:before { content: "\f122"; }
398 |
399 | .ion-checkmark-circled:before { content: "\f120"; }
400 |
401 | .ion-checkmark-round:before { content: "\f121"; }
402 |
403 | .ion-chevron-down:before { content: "\f123"; }
404 |
405 | .ion-chevron-left:before { content: "\f124"; }
406 |
407 | .ion-chevron-right:before { content: "\f125"; }
408 |
409 | .ion-chevron-up:before { content: "\f126"; }
410 |
411 | .ion-clipboard:before { content: "\f127"; }
412 |
413 | .ion-clock:before { content: "\f26e"; }
414 |
415 | .ion-close:before { content: "\f12a"; }
416 |
417 | .ion-close-circled:before { content: "\f128"; }
418 |
419 | .ion-close-round:before { content: "\f129"; }
420 |
421 | .ion-closed-captioning:before { content: "\f317"; }
422 |
423 | .ion-cloud:before { content: "\f12b"; }
424 |
425 | .ion-code:before { content: "\f271"; }
426 |
427 | .ion-code-download:before { content: "\f26f"; }
428 |
429 | .ion-code-working:before { content: "\f270"; }
430 |
431 | .ion-coffee:before { content: "\f272"; }
432 |
433 | .ion-compass:before { content: "\f273"; }
434 |
435 | .ion-compose:before { content: "\f12c"; }
436 |
437 | .ion-connection-bars:before { content: "\f274"; }
438 |
439 | .ion-contrast:before { content: "\f275"; }
440 |
441 | .ion-crop:before { content: "\f3c1"; }
442 |
443 | .ion-cube:before { content: "\f318"; }
444 |
445 | .ion-disc:before { content: "\f12d"; }
446 |
447 | .ion-document:before { content: "\f12f"; }
448 |
449 | .ion-document-text:before { content: "\f12e"; }
450 |
451 | .ion-drag:before { content: "\f130"; }
452 |
453 | .ion-earth:before { content: "\f276"; }
454 |
455 | .ion-easel:before { content: "\f3c2"; }
456 |
457 | .ion-edit:before { content: "\f2bf"; }
458 |
459 | .ion-egg:before { content: "\f277"; }
460 |
461 | .ion-eject:before { content: "\f131"; }
462 |
463 | .ion-email:before { content: "\f132"; }
464 |
465 | .ion-email-unread:before { content: "\f3c3"; }
466 |
467 | .ion-erlenmeyer-flask:before { content: "\f3c5"; }
468 |
469 | .ion-erlenmeyer-flask-bubbles:before { content: "\f3c4"; }
470 |
471 | .ion-eye:before { content: "\f133"; }
472 |
473 | .ion-eye-disabled:before { content: "\f306"; }
474 |
475 | .ion-female:before { content: "\f278"; }
476 |
477 | .ion-filing:before { content: "\f134"; }
478 |
479 | .ion-film-marker:before { content: "\f135"; }
480 |
481 | .ion-fireball:before { content: "\f319"; }
482 |
483 | .ion-flag:before { content: "\f279"; }
484 |
485 | .ion-flame:before { content: "\f31a"; }
486 |
487 | .ion-flash:before { content: "\f137"; }
488 |
489 | .ion-flash-off:before { content: "\f136"; }
490 |
491 | .ion-folder:before { content: "\f139"; }
492 |
493 | .ion-fork:before { content: "\f27a"; }
494 |
495 | .ion-fork-repo:before { content: "\f2c0"; }
496 |
497 | .ion-forward:before { content: "\f13a"; }
498 |
499 | .ion-funnel:before { content: "\f31b"; }
500 |
501 | .ion-gear-a:before { content: "\f13d"; }
502 |
503 | .ion-gear-b:before { content: "\f13e"; }
504 |
505 | .ion-grid:before { content: "\f13f"; }
506 |
507 | .ion-hammer:before { content: "\f27b"; }
508 |
509 | .ion-happy:before { content: "\f31c"; }
510 |
511 | .ion-happy-outline:before { content: "\f3c6"; }
512 |
513 | .ion-headphone:before { content: "\f140"; }
514 |
515 | .ion-heart:before { content: "\f141"; }
516 |
517 | .ion-heart-broken:before { content: "\f31d"; }
518 |
519 | .ion-help:before { content: "\f143"; }
520 |
521 | .ion-help-buoy:before { content: "\f27c"; }
522 |
523 | .ion-help-circled:before { content: "\f142"; }
524 |
525 | .ion-home:before { content: "\f144"; }
526 |
527 | .ion-icecream:before { content: "\f27d"; }
528 |
529 | .ion-image:before { content: "\f147"; }
530 |
531 | .ion-images:before { content: "\f148"; }
532 |
533 | .ion-information:before { content: "\f14a"; }
534 |
535 | .ion-information-circled:before { content: "\f149"; }
536 |
537 | .ion-ionic:before { content: "\f14b"; }
538 |
539 | .ion-ios-alarm:before { content: "\f3c8"; }
540 |
541 | .ion-ios-alarm-outline:before { content: "\f3c7"; }
542 |
543 | .ion-ios-albums:before { content: "\f3ca"; }
544 |
545 | .ion-ios-albums-outline:before { content: "\f3c9"; }
546 |
547 | .ion-ios-americanfootball:before { content: "\f3cc"; }
548 |
549 | .ion-ios-americanfootball-outline:before { content: "\f3cb"; }
550 |
551 | .ion-ios-analytics:before { content: "\f3ce"; }
552 |
553 | .ion-ios-analytics-outline:before { content: "\f3cd"; }
554 |
555 | .ion-ios-arrow-back:before { content: "\f3cf"; }
556 |
557 | .ion-ios-arrow-down:before { content: "\f3d0"; }
558 |
559 | .ion-ios-arrow-forward:before { content: "\f3d1"; }
560 |
561 | .ion-ios-arrow-left:before { content: "\f3d2"; }
562 |
563 | .ion-ios-arrow-right:before { content: "\f3d3"; }
564 |
565 | .ion-ios-arrow-thin-down:before { content: "\f3d4"; }
566 |
567 | .ion-ios-arrow-thin-left:before { content: "\f3d5"; }
568 |
569 | .ion-ios-arrow-thin-right:before { content: "\f3d6"; }
570 |
571 | .ion-ios-arrow-thin-up:before { content: "\f3d7"; }
572 |
573 | .ion-ios-arrow-up:before { content: "\f3d8"; }
574 |
575 | .ion-ios-at:before { content: "\f3da"; }
576 |
577 | .ion-ios-at-outline:before { content: "\f3d9"; }
578 |
579 | .ion-ios-barcode:before { content: "\f3dc"; }
580 |
581 | .ion-ios-barcode-outline:before { content: "\f3db"; }
582 |
583 | .ion-ios-baseball:before { content: "\f3de"; }
584 |
585 | .ion-ios-baseball-outline:before { content: "\f3dd"; }
586 |
587 | .ion-ios-basketball:before { content: "\f3e0"; }
588 |
589 | .ion-ios-basketball-outline:before { content: "\f3df"; }
590 |
591 | .ion-ios-bell:before { content: "\f3e2"; }
592 |
593 | .ion-ios-bell-outline:before { content: "\f3e1"; }
594 |
595 | .ion-ios-body:before { content: "\f3e4"; }
596 |
597 | .ion-ios-body-outline:before { content: "\f3e3"; }
598 |
599 | .ion-ios-bolt:before { content: "\f3e6"; }
600 |
601 | .ion-ios-bolt-outline:before { content: "\f3e5"; }
602 |
603 | .ion-ios-book:before { content: "\f3e8"; }
604 |
605 | .ion-ios-book-outline:before { content: "\f3e7"; }
606 |
607 | .ion-ios-bookmarks:before { content: "\f3ea"; }
608 |
609 | .ion-ios-bookmarks-outline:before { content: "\f3e9"; }
610 |
611 | .ion-ios-box:before { content: "\f3ec"; }
612 |
613 | .ion-ios-box-outline:before { content: "\f3eb"; }
614 |
615 | .ion-ios-briefcase:before { content: "\f3ee"; }
616 |
617 | .ion-ios-briefcase-outline:before { content: "\f3ed"; }
618 |
619 | .ion-ios-browsers:before { content: "\f3f0"; }
620 |
621 | .ion-ios-browsers-outline:before { content: "\f3ef"; }
622 |
623 | .ion-ios-calculator:before { content: "\f3f2"; }
624 |
625 | .ion-ios-calculator-outline:before { content: "\f3f1"; }
626 |
627 | .ion-ios-calendar:before { content: "\f3f4"; }
628 |
629 | .ion-ios-calendar-outline:before { content: "\f3f3"; }
630 |
631 | .ion-ios-camera:before { content: "\f3f6"; }
632 |
633 | .ion-ios-camera-outline:before { content: "\f3f5"; }
634 |
635 | .ion-ios-cart:before { content: "\f3f8"; }
636 |
637 | .ion-ios-cart-outline:before { content: "\f3f7"; }
638 |
639 | .ion-ios-chatboxes:before { content: "\f3fa"; }
640 |
641 | .ion-ios-chatboxes-outline:before { content: "\f3f9"; }
642 |
643 | .ion-ios-chatbubble:before { content: "\f3fc"; }
644 |
645 | .ion-ios-chatbubble-outline:before { content: "\f3fb"; }
646 |
647 | .ion-ios-checkmark:before { content: "\f3ff"; }
648 |
649 | .ion-ios-checkmark-empty:before { content: "\f3fd"; }
650 |
651 | .ion-ios-checkmark-outline:before { content: "\f3fe"; }
652 |
653 | .ion-ios-circle-filled:before { content: "\f400"; }
654 |
655 | .ion-ios-circle-outline:before { content: "\f401"; }
656 |
657 | .ion-ios-clock:before { content: "\f403"; }
658 |
659 | .ion-ios-clock-outline:before { content: "\f402"; }
660 |
661 | .ion-ios-close:before { content: "\f406"; }
662 |
663 | .ion-ios-close-empty:before { content: "\f404"; }
664 |
665 | .ion-ios-close-outline:before { content: "\f405"; }
666 |
667 | .ion-ios-cloud:before { content: "\f40c"; }
668 |
669 | .ion-ios-cloud-download:before { content: "\f408"; }
670 |
671 | .ion-ios-cloud-download-outline:before { content: "\f407"; }
672 |
673 | .ion-ios-cloud-outline:before { content: "\f409"; }
674 |
675 | .ion-ios-cloud-upload:before { content: "\f40b"; }
676 |
677 | .ion-ios-cloud-upload-outline:before { content: "\f40a"; }
678 |
679 | .ion-ios-cloudy:before { content: "\f410"; }
680 |
681 | .ion-ios-cloudy-night:before { content: "\f40e"; }
682 |
683 | .ion-ios-cloudy-night-outline:before { content: "\f40d"; }
684 |
685 | .ion-ios-cloudy-outline:before { content: "\f40f"; }
686 |
687 | .ion-ios-cog:before { content: "\f412"; }
688 |
689 | .ion-ios-cog-outline:before { content: "\f411"; }
690 |
691 | .ion-ios-color-filter:before { content: "\f414"; }
692 |
693 | .ion-ios-color-filter-outline:before { content: "\f413"; }
694 |
695 | .ion-ios-color-wand:before { content: "\f416"; }
696 |
697 | .ion-ios-color-wand-outline:before { content: "\f415"; }
698 |
699 | .ion-ios-compose:before { content: "\f418"; }
700 |
701 | .ion-ios-compose-outline:before { content: "\f417"; }
702 |
703 | .ion-ios-contact:before { content: "\f41a"; }
704 |
705 | .ion-ios-contact-outline:before { content: "\f419"; }
706 |
707 | .ion-ios-copy:before { content: "\f41c"; }
708 |
709 | .ion-ios-copy-outline:before { content: "\f41b"; }
710 |
711 | .ion-ios-crop:before { content: "\f41e"; }
712 |
713 | .ion-ios-crop-strong:before { content: "\f41d"; }
714 |
715 | .ion-ios-download:before { content: "\f420"; }
716 |
717 | .ion-ios-download-outline:before { content: "\f41f"; }
718 |
719 | .ion-ios-drag:before { content: "\f421"; }
720 |
721 | .ion-ios-email:before { content: "\f423"; }
722 |
723 | .ion-ios-email-outline:before { content: "\f422"; }
724 |
725 | .ion-ios-eye:before { content: "\f425"; }
726 |
727 | .ion-ios-eye-outline:before { content: "\f424"; }
728 |
729 | .ion-ios-fastforward:before { content: "\f427"; }
730 |
731 | .ion-ios-fastforward-outline:before { content: "\f426"; }
732 |
733 | .ion-ios-filing:before { content: "\f429"; }
734 |
735 | .ion-ios-filing-outline:before { content: "\f428"; }
736 |
737 | .ion-ios-film:before { content: "\f42b"; }
738 |
739 | .ion-ios-film-outline:before { content: "\f42a"; }
740 |
741 | .ion-ios-flag:before { content: "\f42d"; }
742 |
743 | .ion-ios-flag-outline:before { content: "\f42c"; }
744 |
745 | .ion-ios-flame:before { content: "\f42f"; }
746 |
747 | .ion-ios-flame-outline:before { content: "\f42e"; }
748 |
749 | .ion-ios-flask:before { content: "\f431"; }
750 |
751 | .ion-ios-flask-outline:before { content: "\f430"; }
752 |
753 | .ion-ios-flower:before { content: "\f433"; }
754 |
755 | .ion-ios-flower-outline:before { content: "\f432"; }
756 |
757 | .ion-ios-folder:before { content: "\f435"; }
758 |
759 | .ion-ios-folder-outline:before { content: "\f434"; }
760 |
761 | .ion-ios-football:before { content: "\f437"; }
762 |
763 | .ion-ios-football-outline:before { content: "\f436"; }
764 |
765 | .ion-ios-game-controller-a:before { content: "\f439"; }
766 |
767 | .ion-ios-game-controller-a-outline:before { content: "\f438"; }
768 |
769 | .ion-ios-game-controller-b:before { content: "\f43b"; }
770 |
771 | .ion-ios-game-controller-b-outline:before { content: "\f43a"; }
772 |
773 | .ion-ios-gear:before { content: "\f43d"; }
774 |
775 | .ion-ios-gear-outline:before { content: "\f43c"; }
776 |
777 | .ion-ios-glasses:before { content: "\f43f"; }
778 |
779 | .ion-ios-glasses-outline:before { content: "\f43e"; }
780 |
781 | .ion-ios-grid-view:before { content: "\f441"; }
782 |
783 | .ion-ios-grid-view-outline:before { content: "\f440"; }
784 |
785 | .ion-ios-heart:before { content: "\f443"; }
786 |
787 | .ion-ios-heart-outline:before { content: "\f442"; }
788 |
789 | .ion-ios-help:before { content: "\f446"; }
790 |
791 | .ion-ios-help-empty:before { content: "\f444"; }
792 |
793 | .ion-ios-help-outline:before { content: "\f445"; }
794 |
795 | .ion-ios-home:before { content: "\f448"; }
796 |
797 | .ion-ios-home-outline:before { content: "\f447"; }
798 |
799 | .ion-ios-infinite:before { content: "\f44a"; }
800 |
801 | .ion-ios-infinite-outline:before { content: "\f449"; }
802 |
803 | .ion-ios-information:before { content: "\f44d"; }
804 |
805 | .ion-ios-information-empty:before { content: "\f44b"; }
806 |
807 | .ion-ios-information-outline:before { content: "\f44c"; }
808 |
809 | .ion-ios-ionic-outline:before { content: "\f44e"; }
810 |
811 | .ion-ios-keypad:before { content: "\f450"; }
812 |
813 | .ion-ios-keypad-outline:before { content: "\f44f"; }
814 |
815 | .ion-ios-lightbulb:before { content: "\f452"; }
816 |
817 | .ion-ios-lightbulb-outline:before { content: "\f451"; }
818 |
819 | .ion-ios-list:before { content: "\f454"; }
820 |
821 | .ion-ios-list-outline:before { content: "\f453"; }
822 |
823 | .ion-ios-location:before { content: "\f456"; }
824 |
825 | .ion-ios-location-outline:before { content: "\f455"; }
826 |
827 | .ion-ios-locked:before { content: "\f458"; }
828 |
829 | .ion-ios-locked-outline:before { content: "\f457"; }
830 |
831 | .ion-ios-loop:before { content: "\f45a"; }
832 |
833 | .ion-ios-loop-strong:before { content: "\f459"; }
834 |
835 | .ion-ios-medical:before { content: "\f45c"; }
836 |
837 | .ion-ios-medical-outline:before { content: "\f45b"; }
838 |
839 | .ion-ios-medkit:before { content: "\f45e"; }
840 |
841 | .ion-ios-medkit-outline:before { content: "\f45d"; }
842 |
843 | .ion-ios-mic:before { content: "\f461"; }
844 |
845 | .ion-ios-mic-off:before { content: "\f45f"; }
846 |
847 | .ion-ios-mic-outline:before { content: "\f460"; }
848 |
849 | .ion-ios-minus:before { content: "\f464"; }
850 |
851 | .ion-ios-minus-empty:before { content: "\f462"; }
852 |
853 | .ion-ios-minus-outline:before { content: "\f463"; }
854 |
855 | .ion-ios-monitor:before { content: "\f466"; }
856 |
857 | .ion-ios-monitor-outline:before { content: "\f465"; }
858 |
859 | .ion-ios-moon:before { content: "\f468"; }
860 |
861 | .ion-ios-moon-outline:before { content: "\f467"; }
862 |
863 | .ion-ios-more:before { content: "\f46a"; }
864 |
865 | .ion-ios-more-outline:before { content: "\f469"; }
866 |
867 | .ion-ios-musical-note:before { content: "\f46b"; }
868 |
869 | .ion-ios-musical-notes:before { content: "\f46c"; }
870 |
871 | .ion-ios-navigate:before { content: "\f46e"; }
872 |
873 | .ion-ios-navigate-outline:before { content: "\f46d"; }
874 |
875 | .ion-ios-nutrition:before { content: "\f470"; }
876 |
877 | .ion-ios-nutrition-outline:before { content: "\f46f"; }
878 |
879 | .ion-ios-paper:before { content: "\f472"; }
880 |
881 | .ion-ios-paper-outline:before { content: "\f471"; }
882 |
883 | .ion-ios-paperplane:before { content: "\f474"; }
884 |
885 | .ion-ios-paperplane-outline:before { content: "\f473"; }
886 |
887 | .ion-ios-partlysunny:before { content: "\f476"; }
888 |
889 | .ion-ios-partlysunny-outline:before { content: "\f475"; }
890 |
891 | .ion-ios-pause:before { content: "\f478"; }
892 |
893 | .ion-ios-pause-outline:before { content: "\f477"; }
894 |
895 | .ion-ios-paw:before { content: "\f47a"; }
896 |
897 | .ion-ios-paw-outline:before { content: "\f479"; }
898 |
899 | .ion-ios-people:before { content: "\f47c"; }
900 |
901 | .ion-ios-people-outline:before { content: "\f47b"; }
902 |
903 | .ion-ios-person:before { content: "\f47e"; }
904 |
905 | .ion-ios-person-outline:before { content: "\f47d"; }
906 |
907 | .ion-ios-personadd:before { content: "\f480"; }
908 |
909 | .ion-ios-personadd-outline:before { content: "\f47f"; }
910 |
911 | .ion-ios-photos:before { content: "\f482"; }
912 |
913 | .ion-ios-photos-outline:before { content: "\f481"; }
914 |
915 | .ion-ios-pie:before { content: "\f484"; }
916 |
917 | .ion-ios-pie-outline:before { content: "\f483"; }
918 |
919 | .ion-ios-pint:before { content: "\f486"; }
920 |
921 | .ion-ios-pint-outline:before { content: "\f485"; }
922 |
923 | .ion-ios-play:before { content: "\f488"; }
924 |
925 | .ion-ios-play-outline:before { content: "\f487"; }
926 |
927 | .ion-ios-plus:before { content: "\f48b"; }
928 |
929 | .ion-ios-plus-empty:before { content: "\f489"; }
930 |
931 | .ion-ios-plus-outline:before { content: "\f48a"; }
932 |
933 | .ion-ios-pricetag:before { content: "\f48d"; }
934 |
935 | .ion-ios-pricetag-outline:before { content: "\f48c"; }
936 |
937 | .ion-ios-pricetags:before { content: "\f48f"; }
938 |
939 | .ion-ios-pricetags-outline:before { content: "\f48e"; }
940 |
941 | .ion-ios-printer:before { content: "\f491"; }
942 |
943 | .ion-ios-printer-outline:before { content: "\f490"; }
944 |
945 | .ion-ios-pulse:before { content: "\f493"; }
946 |
947 | .ion-ios-pulse-strong:before { content: "\f492"; }
948 |
949 | .ion-ios-rainy:before { content: "\f495"; }
950 |
951 | .ion-ios-rainy-outline:before { content: "\f494"; }
952 |
953 | .ion-ios-recording:before { content: "\f497"; }
954 |
955 | .ion-ios-recording-outline:before { content: "\f496"; }
956 |
957 | .ion-ios-redo:before { content: "\f499"; }
958 |
959 | .ion-ios-redo-outline:before { content: "\f498"; }
960 |
961 | .ion-ios-refresh:before { content: "\f49c"; }
962 |
963 | .ion-ios-refresh-empty:before { content: "\f49a"; }
964 |
965 | .ion-ios-refresh-outline:before { content: "\f49b"; }
966 |
967 | .ion-ios-reload:before { content: "\f49d"; }
968 |
969 | .ion-ios-reverse-camera:before { content: "\f49f"; }
970 |
971 | .ion-ios-reverse-camera-outline:before { content: "\f49e"; }
972 |
973 | .ion-ios-rewind:before { content: "\f4a1"; }
974 |
975 | .ion-ios-rewind-outline:before { content: "\f4a0"; }
976 |
977 | .ion-ios-rose:before { content: "\f4a3"; }
978 |
979 | .ion-ios-rose-outline:before { content: "\f4a2"; }
980 |
981 | .ion-ios-search:before { content: "\f4a5"; }
982 |
983 | .ion-ios-search-strong:before { content: "\f4a4"; }
984 |
985 | .ion-ios-settings:before { content: "\f4a7"; }
986 |
987 | .ion-ios-settings-strong:before { content: "\f4a6"; }
988 |
989 | .ion-ios-shuffle:before { content: "\f4a9"; }
990 |
991 | .ion-ios-shuffle-strong:before { content: "\f4a8"; }
992 |
993 | .ion-ios-skipbackward:before { content: "\f4ab"; }
994 |
995 | .ion-ios-skipbackward-outline:before { content: "\f4aa"; }
996 |
997 | .ion-ios-skipforward:before { content: "\f4ad"; }
998 |
999 | .ion-ios-skipforward-outline:before { content: "\f4ac"; }
1000 |
1001 | .ion-ios-snowy:before { content: "\f4ae"; }
1002 |
1003 | .ion-ios-speedometer:before { content: "\f4b0"; }
1004 |
1005 | .ion-ios-speedometer-outline:before { content: "\f4af"; }
1006 |
1007 | .ion-ios-star:before { content: "\f4b3"; }
1008 |
1009 | .ion-ios-star-half:before { content: "\f4b1"; }
1010 |
1011 | .ion-ios-star-outline:before { content: "\f4b2"; }
1012 |
1013 | .ion-ios-stopwatch:before { content: "\f4b5"; }
1014 |
1015 | .ion-ios-stopwatch-outline:before { content: "\f4b4"; }
1016 |
1017 | .ion-ios-sunny:before { content: "\f4b7"; }
1018 |
1019 | .ion-ios-sunny-outline:before { content: "\f4b6"; }
1020 |
1021 | .ion-ios-telephone:before { content: "\f4b9"; }
1022 |
1023 | .ion-ios-telephone-outline:before { content: "\f4b8"; }
1024 |
1025 | .ion-ios-tennisball:before { content: "\f4bb"; }
1026 |
1027 | .ion-ios-tennisball-outline:before { content: "\f4ba"; }
1028 |
1029 | .ion-ios-thunderstorm:before { content: "\f4bd"; }
1030 |
1031 | .ion-ios-thunderstorm-outline:before { content: "\f4bc"; }
1032 |
1033 | .ion-ios-time:before { content: "\f4bf"; }
1034 |
1035 | .ion-ios-time-outline:before { content: "\f4be"; }
1036 |
1037 | .ion-ios-timer:before { content: "\f4c1"; }
1038 |
1039 | .ion-ios-timer-outline:before { content: "\f4c0"; }
1040 |
1041 | .ion-ios-toggle:before { content: "\f4c3"; }
1042 |
1043 | .ion-ios-toggle-outline:before { content: "\f4c2"; }
1044 |
1045 | .ion-ios-trash:before { content: "\f4c5"; }
1046 |
1047 | .ion-ios-trash-outline:before { content: "\f4c4"; }
1048 |
1049 | .ion-ios-undo:before { content: "\f4c7"; }
1050 |
1051 | .ion-ios-undo-outline:before { content: "\f4c6"; }
1052 |
1053 | .ion-ios-unlocked:before { content: "\f4c9"; }
1054 |
1055 | .ion-ios-unlocked-outline:before { content: "\f4c8"; }
1056 |
1057 | .ion-ios-upload:before { content: "\f4cb"; }
1058 |
1059 | .ion-ios-upload-outline:before { content: "\f4ca"; }
1060 |
1061 | .ion-ios-videocam:before { content: "\f4cd"; }
1062 |
1063 | .ion-ios-videocam-outline:before { content: "\f4cc"; }
1064 |
1065 | .ion-ios-volume-high:before { content: "\f4ce"; }
1066 |
1067 | .ion-ios-volume-low:before { content: "\f4cf"; }
1068 |
1069 | .ion-ios-wineglass:before { content: "\f4d1"; }
1070 |
1071 | .ion-ios-wineglass-outline:before { content: "\f4d0"; }
1072 |
1073 | .ion-ios-world:before { content: "\f4d3"; }
1074 |
1075 | .ion-ios-world-outline:before { content: "\f4d2"; }
1076 |
1077 | .ion-ipad:before { content: "\f1f9"; }
1078 |
1079 | .ion-iphone:before { content: "\f1fa"; }
1080 |
1081 | .ion-ipod:before { content: "\f1fb"; }
1082 |
1083 | .ion-jet:before { content: "\f295"; }
1084 |
1085 | .ion-key:before { content: "\f296"; }
1086 |
1087 | .ion-knife:before { content: "\f297"; }
1088 |
1089 | .ion-laptop:before { content: "\f1fc"; }
1090 |
1091 | .ion-leaf:before { content: "\f1fd"; }
1092 |
1093 | .ion-levels:before { content: "\f298"; }
1094 |
1095 | .ion-lightbulb:before { content: "\f299"; }
1096 |
1097 | .ion-link:before { content: "\f1fe"; }
1098 |
1099 | .ion-load-a:before { content: "\f29a"; }
1100 |
1101 | .ion-load-b:before { content: "\f29b"; }
1102 |
1103 | .ion-load-c:before { content: "\f29c"; }
1104 |
1105 | .ion-load-d:before { content: "\f29d"; }
1106 |
1107 | .ion-location:before { content: "\f1ff"; }
1108 |
1109 | .ion-lock-combination:before { content: "\f4d4"; }
1110 |
1111 | .ion-locked:before { content: "\f200"; }
1112 |
1113 | .ion-log-in:before { content: "\f29e"; }
1114 |
1115 | .ion-log-out:before { content: "\f29f"; }
1116 |
1117 | .ion-loop:before { content: "\f201"; }
1118 |
1119 | .ion-magnet:before { content: "\f2a0"; }
1120 |
1121 | .ion-male:before { content: "\f2a1"; }
1122 |
1123 | .ion-man:before { content: "\f202"; }
1124 |
1125 | .ion-map:before { content: "\f203"; }
1126 |
1127 | .ion-medkit:before { content: "\f2a2"; }
1128 |
1129 | .ion-merge:before { content: "\f33f"; }
1130 |
1131 | .ion-mic-a:before { content: "\f204"; }
1132 |
1133 | .ion-mic-b:before { content: "\f205"; }
1134 |
1135 | .ion-mic-c:before { content: "\f206"; }
1136 |
1137 | .ion-minus:before { content: "\f209"; }
1138 |
1139 | .ion-minus-circled:before { content: "\f207"; }
1140 |
1141 | .ion-minus-round:before { content: "\f208"; }
1142 |
1143 | .ion-model-s:before { content: "\f2c1"; }
1144 |
1145 | .ion-monitor:before { content: "\f20a"; }
1146 |
1147 | .ion-more:before { content: "\f20b"; }
1148 |
1149 | .ion-mouse:before { content: "\f340"; }
1150 |
1151 | .ion-music-note:before { content: "\f20c"; }
1152 |
1153 | .ion-navicon:before { content: "\f20e"; }
1154 |
1155 | .ion-navicon-round:before { content: "\f20d"; }
1156 |
1157 | .ion-navigate:before { content: "\f2a3"; }
1158 |
1159 | .ion-network:before { content: "\f341"; }
1160 |
1161 | .ion-no-smoking:before { content: "\f2c2"; }
1162 |
1163 | .ion-nuclear:before { content: "\f2a4"; }
1164 |
1165 | .ion-outlet:before { content: "\f342"; }
1166 |
1167 | .ion-paintbrush:before { content: "\f4d5"; }
1168 |
1169 | .ion-paintbucket:before { content: "\f4d6"; }
1170 |
1171 | .ion-paper-airplane:before { content: "\f2c3"; }
1172 |
1173 | .ion-paperclip:before { content: "\f20f"; }
1174 |
1175 | .ion-pause:before { content: "\f210"; }
1176 |
1177 | .ion-person:before { content: "\f213"; }
1178 |
1179 | .ion-person-add:before { content: "\f211"; }
1180 |
1181 | .ion-person-stalker:before { content: "\f212"; }
1182 |
1183 | .ion-pie-graph:before { content: "\f2a5"; }
1184 |
1185 | .ion-pin:before { content: "\f2a6"; }
1186 |
1187 | .ion-pinpoint:before { content: "\f2a7"; }
1188 |
1189 | .ion-pizza:before { content: "\f2a8"; }
1190 |
1191 | .ion-plane:before { content: "\f214"; }
1192 |
1193 | .ion-planet:before { content: "\f343"; }
1194 |
1195 | .ion-play:before { content: "\f215"; }
1196 |
1197 | .ion-playstation:before { content: "\f30a"; }
1198 |
1199 | .ion-plus:before { content: "\f218"; }
1200 |
1201 | .ion-plus-circled:before { content: "\f216"; }
1202 |
1203 | .ion-plus-round:before { content: "\f217"; }
1204 |
1205 | .ion-podium:before { content: "\f344"; }
1206 |
1207 | .ion-pound:before { content: "\f219"; }
1208 |
1209 | .ion-power:before { content: "\f2a9"; }
1210 |
1211 | .ion-pricetag:before { content: "\f2aa"; }
1212 |
1213 | .ion-pricetags:before { content: "\f2ab"; }
1214 |
1215 | .ion-printer:before { content: "\f21a"; }
1216 |
1217 | .ion-pull-request:before { content: "\f345"; }
1218 |
1219 | .ion-qr-scanner:before { content: "\f346"; }
1220 |
1221 | .ion-quote:before { content: "\f347"; }
1222 |
1223 | .ion-radio-waves:before { content: "\f2ac"; }
1224 |
1225 | .ion-record:before { content: "\f21b"; }
1226 |
1227 | .ion-refresh:before { content: "\f21c"; }
1228 |
1229 | .ion-reply:before { content: "\f21e"; }
1230 |
1231 | .ion-reply-all:before { content: "\f21d"; }
1232 |
1233 | .ion-ribbon-a:before { content: "\f348"; }
1234 |
1235 | .ion-ribbon-b:before { content: "\f349"; }
1236 |
1237 | .ion-sad:before { content: "\f34a"; }
1238 |
1239 | .ion-sad-outline:before { content: "\f4d7"; }
1240 |
1241 | .ion-scissors:before { content: "\f34b"; }
1242 |
1243 | .ion-search:before { content: "\f21f"; }
1244 |
1245 | .ion-settings:before { content: "\f2ad"; }
1246 |
1247 | .ion-share:before { content: "\f220"; }
1248 |
1249 | .ion-shuffle:before { content: "\f221"; }
1250 |
1251 | .ion-skip-backward:before { content: "\f222"; }
1252 |
1253 | .ion-skip-forward:before { content: "\f223"; }
1254 |
1255 | .ion-social-android:before { content: "\f225"; }
1256 |
1257 | .ion-social-android-outline:before { content: "\f224"; }
1258 |
1259 | .ion-social-angular:before { content: "\f4d9"; }
1260 |
1261 | .ion-social-angular-outline:before { content: "\f4d8"; }
1262 |
1263 | .ion-social-apple:before { content: "\f227"; }
1264 |
1265 | .ion-social-apple-outline:before { content: "\f226"; }
1266 |
1267 | .ion-social-bitcoin:before { content: "\f2af"; }
1268 |
1269 | .ion-social-bitcoin-outline:before { content: "\f2ae"; }
1270 |
1271 | .ion-social-buffer:before { content: "\f229"; }
1272 |
1273 | .ion-social-buffer-outline:before { content: "\f228"; }
1274 |
1275 | .ion-social-chrome:before { content: "\f4db"; }
1276 |
1277 | .ion-social-chrome-outline:before { content: "\f4da"; }
1278 |
1279 | .ion-social-codepen:before { content: "\f4dd"; }
1280 |
1281 | .ion-social-codepen-outline:before { content: "\f4dc"; }
1282 |
1283 | .ion-social-css3:before { content: "\f4df"; }
1284 |
1285 | .ion-social-css3-outline:before { content: "\f4de"; }
1286 |
1287 | .ion-social-designernews:before { content: "\f22b"; }
1288 |
1289 | .ion-social-designernews-outline:before { content: "\f22a"; }
1290 |
1291 | .ion-social-dribbble:before { content: "\f22d"; }
1292 |
1293 | .ion-social-dribbble-outline:before { content: "\f22c"; }
1294 |
1295 | .ion-social-dropbox:before { content: "\f22f"; }
1296 |
1297 | .ion-social-dropbox-outline:before { content: "\f22e"; }
1298 |
1299 | .ion-social-euro:before { content: "\f4e1"; }
1300 |
1301 | .ion-social-euro-outline:before { content: "\f4e0"; }
1302 |
1303 | .ion-social-facebook:before { content: "\f231"; }
1304 |
1305 | .ion-social-facebook-outline:before { content: "\f230"; }
1306 |
1307 | .ion-social-foursquare:before { content: "\f34d"; }
1308 |
1309 | .ion-social-foursquare-outline:before { content: "\f34c"; }
1310 |
1311 | .ion-social-freebsd-devil:before { content: "\f2c4"; }
1312 |
1313 | .ion-social-github:before { content: "\f233"; }
1314 |
1315 | .ion-social-github-outline:before { content: "\f232"; }
1316 |
1317 | .ion-social-google:before { content: "\f34f"; }
1318 |
1319 | .ion-social-google-outline:before { content: "\f34e"; }
1320 |
1321 | .ion-social-googleplus:before { content: "\f235"; }
1322 |
1323 | .ion-social-googleplus-outline:before { content: "\f234"; }
1324 |
1325 | .ion-social-hackernews:before { content: "\f237"; }
1326 |
1327 | .ion-social-hackernews-outline:before { content: "\f236"; }
1328 |
1329 | .ion-social-html5:before { content: "\f4e3"; }
1330 |
1331 | .ion-social-html5-outline:before { content: "\f4e2"; }
1332 |
1333 | .ion-social-instagram:before { content: "\f351"; }
1334 |
1335 | .ion-social-instagram-outline:before { content: "\f350"; }
1336 |
1337 | .ion-social-javascript:before { content: "\f4e5"; }
1338 |
1339 | .ion-social-javascript-outline:before { content: "\f4e4"; }
1340 |
1341 | .ion-social-linkedin:before { content: "\f239"; }
1342 |
1343 | .ion-social-linkedin-outline:before { content: "\f238"; }
1344 |
1345 | .ion-social-markdown:before { content: "\f4e6"; }
1346 |
1347 | .ion-social-nodejs:before { content: "\f4e7"; }
1348 |
1349 | .ion-social-octocat:before { content: "\f4e8"; }
1350 |
1351 | .ion-social-pinterest:before { content: "\f2b1"; }
1352 |
1353 | .ion-social-pinterest-outline:before { content: "\f2b0"; }
1354 |
1355 | .ion-social-python:before { content: "\f4e9"; }
1356 |
1357 | .ion-social-reddit:before { content: "\f23b"; }
1358 |
1359 | .ion-social-reddit-outline:before { content: "\f23a"; }
1360 |
1361 | .ion-social-rss:before { content: "\f23d"; }
1362 |
1363 | .ion-social-rss-outline:before { content: "\f23c"; }
1364 |
1365 | .ion-social-sass:before { content: "\f4ea"; }
1366 |
1367 | .ion-social-skype:before { content: "\f23f"; }
1368 |
1369 | .ion-social-skype-outline:before { content: "\f23e"; }
1370 |
1371 | .ion-social-snapchat:before { content: "\f4ec"; }
1372 |
1373 | .ion-social-snapchat-outline:before { content: "\f4eb"; }
1374 |
1375 | .ion-social-tumblr:before { content: "\f241"; }
1376 |
1377 | .ion-social-tumblr-outline:before { content: "\f240"; }
1378 |
1379 | .ion-social-tux:before { content: "\f2c5"; }
1380 |
1381 | .ion-social-twitch:before { content: "\f4ee"; }
1382 |
1383 | .ion-social-twitch-outline:before { content: "\f4ed"; }
1384 |
1385 | .ion-social-twitter:before { content: "\f243"; }
1386 |
1387 | .ion-social-twitter-outline:before { content: "\f242"; }
1388 |
1389 | .ion-social-usd:before { content: "\f353"; }
1390 |
1391 | .ion-social-usd-outline:before { content: "\f352"; }
1392 |
1393 | .ion-social-vimeo:before { content: "\f245"; }
1394 |
1395 | .ion-social-vimeo-outline:before { content: "\f244"; }
1396 |
1397 | .ion-social-whatsapp:before { content: "\f4f0"; }
1398 |
1399 | .ion-social-whatsapp-outline:before { content: "\f4ef"; }
1400 |
1401 | .ion-social-windows:before { content: "\f247"; }
1402 |
1403 | .ion-social-windows-outline:before { content: "\f246"; }
1404 |
1405 | .ion-social-wordpress:before { content: "\f249"; }
1406 |
1407 | .ion-social-wordpress-outline:before { content: "\f248"; }
1408 |
1409 | .ion-social-yahoo:before { content: "\f24b"; }
1410 |
1411 | .ion-social-yahoo-outline:before { content: "\f24a"; }
1412 |
1413 | .ion-social-yen:before { content: "\f4f2"; }
1414 |
1415 | .ion-social-yen-outline:before { content: "\f4f1"; }
1416 |
1417 | .ion-social-youtube:before { content: "\f24d"; }
1418 |
1419 | .ion-social-youtube-outline:before { content: "\f24c"; }
1420 |
1421 | .ion-soup-can:before { content: "\f4f4"; }
1422 |
1423 | .ion-soup-can-outline:before { content: "\f4f3"; }
1424 |
1425 | .ion-speakerphone:before { content: "\f2b2"; }
1426 |
1427 | .ion-speedometer:before { content: "\f2b3"; }
1428 |
1429 | .ion-spoon:before { content: "\f2b4"; }
1430 |
1431 | .ion-star:before { content: "\f24e"; }
1432 |
1433 | .ion-stats-bars:before { content: "\f2b5"; }
1434 |
1435 | .ion-steam:before { content: "\f30b"; }
1436 |
1437 | .ion-stop:before { content: "\f24f"; }
1438 |
1439 | .ion-thermometer:before { content: "\f2b6"; }
1440 |
1441 | .ion-thumbsdown:before { content: "\f250"; }
1442 |
1443 | .ion-thumbsup:before { content: "\f251"; }
1444 |
1445 | .ion-toggle:before { content: "\f355"; }
1446 |
1447 | .ion-toggle-filled:before { content: "\f354"; }
1448 |
1449 | .ion-transgender:before { content: "\f4f5"; }
1450 |
1451 | .ion-trash-a:before { content: "\f252"; }
1452 |
1453 | .ion-trash-b:before { content: "\f253"; }
1454 |
1455 | .ion-trophy:before { content: "\f356"; }
1456 |
1457 | .ion-tshirt:before { content: "\f4f7"; }
1458 |
1459 | .ion-tshirt-outline:before { content: "\f4f6"; }
1460 |
1461 | .ion-umbrella:before { content: "\f2b7"; }
1462 |
1463 | .ion-university:before { content: "\f357"; }
1464 |
1465 | .ion-unlocked:before { content: "\f254"; }
1466 |
1467 | .ion-upload:before { content: "\f255"; }
1468 |
1469 | .ion-usb:before { content: "\f2b8"; }
1470 |
1471 | .ion-videocamera:before { content: "\f256"; }
1472 |
1473 | .ion-volume-high:before { content: "\f257"; }
1474 |
1475 | .ion-volume-low:before { content: "\f258"; }
1476 |
1477 | .ion-volume-medium:before { content: "\f259"; }
1478 |
1479 | .ion-volume-mute:before { content: "\f25a"; }
1480 |
1481 | .ion-wand:before { content: "\f358"; }
1482 |
1483 | .ion-waterdrop:before { content: "\f25b"; }
1484 |
1485 | .ion-wifi:before { content: "\f25c"; }
1486 |
1487 | .ion-wineglass:before { content: "\f2b9"; }
1488 |
1489 | .ion-woman:before { content: "\f25d"; }
1490 |
1491 | .ion-wrench:before { content: "\f2ba"; }
1492 |
1493 | .ion-xbox:before { content: "\f30c"; }
1494 |
--------------------------------------------------------------------------------
/app/helpers/font_ionicons/rails/icon_helper.rb:
--------------------------------------------------------------------------------
1 | module FontIonicons
2 | module Rails
3 | module IconHelper
4 | # Creates an icon tag given an icon name and possible icon
5 | # modifiers.
6 | #
7 | # Examples
8 | #
9 | # ion_icon "camera"
10 | # # =>
11 | #
12 | # ion_icon "camera", text: "Take a photo"
13 | # # => Take a photo
14 | #
15 | # ion_icon "chevron-right", text: "Get started", right: true
16 | # # => Get started
17 | #
18 | # ion_icon "user", data: { id: 123 }
19 | # # =>
20 | #
21 | # content_tag(:li, ion_icon("check li", text: "Bulleted list item"))
22 | # # => Bulleted list item
23 | def ion_icon(names = 'flag', options = {})
24 | classes = []
25 | classes.concat Private.icon_names(names)
26 | classes.concat Array(options.delete(:class))
27 | text = options.delete(:text)
28 | right_icon = options.delete(:right)
29 | icon = content_tag(:i, nil, options.merge(class: classes))
30 | Private.icon_join(icon, text, right_icon)
31 | end
32 |
33 | module Private
34 | extend ActionView::Helpers::OutputSafetyHelper
35 |
36 | def self.icon_join(icon, text, reverse_order = false)
37 | return icon if text.blank?
38 | elements = [icon, ERB::Util.html_escape(text)]
39 | elements.reverse! if reverse_order
40 | safe_join(elements, ' ')
41 | end
42 |
43 | def self.icon_names(names = [])
44 | array_value(names).map { |n| "ion-#{n}" }
45 | end
46 |
47 | def self.array_value(value = [])
48 | value.is_a?(Array) ? value : value.to_s.split(/\s+/)
49 | end
50 | end
51 | end
52 | end
53 | end
54 |
--------------------------------------------------------------------------------
/font-ionicons-rails.gemspec:
--------------------------------------------------------------------------------
1 | # -*- encoding: utf-8 -*-
2 | require File.expand_path('../lib/font-ionicons-rails/version', __FILE__)
3 |
4 | Gem::Specification.new do |gem|
5 | gem.authors = ["Ricardo Emerson"]
6 | gem.email = ["ricardo_emerson@yahoo.com.br"]
7 | gem.description = "The best Ionicons gem made for Ruby on Rails and with helpers for better use."
8 | gem.summary = "an asset gemification of the ionicons icon font library"
9 | gem.homepage = "https://github.com/ricardoemerson/font-ionicons-rails"
10 | gem.licenses = ["MIT"]
11 |
12 | gem.files = Dir["{app,lib}/**/*"] + ["LICENSE", "Rakefile", "README.md"]
13 | gem.test_files = Dir["test/**/*"]
14 | gem.name = "font-ionicons-rails"
15 | gem.require_paths = ["lib"]
16 | gem.version = FontIonicons::Rails::VERSION
17 |
18 | gem.add_dependency "railties", ">= 3.2", "< 8.0"
19 |
20 | gem.add_development_dependency 'activesupport', '~> 0'
21 | gem.add_development_dependency 'sass-rails', '~> 0'
22 |
23 | gem.required_ruby_version = '>= 1.9.3'
24 | end
25 |
--------------------------------------------------------------------------------
/gemfiles/rails-3.2.gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | gemspec :path => "../"
4 | gem "railties", "~> 3.2.21"
5 | gem "sass-rails", "~> 3.2.6"
6 | gem "tzinfo"
7 |
--------------------------------------------------------------------------------
/gemfiles/rails-4.1.gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | gemspec :path => "../"
4 | gem "railties", "~> 4.1.8"
5 | gem "sass-rails", "~> 4.0.5"
6 |
--------------------------------------------------------------------------------
/gemfiles/rails-4.2.gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | gemspec :path => "../"
4 | gem "railties", "~> 4.2.0"
5 | gem "sass-rails", "~> 5.0.0"
6 |
--------------------------------------------------------------------------------
/gemfiles/rails-master.gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | gemspec :path => "../"
4 | gem "railties", :github => "rails/rails", :branch => "master"
5 | gem "sass-rails", :github => "rails/sass-rails", :branch => "master"
6 |
--------------------------------------------------------------------------------
/gemfiles/sprockets-backport.gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | # See:
4 | # http://blog.logdown.com/posts/171593-using-rails-4-asset-pipeline-on-rails-3-for-faster-deploy
5 | # https://github.com/rails/sprockets-rails/issues/98
6 | # https://discussion.heroku.com/t/using-the-rails-4-asset-pipeline-in-rails-3-apps-for-faster-deploys/205
7 |
8 | gemspec :path => "../"
9 | gem "railties", :github => "rails/rails", :branch => "3-2-stable"
10 | gem "sprockets", "2.2.2.backport2"
11 | gem "sprockets-rails", "2.0.0.backport1"
12 | gem "sass-rails", :github => "guilleiguaran/sass-rails", :branch => "backport"
13 | gem "tzinfo"
14 |
--------------------------------------------------------------------------------
/lib/font-ionicons-rails.rb:
--------------------------------------------------------------------------------
1 | require "font-ionicons-rails/version"
2 | require "font-ionicons-rails/engine" if defined?(::Rails)
3 |
--------------------------------------------------------------------------------
/lib/font-ionicons-rails/engine.rb:
--------------------------------------------------------------------------------
1 | module FontIonicons
2 | module Rails
3 | class Engine < ::Rails::Engine
4 | config.assets.precompile << %w( ionicons.eot ionicons.ttf ionicons.svg ionicons.woff )
5 | end
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/lib/font-ionicons-rails/version.rb:
--------------------------------------------------------------------------------
1 | module FontIonicons
2 | module Rails
3 | FI_VERSION = "2.0.1"
4 | VERSION = "2.0.1.6"
5 | end
6 | end
7 |
--------------------------------------------------------------------------------
/test/dummy/.gitignore:
--------------------------------------------------------------------------------
1 | /log
2 | /tmp
3 |
--------------------------------------------------------------------------------
/test/dummy/app/assets/stylesheets/sass-import.css.sass:
--------------------------------------------------------------------------------
1 | @import ionicons
2 |
--------------------------------------------------------------------------------
/test/dummy/app/assets/stylesheets/scss-import.css.scss:
--------------------------------------------------------------------------------
1 | @import "ionicons";
2 |
--------------------------------------------------------------------------------
/test/dummy/app/assets/stylesheets/sprockets-require.css:
--------------------------------------------------------------------------------
1 | /*
2 | *= require ionicons
3 | */
4 |
--------------------------------------------------------------------------------
/test/dummy/app/controllers/pages_controller.rb:
--------------------------------------------------------------------------------
1 | class PagesController < ActionController::Base
2 | end
3 |
--------------------------------------------------------------------------------
/test/dummy/app/views/pages/icons.html.erb:
--------------------------------------------------------------------------------
1 | <%= ion_icon "flag" %>
2 |
--------------------------------------------------------------------------------
/test/dummy/config.ru:
--------------------------------------------------------------------------------
1 | # This file is used by Rack-based servers to start the application.
2 |
3 | require ::File.expand_path('../config/environment', __FILE__)
4 | run Dummy::Application
5 |
--------------------------------------------------------------------------------
/test/dummy/config/application.rb:
--------------------------------------------------------------------------------
1 | require File.expand_path('../boot', __FILE__)
2 |
3 | # require "rails/all"
4 | require "sprockets/railtie"
5 |
6 | Bundler.require(:default, :development)
7 |
8 | module Dummy
9 | class Application < Rails::Application
10 | config.encoding = "utf-8"
11 | config.assets.enabled = true
12 | config.assets.version = '1.0'
13 |
14 | # replacement for environments/*.rb
15 | config.active_support.deprecation = :stderr
16 | config.eager_load = false
17 | config.active_support.test_order = :random rescue nil
18 | end
19 | end
20 |
--------------------------------------------------------------------------------
/test/dummy/config/boot.rb:
--------------------------------------------------------------------------------
1 | require 'rubygems'
2 | gemfile = File.expand_path('../../../../Gemfile', __FILE__)
3 |
4 | if File.exist?(gemfile)
5 | ENV['BUNDLE_GEMFILE'] = gemfile
6 | require 'bundler'
7 | Bundler.setup
8 | end
9 |
10 | $:.unshift File.expand_path('../../../../lib', __FILE__)
--------------------------------------------------------------------------------
/test/dummy/config/environment.rb:
--------------------------------------------------------------------------------
1 | # Load the rails application
2 | require File.expand_path('../application', __FILE__)
3 |
4 | # Initialize the rails application
5 | Dummy::Application.initialize!
6 |
--------------------------------------------------------------------------------
/test/dummy/config/initializers/secret_token.rb:
--------------------------------------------------------------------------------
1 | # Be sure to restart your server when you modify this file.
2 |
3 | # Your secret key for verifying the integrity of signed cookies.
4 | # If you change this key, all old signed cookies will become invalid!
5 | # Make sure the secret is at least 30 characters and all random,
6 | # no regular words or you'll be exposed to dictionary attacks.
7 | Dummy::Application.config.secret_token = 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef'
8 | Dummy::Application.config.secret_key_base = 'deadbeef' if Dummy::Application.config.respond_to?(:secret_key_base)
9 |
--------------------------------------------------------------------------------
/test/dummy/config/routes.rb:
--------------------------------------------------------------------------------
1 | Dummy::Application.routes.draw do
2 | get "/icons", :to => "pages#icons"
3 | end
4 |
--------------------------------------------------------------------------------
/test/font-ionicons_rails_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class FontIoniconsRailsTest < ActionDispatch::IntegrationTest
4 | teardown { clean_sprockets_cache }
5 |
6 | test 'engine is loaded' do
7 | assert_equal ::Rails::Engine, FontIonicons::Rails::Engine.superclass
8 | end
9 |
10 | test 'fonts are served' do
11 | get '/assets/ionicons.eot'
12 | assert_response :success
13 | get '/assets/ionicons.woff'
14 | assert_response :success
15 | get '/assets/ionicons.ttf'
16 | assert_response :success
17 | get '/assets/ionicons.svg'
18 | assert_response :success
19 | end
20 |
21 | test 'stylesheets are served' do
22 | get '/assets/ionicons.css'
23 | assert_ionicons(response)
24 | end
25 |
26 | test 'stylesheets contain asset pipeline references to fonts' do
27 | get '/assets/ionicons.css'
28 | v = FontIonicons::Rails::FI_VERSION
29 | assert_match "/assets/ionicons.eot?v=#{v}", response.body
30 | assert_match "/assets/ionicons.eot?#iefix&v=#{v}", response.body
31 | assert_match "/assets/ionicons.woff?v=#{v}", response.body
32 | assert_match "/assets/ionicons.ttf?v=#{v}", response.body
33 | assert_match "/assets/ionicons.svg?v=#{v}#ioniconsregular", response.body
34 | end
35 |
36 | test 'stylesheet is available in a css sprockets require' do
37 | get '/assets/sprockets-require.css'
38 | assert_ionicons(response)
39 | end
40 |
41 | test 'stylesheet is available in a sass import' do
42 | get '/assets/sass-import.css'
43 | assert_ionicons(response)
44 | end
45 |
46 | test 'stylesheet is available in a scss import' do
47 | get '/assets/scss-import.css'
48 | assert_ionicons(response)
49 | end
50 |
51 | test 'helpers should be available in the view' do
52 | get '/icons'
53 | assert_response :success
54 | assert_select 'i.ion-flag'
55 | end
56 |
57 | private
58 |
59 | def clean_sprockets_cache
60 | FileUtils.rm_rf File.expand_path('../dummy/tmp', __FILE__)
61 | end
62 |
63 | def assert_ionicons(response)
64 | assert_response :success
65 | assert_match(/font-family:\s*'Ionicons';/, response.body)
66 | end
67 | end
68 |
--------------------------------------------------------------------------------
/test/icon_helper_test.rb:
--------------------------------------------------------------------------------
1 | require 'test_helper'
2 |
3 | class FontIonicons::Rails::IconHelperTest < ActionView::TestCase
4 | test '#ion_icon with no args should render a flag icon' do
5 | assert_icon i('ion-flag')
6 | end
7 |
8 | test '#ion_icon should render different individual icons' do
9 | assert_icon i('ion-flag'), 'flag'
10 | assert_icon i('ion-camera-retro'), 'camera-retro'
11 | assert_icon i('ion-cog'), 'cog'
12 | assert_icon i('ion-github'), 'github'
13 | end
14 |
15 | test '#ion_icon should incorporate additional class styles' do
16 | assert_icon i('ion-flag pull-right'), 'flag', class: 'pull-right'
17 | assert_icon i('ion-check pull-right special'), 'check', class: ['pull-right', 'special']
18 | end
19 |
20 | test '#ion_icon should incorporate a text suffix' do
21 | assert_icon "#{i('ion-camera-retro')} Take a photo", 'camera-retro', text: 'Take a photo'
22 | end
23 |
24 | test '#ion_icon should be able to put the icon on the right' do
25 | assert_icon "Submit #{i('ion-chevron-right')}", 'chevron-right', text: 'Submit', right: true
26 | end
27 |
28 | test '#ion_icon should html escape text' do
29 | assert_icon "#{i('ion-camera-retro')} <script></script>", 'camera-retro', text: ''
30 | end
31 |
32 | test '#ion_icon should not html escape safe text' do
33 | assert_icon "#{i('ion-camera-retro')} ", 'camera-retro', text: ''.html_safe
34 | end
35 |
36 | test '#ion_icon should pull it all together' do
37 | assert_icon "#{i('ion-camera-retro pull-right')} Take a photo", 'camera-retro', text: 'Take a photo', class: 'pull-right'
38 | end
39 |
40 | test '#ion_icon should pass all other options through' do
41 | assert_icon %(), 'user', data: { id: 123 }
42 | end
43 |
44 | private
45 |
46 | def assert_icon(expected, *args)
47 | message = "`ion_icon(#{args.inspect[1...-1]})` should return `#{expected}`"
48 | assert_dom_equal expected, ion_icon(*args), message
49 | end
50 |
51 | def i(classes)
52 | %()
53 | end
54 | end
55 |
--------------------------------------------------------------------------------
/test/test_helper.rb:
--------------------------------------------------------------------------------
1 | # Configure Rails Environment
2 | ENV["RAILS_ENV"] = "test"
3 |
4 | require File.expand_path("../dummy/config/environment.rb", __FILE__)
5 | require "rails/test_help"
6 |
7 | Rails.backtrace_cleaner.remove_silencers!
8 |
--------------------------------------------------------------------------------