Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sindresorhus/gulp-template

Render/precompile Lodash templates
https://github.com/sindresorhus/gulp-template

gulp-plugin javascript lodash nodejs template underscore

Last synced: about 2 months ago
JSON representation

Render/precompile Lodash templates

Awesome Lists containing this project

README

        

# gulp-template

> Render/precompile [Lodash/Underscore templates](https://lodash.com/docs#template)

*Issues with the output should be reported on the Lodash [issue tracker](https://github.com/lodash/lodash/issues).*

## Install

```sh
npm install --save-dev gulp-template
```

## Usage

### `src/greeting.html`

```erb

Hello <%= name %>


```

### `gulpfile.js`

```js
import gulp from 'gulp';
import template from 'gulp-template';

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

You can alternatively use [gulp-data](https://github.com/colynb/gulp-data) to inject the data:

```js
import gulp from 'gulp';
import template from 'gulp-template';
import data from 'gulp-data';

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

### `dist/greeting.html`

```html

Hello Sindre


```

## 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`

[Lodash `_.template` options](https://lodash.com/docs#template).

## Tip

You can also provide your own [interpolation string](https://lodash.com/docs#template) for custom templates.

### `src/greeting.html`

```html

Hello {{ name }}


```

### `gulpfile.js`

```js
import gulp from 'gulp';
import template from 'gulp-template';
import data from 'gulp-data';

export default () => (
gulp.src('src/greeting.html')
.pipe(data(() => ({name: 'Sindre'})))
.pipe(template(null, {
interpolate: /{{(.+?)}}/gs
}))
.pipe(gulp.dest('dist'))
);
```

### `dist/greeting.html`

```html

Hello Sindre


```