https://github.com/assemble/assemble-streams
Assemble plugin that adds convenience methods for working with streams, like `toStream`, which pushes a view collection into a vinyl stream.
https://github.com/assemble/assemble-streams
assemble stream vinyl
Last synced: 4 months ago
JSON representation
Assemble plugin that adds convenience methods for working with streams, like `toStream`, which pushes a view collection into a vinyl stream.
- Host: GitHub
- URL: https://github.com/assemble/assemble-streams
- Owner: assemble
- License: mit
- Created: 2015-10-10T15:46:27.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2020-04-01T00:05:25.000Z (over 5 years ago)
- Last Synced: 2025-05-28T18:38:30.539Z (4 months ago)
- Topics: assemble, stream, vinyl
- Language: JavaScript
- Size: 41 KB
- Stars: 3
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# assemble-streams [](https://www.npmjs.com/package/assemble-streams) [](https://npmjs.org/package/assemble-streams) [](https://npmjs.org/package/assemble-streams) [](https://travis-ci.org/assemble/assemble-streams)
> Assemble pipeline plugin for pushing views into a vinyl stream.
## Install
Install with [npm](https://www.npmjs.com/):
```sh
$ npm install --save assemble-streams
```## Usage
This plugin can be used with [assemble](https://github.com/assemble/assemble), [verb](https://github.com/verbose/verb) or any other application based on [templates](https://github.com/jonschlinkert/templates).
```js
var assemble = require('assemble');
var streams = require('assemble-streams');// create your application
var app = assemble();
// register the plugin
app.use(streams());// use the plugin on app
app.toStream('pages')
.pipe(app.dest('site/'));// use the plugin on a collection
app.pages.toStream()
.pipe(app.dest('site/'));// use the plugin on a view
app.pages.getView('home').toStream()
.pipe(app.dest('site/'));
```See the [tests](./test/test.js) for more examples.
## API
### [app.toStream](index.js#L53)
Push a view collection into a vinyl stream.
**Params**
* `collection` **{String}**: Name of the collection to push into the stream.
* **{Function}**: Optionally pass a filter function to use for filtering views.
* `returns` **{Stream}****Example**
```js
app.toStream('posts', function(file) {
return file.path !== 'index.hbs';
})
```### [collection.toStream](index.js#L108)
Push a view collection into a vinyl stream.
**Params**
* **{Function}**: Optionally pass a filter function to use for filtering views.
* `returns` **{Stream}****Example**
```js
app.posts.toStream(function(file) {
return file.path !== 'index.hbs';
})
```### [view.toStream](index.js#L145)
Push the current view into a vinyl stream.
* `returns` **{Stream}**
**Example**
```js
app.pages.getView('a.html').toStream()
.on('data', function(file) {
console.log(file);
//=> >
});
```## About
### Related projects
* [assemble-loader](https://www.npmjs.com/package/assemble-loader): Assemble plugin (^0.6.0) for loading globs of views onto custom view collections. Also works with… [more](https://github.com/assemble/assemble-loader) | [homepage](https://github.com/assemble/assemble-loader "Assemble plugin (^0.6.0) for loading globs of views onto custom view collections. Also works with verb or other Templates.js based applications.")
* [assemble-render-file](https://www.npmjs.com/package/assemble-render-file): Assemble plugin for rendering views in a vinyl pipeline. | [homepage](https://github.com/assemble/assemble-render-file "Assemble plugin for rendering views in a vinyl pipeline.")
* [assemble](https://www.npmjs.com/package/assemble): Get the rocks out of your socks! Assemble makes you fast at creating web projects… [more](https://github.com/assemble/assemble) | [homepage](https://github.com/assemble/assemble "Get the rocks out of your socks! Assemble makes you fast at creating web projects. Assemble is used by thousands of projects for rapid prototyping, creating themes, scaffolds, boilerplates, e-books, UI components, API documentation, blogs, building websit")### Contributing
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
### Contributors
| **Commits** | **Contributor** |
| --- | --- |
| 34 | [jonschlinkert](https://github.com/jonschlinkert) |
| 21 | [doowb](https://github.com/doowb) |### Building docs
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
To generate the readme, run the following command:
```sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
```### Running tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
```sh
$ npm install && npm test
```### Author
**Jon Schlinkert**
* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)### License
Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
MIT***
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.2, on February 11, 2017._