Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Fontawesome Bundle Laravel Package

codingfogey/fontawesome-bundle

View on GitHub
Deep Wiki
Context7

As braincrafted/bootstrap-bundle now supports Font Awesome directly, this bundle is no longer maintained.

CodingfogeyFontAwesomeBundle

License Total Downloads Latest Stable Version Latest Unstable Version Build Status Scrutinizer Quality Score SensioLabsInsight Stories in Ready

knpbundles.com

About

This Bundle makes it easy to integrate Font Awesome into your Symfony2 projects.

Prerequisites

  • Font Awesome installed somewhere in your project. It is not contained in this bundle. You can use Composer, Bower or any other way to install it.

Installation

  1. Add codingfogey/fontawesome-bundle to your composer.json:

     {
         ...
         "require": {
             ...
             "codingfogey/fontawesome-bundle": "dev-master",
             "fortawesome/font-awesome": "v4.0.3"
         }
         ...
     }
    
  2. Add CodingfogeyFontAwesomeBundle to your AppKernel.php:

     ...
     public function registerBundles()
     {
         $bundles = array(
             ...
             new Codingfogey\Bundle\FontAwesomeBundle\CodingfogeyFontAwesomeBundle()
         );
         ...
     }
     ...
    
  3. Update your dependencies: composer update.

NOTICE Installing Font Awesome via composer is optional but makes this bundle work out of the box. So I recommend this way.

Configuration

If you did not install Font Awesome via composer you have to configure the path to your installation:

codingfogey_font_awesome:
    assets_dir: %kernel.root_dir%/../vendor/fortawesome/font-awesome

Customization

If you want to customize Font Awesome you have to put a customized variables file somewhere in your project and configure the path. You also have to set the output path.

codingfogey_font_awesome:
    filter: less
    customize:
        variables_file:         %kernel.root_dir%/Resources/fontawesome/variables.less
        font_awesome_output:    %kernel.root_dir%/Resources/less/fontawesome.less

If you want to use the lessphp or sass Assetic filter you have to set the filter variable accordingly.

There is a command to generate a customized output file to incorporate your customized variables file:

app/console codingfogey:fontawesome:generate

Usage

Installation of font files

The bundle provides a command to install the font files to the web/fonts directory:

app/console codingfogey:fontawesome:install

There is also a ScriptHandler for conveniently doing this automatically on each composer install or composer update:

...
"scripts": {
    "post-install-cmd": [
        ...
        "Codingfogey\\Bundle\\FontAwesomeBundle\\Composer\\ScriptHandler::install"
    ],
    "post-update-cmd": [
        ...
        "Codingfogey\\Bundle\\FontAwesomeBundle\\Composer\\ScriptHandler::install"
    ]
},
...

To include the Font Awesome css just include @fontawesome_css in your base template.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}
            {% stylesheets
                '@fontawesome_css'
            %}
                <link rel="stylesheet" href="{{ asset_url }}" media="screen"/>
            {% endstylesheets %}
        {% endblock %}

Adding icons

You can add icons as described here.

You can also use the handy Twig function.

NOTICE: This function does not work if you changed the @fa-css-prefix variable.

Simple icons

To insert a simple icon add {{ fa_icon( icon name|options ) }} into your template.

The parameter can be a string containing only the icon name without fa- prefix or JSON for more customization. The complete set of options is as follows:

{
    icon:           name of the icon without 'fa-' prefix
    scale:          [lg|2x|3x|4x|5x|stack-1x|stack-2x],
    fixed-width:    [true|false],
    list-icon:      [true|false],
    border:         [true|false],
    pull:           [left|right],
    spin:           [true|false],
    rotate:         [90|180|270],
    flip:           [horizontal|vertical],
    inverse:        [true|false]
}

Stacked icons

To insert stacked icons add {{ fa_icon( options, options [, container] ) }} into your template. The first parameter is for the foreground icon, the second is for the background icon. These have to be JSON because you have to provide at least two parameters for each icon. The name of the icon and the scale.

The last parameter is optional and can contain options for the container element. The complete set of container options is as follows:

{
    type:           html element type for the container (default: span)
    scale:          [lg|2x|3x|4x|5x]
}

TODO

Look here.

License

  • This bundle is licensed under the MIT License.
  • For Font Awesome you can find licensing information here.

Acknowledgment

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky