Pug Recursive

Laravel Mix Plugin for compiling Pug/Jade templates.
latest v0.3.6 - released
mikemartin sebszocinski
1 download last week
MIT license
6 versions


Laravel Mix Plugin for compiling Pug/Jade templates.



This package provides a plugin for Laravel Mix to compile pug templates. laravel-mix-pug-recursive requires Laravel Mix to work. Please follow the instructions on how to use it on the package repository.


Install this package into your project:

npm install laravel-mix-pug-recursive --save-dev

Head over to your webpack.mix.js and register it on the Laravel Mix API:

let mix = require('laravel-mix');
mix.pug = require('laravel-mix-pug-recursive');

mix.js('src/app.js', 'dist')
   .sass('src/app.scss', 'dist')
   .pug('src/**/*.pug', 'dist')


You can also pass in a third optional parameter: options object. It accepts two options:


This is a path to a folder with seed files. Files can be of type json or yaml. They will be parsed and provided in your pug template locals under the seed file name and then contents.

mix.pug('src/**/*.pug', 'dist', {seeds:'src/seeds'});

And if you have a file demo.yml in there all the content will be available in your template under

a(href=seed.demo.anchor.link) seed.demo.anchor.name


It's possible to pass in an object which will be added to locals in your pug templates:

mix.pug('src/**/*.pug', 'dist', {
    locals: {
        config: { baseUrl: 'http://my-template.dev/' }

and in your pug file:

link(rel="stylesheet" media="screen" href=`{config.baseUrl}css/app.css`)


You can pass in pug config options under pug key:

mix.pug('src/**/*.pug', 'dist', {
    pug: {
        pretty: true,
        debug: true

ext && excludePath

It is possible to change to output file extension and exclude part of the path. i.e.: You want your destination file to be in resources/assets/views and the folder structure in there to continue from the resources/assets/pug/{..}:

mix.pug('resources/assets/pug/**/*.pug', 'resources/assets/views', {
    ext: '.blade.php',
    excludePath: 'resources/assets/pug'


Laravel Mix Pug is open-sourced software licensed under the MIT license.