spaze/svg-icons-latte
SVG Icons Custom Tag for Latte Templating System
Maintainers
Requires
- php: ^8.1
- ext-dom: *
- latte/latte: ^3.0.9
- nette/application: ^3.1
- nette/di: ^3.1.2
- nette/schema: ^1.2
Requires (Dev)
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT 4e310e16fcaccb9b4ac04a1f57c3dd9a7b65399b
README
The custom {icon} tag will embed an SVG icon loaded from an external file.
Installation
composer require spaze/svg-icons-latte
Requires PHP 8.1+
Register the Nette extension, e.g.:
extensions: svgIcons: Spaze\SvgIcons\NetteExtension
This will also auto-register the Latte extension itself.
Configuration
svgIcons: iconsDir: '../../node_modules/humbleicons/icons' cssClass: 'humbleicons'
iconsDiris a path to a directory with SVG icon files, for example Humbleicons by @Zraly (required)cssClassdefines a CSS class that will be added to the root<svg>element (optional)
Usage in Latte
{icon wifi} will be replaced with the contents loaded from wifi.svg located in iconsDir.
You can also add extra CSS classes:
{icon wifi class => foo, class => bar} will add additional CSS classes foo and bar to the root <svg> element.
Given the configuration above, the resulting tag would look like <svg class="humbleicons foo bar" ...>.
Usage in PHP
Use Spaze\SvgIcons\SvgIcons::getSvg(string $icon): string to get the icon SVG in PHP,
if you for example want to embed the SVG in an email message where Latte is not available.
Pass the icon name without the .svg extension as the $icon parameter, for example wifi, not wifi.svg.
The SvgIcons class uses the directory set in configuration and appends .svg to load the file contents.
