laravel-blade-directivesA collection of nice Laravel Blade directives

联合创作 · 2023-09-21 12:04

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


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.

浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报