Skip to content
This repository was archived by the owner on Aug 27, 2024. It is now read-only.

Commit a054c55

Browse files
committed
Add Macro & Revisions service providers from template
1 parent d6ae68c commit a054c55

File tree

4 files changed

+113
-14
lines changed

4 files changed

+113
-14
lines changed

src/ControllersServiceProvider.php

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace Saritasa\Laravel\Controllers\Providers;
4+
5+
use App\Providers\MacroServiceProvider;
6+
use Illuminate\Support\ServiceProvider;
7+
8+
class ControllersServiceProvider extends ServiceProvider
9+
{
10+
public function boot()
11+
{
12+
$this->loadTranslationsFrom(__DIR__ . '/../resources/lang', '');
13+
$this->loadViewsFrom(__DIR__ . '/../resources/views', '');
14+
}
15+
16+
public function register()
17+
{
18+
$this->app->register(MacroServiceProvider::class);
19+
$this->app->register(RevisionsServiceProvider::class);
20+
}
21+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
3+
namespace App\Providers;
4+
5+
use Html;
6+
use Illuminate\Support\Facades\Config;
7+
use Illuminate\Support\ServiceProvider;
8+
9+
class MacroServiceProvider extends ServiceProvider
10+
{
11+
12+
public function boot()
13+
{
14+
15+
// Html macro for generate html tag for include javascript file
16+
// example of usage: {!! HTML::scriptLink('/assets/js/bower.js') !!}
17+
HTML::macro('scriptLink', function($src, $hasMinified = true, $hasVersioning = true)
18+
{
19+
$revisions = Config::get('revision.files');
20+
21+
if ($hasMinified && !Config::get('app.debug')) {
22+
$src = str_replace('.js', '.min.js', $src);
23+
}
24+
if ($hasVersioning) {
25+
$src .= (isset($revisions[ltrim($src, '/')]) ? '?'.$revisions[ltrim($src, '/')] : '');
26+
}
27+
return "<script src=\"$src\"></script>";
28+
});
29+
30+
// Html macro for generate html tag for include css file
31+
// example of usage: {!! HTML::styleLink('/assets/css/bower.css') !!}
32+
HTML::macro('styleLink', function($href, $hasMinified = true, $hasVersioning = true)
33+
{
34+
$revisions = Config::get('revision.files');
35+
36+
if ($hasMinified && !Config::get('app.debug')) {
37+
$href = str_replace('.css', '.min.css', $href);
38+
}
39+
if ($hasVersioning) {
40+
$href .= (isset($revisions[ltrim($href, '/')]) ? '?'.$revisions[ltrim($href, '/')] : '');
41+
}
42+
return "<link rel=\"stylesheet\" href=\"$href\">";
43+
});
44+
45+
46+
}
47+
48+
/**
49+
* Register any application services.
50+
*
51+
* @return void
52+
*/
53+
public function register()
54+
{
55+
56+
}
57+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace Saritasa\Laravel\Controllers\Providers;
4+
5+
use Illuminate\Support\Facades\Config;
6+
use Illuminate\Support\ServiceProvider;
7+
8+
class RevisionsServiceProvider extends ServiceProvider
9+
{
10+
/**
11+
* Bootstrap any application services.
12+
*
13+
* @return void
14+
*/
15+
public function boot()
16+
{
17+
$filename = public_path() . '/assets/sum.md5';
18+
$revisions = is_file($filename) ? file($filename) : [];
19+
$files = [];
20+
foreach ($revisions AS $file) {
21+
$file = explode(' ', $file);
22+
$files[str_replace(public_path() . '/', '', trim($file[1]))] = trim($file[0]);
23+
}
24+
Config::set('revision.files', $files);
25+
}
26+
27+
/**
28+
* Register any application services.
29+
*
30+
* @return void
31+
*/
32+
public function register()
33+
{
34+
}
35+
}

0 commit comments

Comments
 (0)