Negligible Psychological Misery

    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

    Install

    npm i vinylize

    DownloadsWeekly Downloads

    5

    Version

    0.3.0

    License

    MIT

    Last publish

    Collaborators

    • sven.schoenung