6.0.1 • Published 3 years ago

gulp-squirrelly v6.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

gulp-squirrelly

Render/precompile Squirrelly templates

This package is a near-identical clone of gulp-template by sindresorhus, just with Squirrelly subbed in for lodash.template. It was thrown together quickly so please open an issue or PR if you find anything that isn't quite right.

Install

$ npm install --save-dev gulp-squirrelly

Usage

src/greeting.html

<h1>Hello {{ it.name }}</h1>

gulpfile.js

const gulp = require('gulp');
const template = require('gulp-squirrelly');

exports.default = () => (
	gulp.src('src/greeting.html')
		.pipe(template({name: 'Sindre'}))
		.pipe(gulp.dest('dist'))
);

You can alternatively use gulp-data to inject the data:

const gulp = require('gulp');
const template = require('gulp-squirrelly');
const data = require('gulp-data');

exports.default = () => (
	gulp.src('src/greeting.html')
		.pipe(data(() => ({name: 'Sindre'})))
		.pipe(template())
		.pipe(gulp.dest('dist'))
);

dist/greeting.html

<h1>Hello Sindre</h1>

API

template(data, options?)

Render a template using the provided data.

template.precompile(options?)

Precompile a template for rendering dynamically at a later time.

data

Type: object

Data object used to populate the text.

options

Type: object

Squirrelly configuration. Defaults to Sqrl.defaultConfig.

Tip

You can also provide your own interpolation strings (see "tags" here) for custom templates.

src/greeting.html

<h1>Hello <% it.name %></h1>

gulpfile.js

const gulp = require('gulp');
const template = require('gulp-squirrelly');
const data = require('gulp-data');
const Sqrl = require('squirrelly');

exports.default = () => (
	gulp.src('src/greeting.html')
		.pipe(template(
			{ name: "Sindre" },
			Sqrl.getConfig({ tags: ["<%", "%>"] })
		))
		.pipe(gulp.dest('dist'))
);

Note: Sqrl.getConfig merges the object you provide into Squirrelly's default configuration.

dist/greeting.html

<h1>Hello Sindre</h1>