Laravel Blade Directives
A collection of nice Laravel Blade directives.
Installation
You can install the package via composer:
composer require appstract/laravel-blade-directives
Usage
@istrue
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')
@isfalse
Same as @istrue
but checks for isset and false.
@isfalse($variable)
This will be echoed
@endisfalse
@isnull
Only show when $variable
is null.
@isnull($variable)
This will be echoed
@endisnull
@isnotnull
Same as @isnull
but one shows when $variable
is not null.
@isnotnull($variable)
This will be echoed
@endisnotnull
@dump and @dd
@dump($var)
@dd($var)
@mix
Create a HTML element to your Laravel-Mix css or js.
@mix('/css/app.css')
@mix('/js/app.js')
Output:
<link rel="stylesheet" href="{{ mix('/css/app.css') }}">
<script src="{{ mix('/js/app.js') }}"></script>
@style
Create a <style>
element or <link>
element with a css path.
@style
body { background: black }
@endstyle
@style('/css/app.css')
@script
Create a <script>
element with or without a js path.
@script
alert('hello world')
@endscript
@script('/js/app.js')
@inline
Load the contents of a css or js file inline in your view.
@inline('/js/manifest.js')
@pushonce
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')
@routeis
Checks if the current route name is equal to the given parameter. You can use a wildcard like blog.post.*
.
@routeis('webshop.checkout')
Do something only on the checkout
@endrouteis
@routeisnot
Checks if the current route name is not equal to the given parameter. You can use a wildcard like blog.post.*
@routeisnot('webshop.checkout')
Do something only if this is not the checkout
@endrouteisnot
@instanceof
Checks if the first parameter is an instance of the second parameter.
@instanceof($user, 'App\User')
User is an instance of App\User
@endinstanceof
@typeof
Checks if the parameter is of a certain type.
@typeof($text, 'string')
Text is a string
@endtypeof
@repeat
Repeat something a specified amount of times.
@repeat(3)
Iteration #{{ $iteration }}
@endrepeat
@fa, @fas, @far, @fal, @fab, @fad, @mdi, @glyph
Quickly output an icon with Font Awesome, Material Design Icons or Glyphicon.
@fa('address-book', 'optional-extra-class')
// for Font Awesome 5 (solid, regular, light, brand, duotone):
@fas('address-book', 'optional-extra-class')
@far('address-book', 'optional-extra-class')
@fal('address-book', 'optional-extra-class')
@fab('address-book', 'optional-extra-class')
@fad('address-book', 'optional-extra-class')
// for Material Design Icons
@mdi('account', 'optional-extra-class')
// for Glyphicons
@glyph('glass', 'optional-extra-class')
@data
Output data-attributes from an array.
@data(['testing' => 123])
@haserror
Quickly output for classical $errors->has('input_name')
to determine if any error messages exist for a given field.
@haserror('input_name')
This input has an error
@endhaserror
@count
Output number of entries.
@count([1,2,3])
@nl2br
Replaces \n
into <br>
.
@nl2br('foo\n bar\n baz\n')
@snake, @kebab, @camel
Output formatted string (uses Laravel Helpers).
@snake('fooBar')
// output: 'foo_bar'
@kebab('fooBar')
// output: 'foo-bar'
@camel('foo bar')
// output: 'fooBar'
Testing
composer test
Contributing
Contributions are welcome, thanks to y'all :)
About Appstract
Appstract is a small team from The Netherlands. We create (open source) tools for Web Developers and write about related subjects on Medium. You can follow us on Twitter, buy us a beer or support us on Patreon.
License
The MIT License (MIT). Please see License File for more information.