Twig extension for Laravel Mix:
Branch: master
Clone or download
Pull request Compare This branch is 21 commits ahead of brieucthomas:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Laravel-Mix Twig Extension

GitHub stars GitHub forks Build Status Donations Badge

The Laravel mix version task appends a unique hash to filename, allowing for cache-busting. For example, the generated file name will look something like: all-16d570a7.css.

In Laravel, you can use in your views the mix() function to load the appropriately hashed asset:

<link rel="stylesheet" href="{{ mix("css/all.css") }}">

This twig extension is an adaptation of this mix() function.


You need PHP >= 7.0 to use the library, but the latest stable version of PHP is recommended.


Install using Composer:

composer require stormiix/laravel-mix-twig-extension:dev-master

This will edit (or create) your composer.json file and automatically choose the most recent version.

Documentation [TODO]

Register the extension

use Stormiix\Twig\Extension\MixExtension;

$mix = new MixExtension(
    $publicDir,     // the absolute public directory
    $manifestName   // the manifest filename (default value is 'mix-manifest.json')

Register the extension as a Symfony Service

Refer to the original repo.

Using the Extension

<link rel="stylesheet" href="{{ Mix('css/all.css') }}">
<script src="{{ Mix('js/all.js') }}"></script>

You can surround with the asset twig extension to make your application more portable:

<link rel="stylesheet" href="{{ asset(Mix('css/all.css')) }}">
<script src="{{ asset(Mix('js/all.js')) }}"></script>



This project is licensed under the MIT License - see the file for details