A Laravel Mix extension to convert twig files to html.
Install the extension:
npm install laravel-mix-twig-to-html --save-devor
yarn add laravel-mix-twig-to-html --devThen require and configure the extension within your webpack.mix.js.
Create the html pages from a string (or an array) of minimatch supported paths to your twig files.
const mix = require('laravel-mix'); require('laravel-mix-twig-to-html'); mix.twigToHtml({ files: 'src/templates/**/*.{twig,html}', fileBase: 'src/templates', });Additional output options allow you to set custom html-webpack-plugin options and twig options.
const mix = require('laravel-mix'); require('laravel-mix-twig-to-html'); const files = [ { template: 'src/templates/about/**/*.twig', title: 'About', }, { template: 'src/templates/index.twig', title: 'Home', inject: false, // disable asset tag injection } ] mix.twigToHtml({ files: files, fileBase: 'src/templates', twigOptions: { data: {} }, });Files or folders prefixed with an underscore are ignored from html output. This is a handy feature for ignoring component and layout files.
Ignored files: /_components/header.twig /_layouts/base.twig /_include.twig | Name | Type | Default | Description |
|---|---|---|---|
| files * | string / array | [] | Paths to your twig source files (supports minimatch) OR An array of objects to pass to html-webpack-plugin |
| fileBase * | string | `` | The base path to your template folder |
| twigOptions | object | {} | The twig-html-loader options, see twig-html-loader for the options |
| enabled | boolean | true | Turns the extension on or off manually |
* = Required
This extension was created for the Agency Webpack Mix Config.