classygeeks / potion
Potion is a pure PHP asset manager for Laravel based off of Assetic.
Requires
- php: >=5.4.0
- illuminate/support: 5.*
- kriswallsmith/assetic: 1.2.1
- leafo/lessphp: 0.5.0
- leafo/scssphp: 0.1.1
- linkorb/jsmin-php: 1.0.0
- natxet/cssmin: 3.0.2
- ptachoire/cssembed: 1.0.2
This package is not auto-updated.
Last update: 2024-11-09 18:01:14 UTC
README
Potion is a pure PHP asset manager for Laravel based off of Assetic.
Description
Laravel 5 comes with a great asset manager called Elixir. While there is nothing wrong with Elixir, it requires you to install Node.js, Gulp, and dependent NPM packages on all of your web serves. While there is nothing wrong with this if you have other needs for those technologies, it seemed unnecessary to us to install that stack solely for the sake of handling assets. So we wrote Potion. Potion is a pure PHP solution, based off of Assetic that allows you to handle your assets in the same technology stack that your application is written in.
When using Potion the you will often see is "resources" and "assets". Think of resources as the raw resources inside of Laravel resources direction. Think of assets as what Potion will generate and will ultimately be served to visitors.
Laravel Support
At this time Potion only supports Laravel 5.1 or higher. While Laravel 4 support was easy to implement in code, the time needed to support requests was too much.
Features
- Fully integrated into Laravels' artisan commands
- Asset versioning support
- Asset CDN Url support
- Blade Helpers for Asset inclusion in templates
- Command to clear all assets already published on disk
- Makes use of Cache configuration, and not disk, in order to account for load balanced servers.
- Supports the following filters from Assetic:
- OptiPngFilter
- CssImportFilter
- CssRewriteFilter
- CssMinFilter
- CssCompressorFilter from YUI
- LessphpFilter
- JSMinFilter
- JpegoptimFilter
- JsCompressorFilter from YUI
- ScssphpFilter
Installation
-
Add 'classygeeks/potion' package to your composer.json file:
-
Add the Potion Service provider to your config/app.php file under the predefined "providers" array:
'providers' => [ 'Illuminate\Foundation\Providers\ArtisanServiceProvider', ... 'ClassyGeeks\Potion\PotionServiceProvider' ... ],
- Publish the config file
php artisan vendor:publish
You will now see to new Potion artisan commands. The configuration is very well documented and should be able to get even the most complex projects going quickly.
Future Features
- Resource watching command functionality
- Support for more filters from Assetic
Rules For Contributing
- Please make sure all changed files are run through gofmt
- Submit a PR for review
- Your name will be added below to Contributors