<?php namespace App\Providers; use Illuminate\Support\Facades\Blade; use Illuminate\Support\ServiceProvider; class CustomBladeServiceProvider extends ServiceProvider { /** * Register services. * * @return void */ public function register() { // } /** * Bootstrap services. * * @return void */ public function boot() { Blade::directive('css',function($expression) { switch (trim($expression,"'")) { case 'datatables': return '<link type="text/css" rel="stylesheet" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap5.min.css" media="screen">'. '<link type="text/css" rel="stylesheet" href="'.asset('plugin/dataTables/dataTables.bootstrap5.css').'" media="screen">'; case 'select2': return '<link type="text/css" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css">'; case 'simplemde': return '<link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css">'; default: throw new \Exception('Unknown CSS: '.$expression); } }); Blade::directive('js',function($expression) { switch (trim($expression,"'")) { case 'datatables': return '<script type="text/javascript" src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></script>'. '<script type="text/javascript" src="'.asset('plugin/dataTables/dataTables.conditionalPaging.js').'"></script>'. '<script type="text/javascript" src="https://cdn.datatables.net/rowgroup/1.1.2/js/dataTables.rowGroup.min.js"></script>'. '<script type="text/javascript" src="https://cdn.datatables.net/1.10.25/js/dataTables.bootstrap5.min.js"></script>'; case 'highcharts': return '<script type="text/javascript" src="https://code.highcharts.com/highcharts.js"></script>'. '<script type="text/javascript" src="https://code.highcharts.com/modules/data.js"></script>'. '<script type="text/javascript" src="https://code.highcharts.com/modules/drilldown.js"></script>'. '<script type="text/javascript" src="https://code.highcharts.com/modules/exporting.js"></script>'. '<script type="text/javascript" src="https://code.highcharts.com/modules/export-data.js"></script>'. '<script type="text/javascript" src="https://code.highcharts.com/themes/dark-unica.js"></script>'; case 'select2': return '<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>'. '<script type="text/javascript" src="'.asset('plugin/select2/fix-autofocus.js').'"></script>'; case 'simplemde': return '<script type="text/javascript" src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script>'; default: throw new \Exception('Unknown JS: '.$expression); } }); } }