Iconly (engine)
Ruby on Rails engine that stores SVG and generates your web font icons. This is the open source engine behind the Iconly product — mount it on your own app to run a self-hosted instance.
![]()
Installation
Iconly uses Fontcustom, so you need to have that and FontForge installed as per their instructions.
Once Fontcustom is installed, add this line to your application's Gemfile:
gem 'iconly', github: 'lugolabs/iconly'
And then execute:
bundle
Usage
Iconly needs a few options set up to get working. Add these to a config/initializers/iconly.rb file:
login_path- Iconly does not provide user authentication, allowing you to include the authentication method of your choice. Thelogin_pathshould point at your Login pagelogout_path- your logout page, should respond toDELETEHTTP methodsvg_folder- the public folder where the SVG files will be storeddownloads_folder- the folder that will store the generated fonts
E.g.:
Iconly.logout_path = '/logout'
Iconly.login_path = '/login'
Iconly.svg_folder = 'test/dummy/public'
Iconly.downloads_folder = Rails.root.join('tmp/downloads').to_s
Database
Iconly uses PostgreSQL as its backend database, and installs the pg gem. It creates a few tables to store SVG metadata, and a users table for ownership.
To start, copy the Iconly migrations to your database:
bin/rails iconly:install:migrations
and run them:
bin/rails db:migrate SCOPE=iconly
Front end
The Iconly app uses Turbolinks and Bootstrap 4 for its interface.
Example
Check the Dummy application for a working example.
Create, migrate, and seed the database:
bin/rails db:create
bin/rails db:migrate
bin/rails db:seed
This will create a sample user to get you started, then start the Rails app in the test/dummy folder.
License
The gem is available as open source under the terms of the MIT License.