innovato/font-awesome-5-lite

A PHP library that generates Font Awesome 5 (Pro and Free) SVG JS files and stores them in a cache.

0.2 2018-03-23 09:36 UTC

This package is not auto-updated.

Last update: 2024-06-09 03:45:13 UTC


README

This PHP library generates Font Awesome 5 (Pro and Free) SVG JS files and stores them in a cache. It only generates the icons that you need! It's useful for those who don't want to use third party CDN's or WebPack.

Due to possible copyright infringements you need to download the latest Font Awesome yourself and add it to the files/fa_source folder.

Quick start

Several quick start options are available:

Get the Font Awesome 5 source files (required)

Get the Font Awesome 5 source files from their official website (https://fontawesome.com/). It's up to you to whether you want to use the Free or Pro version. They're both compatible with this library.

After the download you need to place the content of the Font Awesome svg-with-js/js folder in to the files/fa_source directory (or use your own assets directory).

If you choose to use your own assets directory, then make sure there's a subfolder called "fa_source" with the SVG JS files and also make sure the names are compatible.

Basic usage

With default settings

<?php

include '../src/falite.php';

$faLite = new Innovato\FaLite();

$faLite->execute($_GET['icons']);

With all options

<?php

include '../src/falite.php';

$faLite = new Innovato\FaLite();

$faLite->cacheEnabled = true; // Default true
$faLite->cacheDirectory = '../files/cache';
$faLite->filesDirectory = '../files';
$faLite->types = [
    'fab' => 'fa-brands',
    'fal' => 'fa-light',
    'far' => 'fa-regular',
    'fas' => 'fa-solid'
];
$faLite->execute($_GET['icons']);

Webserver configuration examples (optional)

You can use Nginx's rewrite to create a rule to make it look like it's a legit JS file. For example:

server {
    ...
    
    rewrite ^/font-awesome-lite\.js$  /examples/example_minimal.php;
    
    ...
}

Or use Apache's mod_rewrite method:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^example_minimal\.php$ /font-awesome-lite.js?&%{QUERY_STRING}
</IfModule>

Adding Font Awesome Lite in your template

Add the generator URL to your HTML (use your own URL and path of course):

<script src="https://yourwebsite.com/assets/font-awesome-lite.js?icons=fab innovato, fas arrow-left"></script>

Options

Name Type Description
cacheEnabled boolean This enables caching JS files [Default: true]
cacheDirectory string Full path to caching directory [Default: files/cache]
filesDirectory string Full path to files directory [Default: files]
types array The types and files to use [Default: [ 'fab' => 'fa-brands', 'fal' => 'fa-light', 'far' => 'fa-regular', 'fas' => 'fa-solid' ]]

Credits

A big thanks to Font Awesome for the awesome SVG icons!

Copyright and license

Code and documentation copyright 2018 Innovato. Code released under the MIT License.