`.
## How it works
You serve `instanthangouts.0.1.0.js`. Then, you put the following HTML into your
page where you want the Hangout to appear:
```html
`s. You
only need our script once:
```html
```
Our script inserts a `
```
And here is an example of all supported custom fields in button mode:
```html
```
## Development
This section covers development of Instant Hangouts. You don't need to read it
unless you want to contribute to the project.
We use [npm](https://npmjs.org/) for package management and
[Node.js](http://nodejs.org/) for a development server. You should install Node,
which comes with npm, in whatever way is best on your system.
Pull down the repo and install dependencies into `./node_modules` with
```sh
$ git clone https://github.com/google/instant-hangouts.git
$ cd instant-hangouts
$ npm install
```
You can start up a development server with
```sh
$ node scripts/server.js
```
which runs on http://localhost:8080. If possible, use your hostname rather than
localhost during development because the URL is used when constructing rooms. If
you use a hostname, you can bring up the test server on multiple machines and
log in with multiple accounts to do a real end-to-end test of the Hangout
functionality.
We use [Grunt](http://gruntjs.com/) to produce two files:
```
instanthangouts-
.uncompiled.js
instanthangouts-.js
```
`` is set in `package.json`. The first file is the source concatenated
and wrapped in a closure. The second is a minified version that users embed in
their pages. The former is useful to developers because line numbers etc. are
preserved in your debugger. When pushing a new version, be sure to update
`version` in `package.json` and update the `script` tag in `index.html` so you
generate new versions of these files. You will also want to update the `script`
tags in this document.
When developing, run
```sh
$ grunt
```
to watch your local files and recreate the computed files automatically every
time there is a change. This assumes you have installed `grunt-cli` globally,
which is fairly common. If you want to use the local version managed by Instant
Hangouts, instead run
```sh
$ ./node_modules/grunt-cli/bin/grunt
```
We use [Karma](http://karma-runner.github.io/0.10/index.html) for our test
runner. To start:
```sh
$ karma start
```
This will bring up a Chrome window and attach Karma to it. Your test code will
be run in that Chrome window. Karma has its own file watcher and reruns tests
when either the source, tests, or `index.html` changes. We use
[Jasmine](http://jasmine.github.io/) for our test framework.