basteyy/plates-local-assets-copy

Plugin for Plates which cache remote assets at local storage

1.0.3 2024-09-01 19:18 UTC

This package is auto-updated.

Last update: 2024-10-31 19:42:58 UTC


README

A plugin for the pure PHP template engine plates. The extension downloads remote assets to local cache and provide the local public URL instead. More or less for local (offline) development.

Setup

First download the library via composer:

composer require basteyy/plates-local-assets-copy

Register the plugin in Plates:

use League\Plates\Engine;
use basteyy\PlatesLocalAssetsCopy\PlatesLocalAssetsCopy as PlatesLocalAssetsCopy;

$templateEngine = new Engine();
$templateEngine->loadExtension(new PlatesLocalAssetsCopy(
    __DIR__ . '/cache/', // Define where the file is stored
    '/public/path') // Define the public access to the file 
);

Usage

Create the hash of a password

// Inside your template-file:
<?= $this->cacheLocal('https://example.com/file') ?>

Example

// Controller for example
use League\Plates\Engine;
use basteyy\PlatesLocalAssetsCopy\PlatesLocalAssetsCopy as PlatesLocalAssetsCopy;

$templateEngine = new Engine();
$templateEngine->loadExtension(new PlatesLocalAssetsCopy(
    __DIR__ . '/cache/', // Define where the file is stored
    '/public/path') // Define the public access to the file 
);
// Inside your template-file:
<?= $this->cacheLocal('https://cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.1/mini-default.min.css') ?>

File will be downloaded to cache/mini-default.min.css. Inside the template the public path will displayed: /public/path/mini-default.min.css

License

The MIT License (MIT). Please see License File for more information.