phaza / laravel-blade-inline-svg by phaza

Allows you to inline svgs in html so you can use normal CSS to apply styles to your svg. (No more multiple versions of same icon with just different colour)
66,982
5
3
Package Data
Maintainer Username: phaza
Maintainer Contact: peter.haza@gmail.com (Peter Haza)
Package Create Date: 2016-01-14
Package Last Update: 2024-04-10
Language: PHP
License: MIT
Last Refreshed: 2024-04-16 15:03:14
Package Statistics
Total Downloads: 66,982
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 5
Total Watchers: 3
Total Forks: 6
Total Open Issues: 1

The what

This simple extension allows you inline svgs in your templates, which means your svg turns into first class citizens of your html and can be styled with css like all other html elements. This reduces the needs for making multiple colored versions of the same icon just to add a :hover effect for instance.

a:hover svg line {
	fill: #r00;
}

The How`

Add Phaza\InlineSvg\BladeInlineSvgServiceProvider::class to the providers array and
"SvgInliner" => Phaza\InlineSvg\Facades\SvgInliner::class to the aliases array in config/app.php.

Optionally publish the config, it'll be named blade-inline-svg.php.

Configuration

svg-path:
This is the default folder where the inliner should look for svg files.

Synopsis

@svg($path, $attributes)

$path:

If $path starts with DIRECTORY_SEPARATOR, it's parsed as an absolute path.
If not, it's parsed as relative path starting at config('blade-inline-svg.svg-path')

$attributes:

$attributes is an associative array of attributes you want to set on the svg element. Use this to add classes (or transforms) to easy reference the svg.