Taurus Hyva SVG Sprite
taurus-media/module-hyva-svg-sprite
Optimizes SVG icon rendering in Hyva themes by automatically collecting individual inline SVG icons into a single hidden sprite and replacing each occurrence with a lightweight reference tag, reducing DOM size with zero configuration.
Build Tests
Code Quality
Tested on Magento 2.4.9
Recent Test History
Each release is tested against the latest Magento version at that time.
Share This Module's Status
README
Loaded from GitHubTaurus HyvaSvgSprite
The Taurus_HyvaSvgSprite module optimizes SVG rendering in Hyva themes by automatically converting individual SVG icons into a single SVG sprite.
Overview
In standard Hyva themes, icons are rendered as individual <svg> elements directly in the HTML. While efficient, this can lead to a larger DOM size if many icons are used or if the same icon is repeated multiple times.
This module intercepts the Hyva\Theme\ViewModel\SvgIcons::renderHtml method. Instead of returning the full SVG content, it:
- Adds the icon to a centralized
SvgSpriteViewModel. - Returns a light
<svg><use href="#icon-id" /></svg>tag. - Renders all collected icons as
<symbol>elements within a hidden<svg>sprite at the bottom of the page (before the</body>tag).
Features
- Performance Optimization: Reduces the overall size of the HTML document by reusing SVG definitions.
- Automatic Integration: No changes needed to existing templates. It automatically plugins into Hyva's standard icon rendering logic.
- Zero Configuration: Works out of the box once enabled.
Installation
Via Composer
-
Install the module:
composer require taurus-media/module-hyva-svg-sprite -
Run the following Magento commands:
bin/magento module:enable Taurus_HyvaSvgSprite bin/magento setup:upgrade bin/magento cache:flush
Manual Installation
- Copy the module files to
app/code/Taurus/HyvaSvgSprite. - Run the following Magento commands:
bin/magento module:enable Taurus_HyvaSvgSprite bin/magento setup:upgrade bin/magento cache:flush
This content is fetched directly from the module's GitHub repository. We are not the authors of this content and take no responsibility for its accuracy, completeness, or any consequences arising from its use.