UNPKG

laravel-mix-favicon-generator

Version:

Laravel Mix extension to generate favicons and include them into the HTML from single PNG/JPG/SVG image.

75 lines (60 loc) 3 kB
# Laravel Mix Favicon Generator **Laravel Mix extension to generate favicons and include them into the HTML from single PNG/JPG/SVG image.** ## Note When mix hot is running, just add your file into `inputPath` (only PNG/JPG/SVG, recommended) which will generate favicons for your website and inject HTML into your blade, if enabled*. See options for more detail. ## Installation Install the extension: ```sh npm install laravel-mix-favicon-generator ``` Next require the extension inside your Laravel Mix config and call `favicon()` in your pipeline: ```js // webpack.mix.js const mix = require('laravel-mix'); require('laravel-mix-favicon-generator'); mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css') .favicon(); ``` ## Options #### Default options If nothing is passed to the extension inside your Laravel Mix config, the following options will be used: ```js { inputPath: 'resources/assets/favicon/generate', inputFile: '*.{jpg,png,svg}', publicPath: 'public', output: '/assets/favicon', usePathAsIs: true, dataFile: 'faviconData.json', blade: 'resources/views/blocks/favicon.blade.php', reload: false, debug: false, compression: 0, scalingAlgorithm: 'Mitchell', bgColor: '#ffffff', appName: 'Web App', chromeManifest: { name: 'Web App', display: 'standalone', orientation: 'portrait', on_conflict: 'override', declared: true } } ``` #### Option details * `inputPath` (string). Your favicon data path. There will be temporarily saved generated JSON for injecting HTML code (if `blade` option enabled). * `inputFile` (string). File to watch (attention, file will be deleted). * `publicPath` (string). Your application's public path. * `output` (string). Where generated files will be saved. Relative to the `publicPath` option. * `usePathAsIs` (boolean). Force RealFaviconGenerator to insert the path everywhere (use absolute path). * `dataFile` (string). Temporary data file while generating HTML. * `blade` (string or boolean). Path to blade file, where generated HTML code will be saved. This will overwrite whole file. _Note: set this option to `false` to disabled injecting HTML code._ * `reload` (boolean). Whenever to reload browser after success. _Note: this option has no effect if you are using [laravel-mix-blade-reload](https://www.npmjs.com/package/laravel-mix-blade-reload) extension._ * `debug` (boolean). Whenever to log extension events messages to the console. * `compression` (num). Set the compression level, from 0 (no compression) to 5 (highest compression level). * `scalingAlgorithm` (string). Set the scaling algorithm. Possible values: Mitchell, NearestNeighbor, Cubic, Bilinear, Lanczos, Spline. * `bgColor` (string). Theme color (meta). * `appName` (string). Application name (meta). * `chromeManifest` (object). site.webmanifest settings.