This library is used to connect javascript applications to Ideo's Noam Server. It uses web sockets, which can connect up through firewalls and translation layers.
This lemma may be used directly in a web page or within node.
This section describes the usage of this lemma within an HTML web page.
This step is necessary if you want a single file to require on your web page. It's not necessary if you want to use Node.js or are fine including all the files you need by yourself. Requires Grunt.
Note: Prebuilt concatenated and minified versions of the library are distributed in the dist
folder of this repository
$ npm install
$ bower install
$ grunt
Include lemma.js
your app:
<script type="text/javascript" src="dist/lemma.js"></script>
See examples/webExample.html for a complete example.
Note: these examples use jQuery - in your HTML page
- Create an instance of the Lemma library. Choose a unique lemma id.
lemma = new Lemma('LEMMA_ID')
- Register callback for events you are interested in. For example, append some html to a div
lemma.hears("rpm", function(name, value) {
//update your page here (using jQuery).
$("div#msg").append("<p>" + name + ": " + value + "</p>");
});
- Begin lemma-ing. Use the ip address and web socket port of the Noam Server
lemma.begin('10.0.1.29', 8080);
- Send a Noam event when you want to update something, for example in a click binding
$("button#rpm").click(function() {
lemma.sendEvent("rpm", $("#rpmValue").val())
});
This section describes usage of this lemma within a Node application.
$ npm install # installs the websockets dependency
Require Lemma.js in your app
var Lemma = require('./src/Lemma.js')
See examples/nodeExample.js for a complete example.
To run the example go into the examples/ directory and type node nodeExample.js
After running npm install
, you'll have a local copy of jshint to check your
JavaScript for things like using globals and other such accidents. To run that, it's just:
./node_modules/jshint/bin/jshint ./src