Repository: rmrevin/yii2-fontawesome Branch: master Commit: 4a1c6b60773f Files: 33 Total size: 100.1 KB Directory structure: gitextract__3qv48g6/ ├── .gitignore ├── .scrutinizer.yml ├── .travis.yml ├── AssetBundle.php ├── CHANGELOG.md ├── CdnFreeAssetBundle.php ├── CdnProAssetBundle.php ├── FA.php ├── FAB.php ├── FAL.php ├── FAR.php ├── FAS.php ├── FontAwesome.php ├── LICENSE ├── NpmFreeAssetBundle.php ├── NpmProAssetBundle.php ├── README.md ├── bin/ │ ├── .gitignore │ └── convertNames.sh ├── cdn/ │ └── AssetBundle.php ├── component/ │ ├── Icon.php │ ├── Stack.php │ └── UnorderedList.php ├── composer.json ├── phpunit.xml.dist └── tests/ └── unit/ ├── .gitignore ├── TestCase.php ├── bootstrap.php ├── config/ │ ├── .gitignore │ └── main.php ├── fontawesome/ │ └── MainTest.php └── runtime/ ├── .gitignore └── assets/ └── .gitignore ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ /.idea /vendor /coverage /node_modules /package.json /package.lock /yarn.lock ================================================ FILE: .scrutinizer.yml ================================================ build: environment: php: version: 7.1 dependencies: before: - composer global require "fxp/composer-asset-plugin:~1.1" tests: override: - phpunit imports: - php checks: php: code_rating: true duplication: true tools: php_sim: false php_cpd: false php_pdepend: true php_analyzer: true php_changetracking: true external_code_coverage: timeout: 2100 # Timeout in seconds. filter: excluded_paths: - tests/* - vendor/* ================================================ FILE: .travis.yml ================================================ dist: trusty language: php php: - 7.1 - 7.2 - 7.3 matrix: fast_finish: true sudo: false cache: directories: - vendor install: - travis_retry composer self-update && composer --version - travis_retry composer global require "fxp/composer-asset-plugin:~1.1" - export PATH="$HOME/.composer/vendor/bin:$PATH" - travis_retry composer install --prefer-dist --no-interaction script: - ./vendor/bin/phpunit --verbose --coverage-clover=coverage/coverage.clover after_script: - travis_retry wget https://scrutinizer-ci.com/ocular.phar - php ocular.phar code-coverage:upload --format=php-clover coverage/coverage.clover ================================================ FILE: AssetBundle.php ================================================ fixed_width()` is deprecated. Use instead `icon()->fixedWidth()`. * Method `icon()->pull_left()` is deprecated. Use instead `icon()->pullLeft()`. * Method `icon()->pull_right()` is deprecated. Use instead `icon()->pullRight()`. * Updated tests. 2015-04-08 - 2.9.1 ------------------ * Fix asset bundle publish bug on windows. 2015-03-31 - 2.9.0 ------------------ * In asset bundle added `init` method for filtering publising assets. 2015-03-17 - 2.8.2 ------------------ * Refactoring. 2015-03-16 - 2.8.1 ------------------ * Update readme. 2015-03-16 - 2.8.0 ------------------ * In class `FA` add static property `cssPrefix` for customizing css class. * Refactoring. * Update readme. 2015-02-08 - 2.7.1 ------------------ * Update travisCI config. 2015-01-26 - 2.7.0 ------------------ * `Font Awesome` updated to version `4.3`. * Update icons constants list. * Update readme. Until 2015-03-04 ---------------- * Implementation of extension. ================================================ FILE: CdnFreeAssetBundle.php ================================================ [ 'css/*', 'js/*', 'webfonts/*', 'sprites/*', 'svgs/*', ], ]; } ================================================ FILE: NpmProAssetBundle.php ================================================ [ 'css/*', 'js/*', 'webfonts/*', 'sprites/*', 'svgs/*', ], ]; } ================================================ FILE: README.md ================================================ Yii 2 [Font Awesome](http://fortawesome.github.io/Font-Awesome/) Asset Bundle =============================== This extension provides a assets bundle with [Font Awesome](https://fontawesome.com/) for [Yii framework 2.0](http://www.yiiframework.com/) applications and helper to use icons. For license information check the [LICENSE](https://github.com/rmrevin/yii2-fontawesome/blob/master/LICENSE)-file. [![License](https://poser.pugx.org/rmrevin/yii2-fontawesome/license.svg)](https://packagist.org/packages/rmrevin/yii2-fontawesome) [![Latest Stable Version](https://poser.pugx.org/rmrevin/yii2-fontawesome/v/stable.svg)](https://packagist.org/packages/rmrevin/yii2-fontawesome) [![Latest Unstable Version](https://poser.pugx.org/rmrevin/yii2-fontawesome/v/unstable.svg)](https://packagist.org/packages/rmrevin/yii2-fontawesome) [![Total Downloads](https://poser.pugx.org/rmrevin/yii2-fontawesome/downloads.svg)](https://packagist.org/packages/rmrevin/yii2-fontawesome) Code Status ----------- [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/rmrevin/yii2-fontawesome/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/rmrevin/yii2-fontawesome/?branch=master) [![Code Coverage](https://scrutinizer-ci.com/g/rmrevin/yii2-fontawesome/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/rmrevin/yii2-fontawesome/?branch=master) [![Travis CI Build Status](https://travis-ci.org/rmrevin/yii2-fontawesome.svg)](https://travis-ci.org/rmrevin/yii2-fontawesome) [![Dependency Status](https://www.versioneye.com/user/projects/54119b799e16229fe00000da/badge.svg)](https://www.versioneye.com/user/projects/54119b799e16229fe00000da) Support ------- * [GutHub issues](https://github.com/rmrevin/yii2-fontawesome/issues) * [Public chat](https://gitter.im/rmrevin/support) Fontawesome version ------------------- | Version of font-awesome | Version of extension | | ---:|:--- | | 4.* | ~2.17 | | 5.* | ~3.0 | Update to `3.2` --------------- Be careful in version 3.2 `rmrevin\yii\fontawesome\AssetBundle` package use cdn by default. More in the [changelog](https://github.com/rmrevin/yii2-fontawesome/blob/master/CHANGELOG.md). Update to `3.0` --------------- Be careful in version 3.0 deprecated methods were removed. More in the [changelog](https://github.com/rmrevin/yii2-fontawesome/blob/master/CHANGELOG.md). Update to `2.17` ---------------- Be careful in version 2.17 deprecated methods were removed. More in the [changelog](https://github.com/rmrevin/yii2-fontawesome/blob/2.x/CHANGELOG.md). Installation ------------ The preferred way to install this extension is through [composer](https://getcomposer.org/). Either run ```bash composer require "rmrevin/yii2-fontawesome:~3.5" ``` or add ``` "rmrevin/yii2-fontawesome": "~3.5", ``` to the `require` section of your `composer.json` file. Usage with fa pro version ------------------------- ### CDN Register your domain here - https://fontawesome.com/how-to-use/on-the-web/setup/getting-started Add `CdnProAssetBundle` as depends of your app asset bundle: ```php class AppAsset extends AssetBundle { // ... public $depends = [ // ... 'rmrevin\yii\fontawesome\CdnProAssetBundle' ]; } ``` Or inject `CdnProAssetBundle` in your view: ```php \rmrevin\yii\fontawesome\CdnProAssetBundle::register($this); ``` ### NPM Install npm package of font: ``` npm install @fortawesome/fontawesome-pro ``` or ``` yarn add @fortawesome/fontawesome-pro ``` And add `NpmProAssetBundle` as depends of your app asset bundle: ```php class AppAsset extends AssetBundle { // ... public $depends = [ // ... 'rmrevin\yii\fontawesome\NpmProAssetBundle' ]; } ``` Or inject `NpmProAssetBundle` in your view: ```php rmrevin\yii\fontawesome\NpmProAssetBundle::register($this); ``` ### Optional In order for do not install the free version of the font-awesome package, you can add it to the `replace` section of `composer.json`. ``` "replace": { "fortawesome/font-awesome": "*" }, ``` Usage with fa free version ------------------------- ### CDN Add `CdnFreeAssetBundle` as depends of your app asset bundle: ```php class AppAsset extends AssetBundle { // ... public $depends = [ // ... 'rmrevin\yii\fontawesome\CdnFreeAssetBundle' ]; } ``` Or inject `CdnFreeAssetBundle` in your view: ```php rmrevin\yii\fontawesome\CdnFreeAssetBundle::register($this); ``` # Composer Free version of package `fortawesome/font-awesome` already installed in vendor. Add `NpmFreeAssetBundle` as depends of your app asset bundle: ```php class AppAsset extends AssetBundle { // ... public $depends = [ // ... 'rmrevin\yii\fontawesome\NpmFreeAssetBundle' ]; } ``` Or inject `NpmFreeAssetBundle` in your view: ```php rmrevin\yii\fontawesome\NpmFreeAssetBundle::register($this); ``` Class reference --------------- Namespace: `rmrevin\yii\fontawesome`; ### Class `FAB`, `FAL`, `FAR`, `FAS` or `FontAwesome` * `static FAR::icon($name, $options=[])` - Creates an [`component\Icon`](#class-componenticon) that can be used to FontAwesome html icon * `$name` - name of icon in font awesome set. * `$options` - additional attributes for `i.fa` html tag. * `static FAR::stack($name, $options=[])` - Creates an [`component\Stack`](#class-componentstack) that can be used to FontAwesome html icon * `$options` - additional attributes for `span.fa-stack` html tag. ### Class `component\Icon` * `(string)$Icon` - render icon * `$Icon->addCssClass($value)` - add to html tag css class in `$value` * `$value` - name of css class * `$Icon->inverse()` - add to html tag css class `fa-inverse` * `$Icon->spin()` - add to html tag css class `fa-spin` * `$Icon->fixedWidth()` - add to html tag css class `fa-fw` * `$Icon->ul()` - add to html tag css class `fa-ul` * `$Icon->li()` - add to html tag css class `fa-li` * `$Icon->border()` - add to html tag css class `fa-border` * `$Icon->pullLeft()` - add to html tag css class `pull-left` * `$Icon->pullRight()` - add to html tag css class `pull-right` * `$Icon->size($value)` - add to html tag css class with size * `$value` - size value (variants: `FA::SIZE_LARGE`, `FA::SIZE_2X`, `FA::SIZE_3X`, `FA::SIZE_4X`, `FA::SIZE_5X`) * `$Icon->rotate($value)` - add to html tag css class with rotate * `$value` - rotate value (variants: `FA::ROTATE_90`, `FA::ROTATE_180`, `FA::ROTATE_270`) * `$Icon->flip($value)` - add to html tag css class with rotate * `$value` - flip value (variants: `FA::FLIP_HORIZONTAL`, `FA::FLIP_VERTICAL`) ### Class `component\Stack` * `(string)$Stack` - render icon stack * `$Stack->icon($icon, $options=[])` - set icon for stack * `$icon` - name of icon or `component\Icon` object * `$options` - additional attributes for icon html tag. * `$Stack->icon($icon, $options=[])` - set background icon for stack * `$icon` - name of icon or `component\Icon` object * `$options` - additional attributes for icon html tag. Helper examples --------------- ```php use rmrevin\yii\fontawesome\FAS; // or (only in pro version https://fontawesome.com/pro) // use rmrevin\yii\fontawesome\FAR; // use rmrevin\yii\fontawesome\FAL; // use rmrevin\yii\fontawesome\FAB; // normal use echo FAS::icon('home'); // // shortcut echo FAS::i('home'); // // icon with additional attributes echo FAS::icon( 'arrow-left', ['class' => 'big', 'data-role' => 'arrow'] ); // // icon in button echo Html::submitButton( Yii::t('app', '{icon} Save', ['icon' => FAS::icon('check')]) ); // // icon with additional methods echo FAS::icon('cog')->inverse(); // echo FAS::icon('cog')->spin(); // echo FAS::icon('cog')->fixedWidth(); // echo FAS::icon('cog')->li(); // echo FAS::icon('cog')->border(); // echo FAS::icon('cog')->pullLeft(); // echo FAS::icon('cog')->pullRight(); // // icon size echo FAS::icon('cog')->size(FAS::SIZE_3X); // values: FAS::SIZE_LARGE, FAS::SIZE_2X, FAS::SIZE_3X, FAS::SIZE_4X, FAS::SIZE_5X // // icon rotate echo FAS::icon('cog')->rotate(FAS::ROTATE_90); // values: FAS::ROTATE_90, FAS::ROTATE_180, FAS::ROTATE_180 // // icon flip echo FAS::icon('cog')->flip(FAS::FLIP_VERTICAL); // values: FAS::FLIP_HORIZONTAL, FAS::FLIP_VERTICAL // // icon with multiple methods echo FAS::icon('cog') ->spin() ->fixedWidth() ->pullLeft() ->size(FAS::SIZE_LARGE); // // icons stack echo FAS::stack() ->icon('twitter') ->on('square-o'); // // // // // icons stack with additional attributes echo FAS::stack(['data-role' => 'stacked-icon']) ->on(FAS::Icon('square')->inverse()) ->icon(FAS::Icon('cog')->spin()); // // // // // Stacking text and icons echo FAS::stack() ->on(FAS::Icon('square')) ->text('1'); // // // 1 // // Stacking text and icons with options echo FAS::stack() ->on(FAS::Icon('square')) ->text('1', ['tag'=>'strong', 'class'=>'stacked-text']); // // // 1 // // Now you can add some css for vertical text positioning: .stacked-text { margin-top: .3em; } // unordered list icons echo FAS::ul(['data-role' => 'unordered-list']) ->item('Bullet item', ['icon' => 'circle']) ->item('Checked item', ['icon' => 'check']); //