Laravel Blade Directives Save

A collection of nice Laravel Blade directives

Project README

Laravel Blade Directives

Latest Version on Packagist Total Downloads Software License Build Status

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.

Open Source Agenda is not affiliated with "Laravel Blade Directives" Project. README Source: appstract/laravel-blade-directives
Stars
857
Open Issues
6
Last Commit
10 months ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating