Imgjss is a simple Laravel 4 package that provides handy way of including assets into your .blade.php
files.
Now you can use HTML::style()
, HTML::script()
and HTML::image()
via short Blade syntax.
Join our Russian Laravel Community webchat on Gitter!
Avoid putting extensions of js & css files, package adds it automatically:
@js('js/jquery.js')
same as:
@js('js/jquery')
But as for images, you should use file extensions:
@img('uploads/cat.jpg')
Pass attributes array as second parameter:
@css('css/print', ['media' => 'print'])
By default package automatically appends last modified timestamp of the file as query string. You can change/disable this behavior in config file or simply pass true/false as third parameter:
@js('js/translations', ['charset' => 'utf-8'], false) // disabled timestamp appending
When using Laravel's HTML::image()
you pass alt
attribute as second param, and other attributes as third.
I think that is not good idea. Using @img
syntax this package provides you can pass all in one array:
@img('img/logo.png', ['alt' => 'Alternative text', 'class' => 'brand-logo'])
Fourth parameter is for including asset from secure location of your website, e.g. https://...
. Its false
by default.
And lastly, please notice that package doesn't throw NotFoundException when asset wasn't exist.
- PHP >= 5.4
- Laravel >= 4.0
- The Imgjss package can be installed via Composer by requiring the
elvendor/imgjss
in yourcomposer.json
file:
{
"require": {
"laravel/framework": "4.*",
"elvendor/imgjss": "0.*"
},
"minimum-stability": "dev"
}
- Add Service Provider to providers list:
'providers' => [
// ...
'Elvendor\Imgjss\ImgjssServiceProvider',
],
- If you plan to change package defaults, you can also publish config file:
php artisan config:publish elvendor/imgjss
- Avoid images extensions by looking for a file on given path (probably not a good idea)
- Setting default js, css, img paths
- Ability to use external assets as well
- Cover with tests
Imgjss is open-sourced software licensed under the MIT license.