ouun / stage-laravel-tailwind-config
Get access to the tailwind config values in your Sage & Stage Project
Requires
- php: >=7.2
- ext-json: *
- illuminate/support: ^7.0
This package is auto-updated.
Last update: 2024-12-07 22:45:52 UTC
README
This is a fork form approvedio/laravel-mix-export-tailwind-config to use with Roots Sage > 10 & Stage. The original author Michael Boffey described it like this:
"I've recently found myself using Tailwind more and more but have run into a few situations where I need to access tailwind config values within my blade templates. The most recent event occurred when building a admin section and i needed to access a color defined within the tailwind config file to pass to a charting library. Instead of hardcoding the value I decided to create this library."
Installation
composer require ouun/stage-laravel-tailwind-config
Publish Config
$ wp acorn vendor:publish --provider="Stage\Tailwind\TailwindServiceProvider"
The application service provider and facade will be automatically registered for you.
Or add the service provider to your app.php config file
Stage\Tailwind\TailwindServiceProvider::class,
Optionally you can add the alias to the Aliases section of your app.php config file
'Tailwind' => Stage\Tailwind\Facades\Tailwind::class,
Usage
You can use the facade
Tailwind::get('colors.red-light', '#FF0000');
You can use the helper method
tailwind('colors.red-light', '#FF0000');
Config
By default we assume your tailwind config file is called tailwind.json in the `/dist folder of your project. you can override this configuration by publishing the config and updating the path to your tailwind.json file.
'cache_path' => base_path('dist/tailwind.json'),
To generate the tailwind.json file from your config you will either need to use a Webpack export package such as this one or add the following Mix extension to your webpack.mix.js:
mix.extend('exportTailwindConfig', function(webpackConfig, configPath = './tailwind.js') { let fs = require('fs'); let config = require(configPath); let json = JSON.stringify(config, null, 2); fs.writeFile('./tailwind.json', json); });
And then call the following mix function to generate this file
mix.exportTailwindConfig('./tailwind.js');