spaze/svg-icons-latte

SVG Icons Custom Tag for Latte Templating System

Maintainers

Package info

github.com/spaze/svg-icons-latte

pkg:composer/spaze/svg-icons-latte

Statistics

Installs: 19

Dependents: 0

Suggesters: 0

Stars: 3

Open Issues: 0

v1.1.0 2026-05-13 22:15 UTC

This package is auto-updated.

Last update: 2026-05-13 22:16:51 UTC


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'
  • iconsDir is a path to a directory with SVG icon files, for example Humbleicons by @Zraly (required)
  • cssClass defines 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.