1.0.1 • Published 7 years ago
gulp-pug-globbing v1.0.1
gulp-pug-globbing
Globbing with pug the easy way.
Expands pug include
and extends
statements to allow globbing and placeholders.
Based on gulp-css-globbing
.
Install
Install gulp-pug-globbing
as a development dependency using npm:
npm install --save-dev gulp-pug-globbing
Usage without options
gulpfile
var pug = require('gulp-pug');
var pugGlobbing = require('gulp-pug-globbing');
gulp.task('pug', function(){
gulp.src(['src/index.pug'])
.pipe(pugGlobbing())
.pipe(pug())
.pipe(gulp.dest('build'));
});
src/index.pug
//- ...
include ../foo/bar/**/*.pug
//- ...
Advanced example
gulp task
gulp.task('pug', function(){
gulp.src(['src/views/**/*.pug'])
.pipe(pugGlobbing({
placeholder: {
'modules': 'src/modules/**/*.pug',
'layout': 'src/layout/**/*',
'default-template': 'src/layout/templates/default.pug',
}
ignore: [
'src/views',
'src/layout/templates'
]
}))
.pipe(pug())
.pipe(gulp.dest('build'));
});
page
extends {default-template}
block includes
include ../../utilities/**/*.pug
include ../../base/*.pug
include {modules}
include {layout}
block container
h1 Hello World!
template to extend
block includes
doctype html
html
head
meta(charset='utf-8')
title Hello?
body
block container
Options
gulp-pug-globbing
can be called with an options object:
gulp.task('pug', function(){
gulp.src(['src/index.pug'])
.pipe(pugGlobbing({
placeholder: {
'base': 'src/pug/base/*.pug',
'modules': 'src/pug/modules/**/*.pug',
'layout': 'src/pug/layout/**/*',
'default-template': 'src/pug/layout/templates/default.pug',
}
ignore: ['src/pug/layout/templates']
}))
.pipe(pug())
.pipe(gulp.dest('build'));
});
ignore
Type: String
or Array
Folders gulp-pug-globbing should ignore.
Default: []
placeholder
Type: Object
Placeholders to use within pug files, e.g. {modules}
.
Default: {}