client_hints-8.x-1.0-alpha3/modules/client_hints_everywhere/client_hints_everywhere.module
modules/client_hints_everywhere/client_hints_everywhere.module
<?php
/**
* Implements template_preprocess_image().
*/
function client_hints_everywhere_preprocess_image(&$variables) {
// Set processed url as clientHintsSrc data attribute.
$variables['attributes']['data-client-hints-src'] = $variables['uri'];
// Set an appropriately sized transparent svg as placeholder image.
$variables['attributes']['src'] = _client_hints_placeholder_svg($variables['width'], $variables['height']);
// Add Javascript library.
$variables['#attached']['library'][] = 'client_hints/lazy';
}
/**
* Implements hook_theme_registry_alter().
*/
function client_hints_everywhere_theme_registry_alter(&$theme_registry) {
$theme_registry['image']['path'] = \Drupal::service('module_handler')->getModule('client_hints_everywhere')->getPath() . '/templates';
}
