A collection of nice Laravel Blade directives.
You can install the package via composer:
composer require appstract/laravel-blade-directives
In Laravel 5.5 the package will autoregister the Service Provider. In older versions, you must add the ServiceProvider to your config/app.php
file:
'providers' => [
...
Appstract\BladeDirectives\BladeDirectivesServiceProvider::class
...
];
Only show when $variable
isset and true.
@istrue($variable)
This will be echoed
@endistrue
Or when you would like to quickly echo
@istrue($variable, 'This will be echoed')
Same as @istrue
but checks for isset and false.
@isfalse($variable)
This will be echoed
@endisfalse
@dump($var)
@dd($var)
Create a HTML element to your Laravel-Mix css or js.
@mix('/css/app.css')
@mix('/css/app.js')
Output:
<link rel="stylesheet" href="{{ mix('/css/app.css') }}">
<script src="{{ mix('/css/app.js') }}"></script>
Create a <style>
element or <link>
element with a css path.
@style
body { background: black }
@endstyle
@style('/css/app.css')
Create a <script>
element with or without a js path.
@script
alert('hello world')
@endscript
@script('/js/app.js')
Load the contents of a css or js file inline in your view.
@inline('/js/manifest.js')
Same as @push
but will include content one time only. Useful for repeatable blocks.
First parameter must follow the syntax stack-name:group-name
.
@pushonce('js:foobar')
<script src="{{ asset('/js/foobar.js') }}"></script>
@endpushonce
Include pushes with standard @stack
directive:
@stack('js')
Checks if the current route name is equal to the given parameter.
@routeis('webshop.checkout')
Do something only on the checkout
@endrouteis
Checks if the current route name is not equal to the given parameter.
@routeisnot('webshop.checkout')
Do something only if this is not the checkout
@endrouteisnot
Checks if the first parameter is an instance of the second parameter.
@instanceof($user, App\User)
User is an instance of App\User
@endinstanceof
Checks if the parameter is of a certain type.
@typeof($text, 'string')
Text is a string
@endtypeof
Repeat something a specified amount of times.
@repeat(3)
Iteration #{{ $iteration }}
@endrepeat
Quickly output a Font Awesome icon.
@fa('address-book')
$ composer test
Contributions are welcome, thanks to y'all :)
Appstract is a small team from The Netherlands. We create (open source) tools for webdevelopment and write about related subjects on Medium. You can follow us on Twitter, buy us a beer or support us on Patreon.
The MIT License (MIT). Please see License File for more information.