vinylize

0.3.0 • Public • Published

npm Version Build Status Coverage Status Dependency Status devDependency Status Code Climate Codacy Badge

vinylize

Turn object streams into vinyl streams.

Installation

npm install vinylize

Usage

The following turns each movie object into a vinyl file that can be wrapped in a lodash template by gulp-wrap:

var gulp = require('gulp');
var streamify = require('stream-array');
var vinylize = require('vinylize');
var friendlyUrl = require('friendly-url');
var wrap = require('gulp-wrap');
 
// this might come from a database or other data source
var movies = [
  { title:'2001: A Space Odyssey', director:'Stanley Kubrick', year:1968 },
  { title:'THX 1138', director:'George Lucas', year:1971 },
  { title:'Blade Runner', director:'Ridley Scott', year:1982 }
];
 
// use vinylize() in an existing stream to turn objects into vinyl files
gulp.task('vinylize-pipe', function() {
  return streamify(movies)
    .pipe(vinylize({ path: function(movie) {
      return friendlyUrl(movie.title) + '.html';
    }}))
    .pipe(wrap('<h1><%= title %> (<%= year %>)</h1>\n' +
               '<div>Directed by: <%= director %></div>'))
    .pipe(gulp.dest('movies'));
});
 
// alternatively use vinylize() to create a new stream of vinyl files
gulp.task('vinylize-stream', function() {
  vinylize(movies, { path: function(movie) {
      return friendlyUrl(movie.title) + '.html';
    }})
    .pipe(wrap('<h1><%= title %> (<%= year %>)</h1>\n' +
               '<div>Directed by: <%= director %></div>'))
    .pipe(gulp.dest('movies'));
});
 

Result

movies/2001-a-space-odyssey.html

<h1>2001: A Space Odyssey (1968)</h1>
<div>Directed by: Stanley Kubrick</div>

movies/thx-1138.html

<h1>THX 1138 (1971)</h1>
<div>Directed by: George Lucas</div>

movies/blade-runner.html

<h1>Blade Runner (1982)</h1>
<div>Directed by: Ridley Scott</div>

See the examples folder for more examples.

API

See the API documentation for available functions and options.

License

MIT

Package Sidebar

Install

npm i vinylize

Weekly Downloads

15

Version

0.3.0

License

MIT

Last publish

Collaborators

  • sven.schoenung