# helper-ask [![NPM version](https://img.shields.io/npm/v/helper-ask.svg?style=flat)](https://www.npmjs.com/package/helper-ask) [![NPM downloads](https://img.shields.io/npm/dm/helper-ask.svg?style=flat)](https://npmjs.org/package/helper-ask) [![Build Status](https://img.shields.io/travis/helpers/helper-ask.svg?style=flat)](https://travis-ci.org/helpers/helper-ask)

> Async helper that prompts the user for a value and uses the answer as context for rendering the template.

## Install

Install with [npm](https://www.npmjs.com/):

```sh
$ npm install --save helper-ask
```

## Compatibility

This helper can be used with the following applications:

* [assemble](https://github.com/assemble/assemble)
* [verb](https://github.com/verbose/verb)
* [update](https://github.com/update/update)
* [generate](https://github.com/generate/generate)
* [templates](https://github.com/jonschlinkert/templates)

## Usage

This helper requires the [base-questions](https://github.com/node-base/base-questions) plugin to be registered first. Uses the [ask-when](https://github.com/jonschlinkert/ask-when) library to conditionally prompt the user. See that project for available options and additional API documentation.

```js
var ask = require('helper-ask');
var questions = require('base-questions');
var templates = require('templates');
var app = templates();

app.use(questions());

// register the helper, make sure to pass `app` to the function
app.asyncHelper('ask', ask(app));
```

**Example**

If you're using [templates](https://github.com/jonschlinkert/templates) directly, you'll need to create a collection and add a template engine.

```js
app.create('pages');
app.engine('*', require('engine-base'));
app.option('engine', '*');
```

With the other apps you should be able to do the following:

```js
var page = app.page('foo', {content: '<%= ask("name") %>'});
app.option('askWhen', 'not-answered');
app.data('name', 'Brian');

app.render(page, function(err, view) {
  if (err) return cb(err);
  console.log(view.contents.toString());
  //=> 'Brian'
  cb();
});
```

## API

**Params**

* `app` **{Object}**
* `returns` **{Function}**: Returns the helper function

**Example**

```html
<%= ask('author.name') %>
```

## About

### Related projects

* [handlebars-helpers](https://www.npmjs.com/package/handlebars-helpers): More than 130 Handlebars helpers in ~20 categories. Helpers can be used with Assemble, Generate… [more](https://github.com/assemble/handlebars-helpers) | [homepage](https://github.com/assemble/handlebars-helpers "More than 130 Handlebars helpers in ~20 categories. Helpers can be used with Assemble, Generate, Verb, Ghost, gulp-handlebars, grunt-handlebars, consolidate, or any node.js/Handlebars project.")
* [template-helpers](https://www.npmjs.com/package/template-helpers): Generic JavaScript helpers that can be used with any template engine. Handlebars, Lo-Dash, Underscore, or… [more](https://github.com/jonschlinkert/template-helpers) | [homepage](https://github.com/jonschlinkert/template-helpers "Generic JavaScript helpers that can be used with any template engine. Handlebars, Lo-Dash, Underscore, or any engine that supports helper functions.")

### Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).

### Building docs

_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_

To generate the readme and API documentation with [verb](https://github.com/verbose/verb):

```sh
$ npm install -g verb verb-generate-readme && verb
```

### Running tests

Install dev dependencies:

```sh
$ npm install -d && npm test
```

### Author

**Jon Schlinkert**

* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)

### License

Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT license](https://github.com/helpers/helper-ask/blob/master/LICENSE).

***

_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.31, on October 01, 2016._