Asset Plugin for Tapestry
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
README.md
composer.json
composer.lock
phpunit.xml

README.md

Tapetry Asset Plugin

Packagist Minimum PHP Version Software License Gitmoji

Install

To install run: composer require tapestry-cloud/asset-plugin

Next you need to update your site configuration to include the path to manifest.json:

// ...

    'plugins' => [
        'asset_manifest_path' => __DIR__ . '/rev-manifest.json'
    ],

// ...

Finally within your site Kernel.php you need to register the plugin's service provider:

<?php

use Tapestry\Modules\Kernel\KernelInterface;

class Kernel implements KernelInterface
{
    /**
     * @var Tapestry
     */
    private $tapestry;
    
    public function __construct(Tapestry $tapestry)
    {
        $this->tapestry = $tapestry;
    }
    
    /**
     * This method is executed by Tapestry when the Kernel is registered.
     *
     * @return void
     */
    public function register()
    {
        // Use project autoloader
        require_once(__DIR__ . '/vendor/autoload.php');
    }
    
    /**
     * This method of executed by Tapestry as part of the build process.
     *
     * @return void
     */
    public function boot()
    {
        $this->tapestry->register(\TapestryCloud\Asset\ServiceProvider::class);
    }
}

Usage

This plugin adds the $this->asset('main.css') helper, which when paired with a gulp or grunt task that produces a manifest.json file for mapping asset revisions means you don't have to update your html source each time you build your css/js assets.