Compiles Pug/Jade templates to Hyperscript.
gulp-pug-hyperscript is a gulp plugin to compile Pug/Jade templates to Hyperscript. Usable with maquette, virtual-dom, react, or any other DOM library that supports Hyperscript.
This package was created by smashing gulp-iced-coffee and virtual-jade-loader together until they fit. It uses virtual-jade to compile from Pug/Jade to Hyperscript.
npm install --save-dev gulp-pug-hyperscript
var pugHyperscript = require('gulp-pug-hyperscript');
gulp.task('pug', function() {
gulp.src('./src/views/*.pug')
.pipe(pugHyperscript().on('error', gutil.log))
.pipe(gulp.dest('./public/'))
});
gulp-pug-hyperscript will emit an error for cases such as invalid pug syntax. If uncaught, the error will crash gulp.
You will need to attach a listener (i.e. .on('error')
) for the error event emitted by gulp-pug-hyperscript:
var pugStream = pugHyperscript({pretty: false});
// Attach listener
pugStream.on('error', function(err) {});
In addition, you may utilize gulp-util's logging function:
var gutil = require('gulp-util');
// ...
var pugStream = pugHyperscript();
// Attach listener
pugStream.on('error', gutil.log);
Since .on(...)
returns this
, you can compact it as inline code:
gulp.src('./src/views/*.pug')
.pipe(pugHyperscript().on('error', gutil.log))
// ...
The options object supports the same options as virtual-jade, with three additional options:
silent: true
runtime: vjade.runtime
class: false
marshallDataset: true
silent: false
will dump the pre- and post-processed template to the console for debugging.
vjade.runtime
defaults to var h = require('virtual-dom/h');
. To use Maquette or another Hyperscript library, replace vjade.runtime
string with the appropriate string of code.
class
replaces className
attribute with the regular class
attribute. This is necessary for Maquette and some other renderers.
marshallDataset
, when false, will prevent virtual-jade from turning data- *
attributes into a dataset
Object. This is necessary for Maquette and some other renderers.
MIT