Skip to content

A plugin which generates an invisible SVG of specific dimensions for use when lazyloading images in Craft CMS templates.

License

Notifications You must be signed in to change notification settings

mblode/svgplaceholder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SVG Placeholder plugin for Craft CMS 3.x

A plugin which generates an invisible SVG of specific dimensions for use when lazyloading images in Craft CMS templates.

Requirements

This plugin requires Craft CMS 3.0.0-beta.23 or later.

Installation

To install the plugin, follow these instructions.

  1. Open your terminal and go to your Craft project:

     cd /path/to/project
    
  2. Then tell Composer to load the plugin:

     composer require mblode/svgplaceholder
    
  3. In the Control Panel, go to Settings → Plugins and click the “Install” button for svgplaceholder.

Usage

{{ craft.svgplaceholder.generate({height:500,width:'300'}) }}

Optionally add a background color with the fill attribute:

{{ craft.svgplaceholder.generate({height:500,width:'300'},'#CCCCCC') }}

Example

When used with Lazysizes and a macro:

_macros/utilities.html

{% macro lazyLoadImage(element, transform) %}
        {% cache using key element.id %}
            <img class="lazyload" src="{{ craft.svgplaceholder.generate({ height: element.height(transform), width: element.width(transform) }) }}" data-src="{{ element.url(transform) }}" alt="{{ element.title }}">
        {% endcache %}
{% endmacro %}

index.html

{% import '_macros/utilities' as utils %}

...

{{ utils.lazyLoadImage(image, 'imageTransformName') }}

Brought to you by Matthew Blode

Based on the Craft CMS 2 plugin: SVG Placeholder

About

A plugin which generates an invisible SVG of specific dimensions for use when lazyloading images in Craft CMS templates.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages