Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge commit 'wuher/master' into integration
- Loading branch information
Showing
7 changed files
with
199 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,78 @@ | ||
|
||
Available Packages | ||
================== | ||
|
||
You can download and install packages using the `tusk` application that comes with Narwhal. Check out `tusk help` for details. These are some of the packages: | ||
|
||
* `activejs`: The Cross Platform JavaScript MVC, http://activejs.org/ | ||
* `appengine`: A port of the Python Google App Engine SDK to JavaScript | ||
* `appengine-java-sdk`: Java components necessary for deploying applications on Google's App Engine. | ||
* `appengine`: A port of the Python AppEngine API to JavaScript | ||
* `barista`: An automated user interface testing framework. | ||
* `bogart`: A simple web framework | ||
* `browserjs`: A simulated web browser environment, includes XMLHttpRequest, timeouts, console, a DOM, etc | ||
* `cappruby`: Experimental Ruby implementation on top of the Objective-J runtime / JavaScript | ||
* `cappuccino`: Cappuccino module | ||
* `CappuccinoResource`: Cappuccino on Rails | ||
* `chiron`: A system of interoperable JavaScript modules, including a Pythonic type system and types | ||
* `closure-compiler`: Closure Compiler | ||
* `coffee-script`: Unfancy JavaScript | ||
* `commonjs-utils` | ||
* `couchdb`: API to access CouchDB servers, a schema-free database of JSON documents | ||
* `creolejs`: A JavaScript implementation of the CreoleWiki language, for browsers. | ||
* `env`: | ||
* `inspec`: | ||
* `ejs`: Embedded JavaScript templating framework | ||
* `env` | ||
* `haml-js`: Haml ported to server-side Javascript. This is a traditional server-side templating language. | ||
* `htmlparser`: An HTML parser | ||
* `inspec`: BDD test framwork inspired by rspec | ||
* `jack` | ||
* `jack-dav`: A JSGI compatible WebDAV server, based on RackDAV | ||
* `jack-servlet`: A Java servlet for running JSGI applications | ||
* `jack`: A library of JSGI middleware, handlers, and utilities, based on Rack | ||
* `jake`: A build system for ServerJS, inspired by Rake | ||
* `jsdocs`: Tool for generating template-formatted, multi-page HTML (or XML, JSON, or any other text-based) documentation from commented JavaScript source code. | ||
* `jake`: A build system for CommonJS, lifted from Rake | ||
* `jaml`: A library of JSGI middleware, handlers, and utilities, based on Rack | ||
* `jdbc` | ||
* `jscrypto`: Fast symmetric cryptography in Javascript | ||
* `jsdocs`: JavaScript documentation generator. Tool for generating template-formatted, multi-page HTML (or XML, JSON, or any other text-based) documentation from commented JavaScript source code. | ||
* `json-rpc`: An implementation of JSON-RPC for CommonJS, include a JSGI appliance | ||
* `json-template`: Minimal but powerful templating language implemented in multiple languages. | ||
* `jsont`: JSON transforms, akin to XSLT but for JSON: http://goessner.net/articles/jsont/ | ||
* `kupo`: | ||
* `kupo` | ||
* `markdown`: A port of markdown to JavaScript | ||
* `mustache`: {{mustaches}} in JavaScript — shameless port from @defunkt | ||
* `mysql-jdbc` | ||
* `narcissus`: JavaScript implemented in JavaScript | ||
* `narwhal-jaxer`: | ||
* `narwhal`: A general purpose JavaScript platform | ||
* `narwhal-jaxer` | ||
* `narwhal-johnson`: Johnson (Ruby-JavaScript bridge, using SpiderMonkey) engine support for Narwhal | ||
* `narwhal-jsc`: JavaScriptCore engine support for Narwhal | ||
* `narwhal-moar-monkeys` | ||
* `narwhal-v8`: V8 engine support for Narwhal | ||
* `narwhal-xulrunner`: | ||
* `narwhal`: A general purpose JavaScript platform | ||
* `narwhal-v8cgi`: v8cgi engine support for Narwhal | ||
* `narwhal-xulrunner`: XULRunner engine support for Narwhal | ||
* `nitro`: A Web Application Framework | ||
* `objj`: Objective-J and Cappuccino tools | ||
* `normal-template`: A simple, powerful and safe templating engine | ||
* `oauth`: OAuth Library | ||
* `objective-j`: Objective-J and Cappuccino module | ||
* `observable`: JavaScript framework for Observable mixins with plugin support | ||
* `ojmoq`: A mocking library for Objective-J that is inspired by the Moq project. | ||
* `ojunit`: A simple Objective-J unit test framework. | ||
* `ometa-highlighter`: Code highlighter based on Ometa/JS (little inspired by Pygments) | ||
* `ometajs`: A object-oriented language for pattern matching | ||
* `parenscript`: Parenscript is a small Lispy language that compiles to JavaScript. This is the Narwhal module that integrates ParenScript with Narwhal. | ||
* `prototype`: Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. This package implements a subset of Prototype | ||
* `qunit`: An easy-to-use JavaScript Unit Testing framework. | ||
* `qxoo` | ||
* `reform`: A Narwhal module for working with HTML forms, similar to Django's forms. | ||
* `seethrough`: Seethrough is a simple XML/XHTML template engine for JavaScript based on E4X. It’s a port of a former project for Erlang. | ||
* `shmakowiki`: Yet another wiki dialect, inspired by WackoWiki and WikiCreole | ||
* `shrinksafe`: ShrinkSafe | ||
* `silk`: A comprehensive set of 16x16px icons. | ||
* `sizzle`: A sizzlin' hot selector engine | ||
* `speller`: A JavaScript spell-checker | ||
* `sqlite-jdbc` | ||
* `syntax-stroop`: A syntax highlighter based on Google-code-prettify. | ||
* `template`: A simple templating engine | ||
* `underscore`: Functional programming aid for JavaScript. Works well with jQuery. | ||
* `wiky`: A bidirectional Wiki markup to and from HTML converter written in JavaScript. | ||
* `xbin`: A suite of Unix command line tools for enlightened pipelines. | ||
* `yuicompressor`: YUI Compressor | ||
* `zipjs`: An implementation of zip for JavaScript |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
|
||
// -- tlrobinson Tom Robinson | ||
|
||
var FILE = require("file"); | ||
var IO = require("io").IO; | ||
|
||
exports.open = function(url, mode, options) { | ||
mode = mode || "b"; | ||
options = options || {}; | ||
|
||
options.method = options.method || "GET"; | ||
options.headers = options.headers || {}; | ||
|
||
var connection = new java.net.URL(url).openConnection(); | ||
connection.setDoInput(true); | ||
connection.setDoOutput(true); | ||
connection.setRequestMethod(options.method); | ||
|
||
for (var name in options.headers){ | ||
connection.addRequestProperty(String(name), String(options.headers[name])); | ||
} | ||
|
||
connection.connect(); | ||
|
||
var output = new IO(null, connection.getOutputStream()); | ||
var input = null; | ||
|
||
var request = { | ||
status : null, | ||
headers : {}, | ||
read : function() { | ||
if (!input) { | ||
output.close(); | ||
input = new IO(connection.getInputStream(), null); | ||
this.status = Number(connection.getResponseCode()); | ||
this.statusText = String(connection.getResponseMessage() || ""); | ||
for (var i = 0; ; i++) { | ||
var key = connection.getHeaderFieldKey(i), value = connection.getHeaderField(i) | ||
if (! key && ! value) | ||
break; | ||
if (key) | ||
this.headers[String(key)] = String(value); | ||
} | ||
} | ||
return input.read.apply(input, arguments); | ||
}, | ||
write : function() { | ||
output.write.apply(output, arguments); | ||
return this; | ||
}, | ||
flush : function() { | ||
output.flush.apply(output, arguments); | ||
return this; | ||
}, | ||
close : function() { | ||
if (output) | ||
output.close(); | ||
if (input) | ||
input.close(); | ||
return this; | ||
}, | ||
copy : IO.prototype.copy | ||
} | ||
return request | ||
}; | ||
|
||
exports.read = function(url) { | ||
var stream = exports.open(url); | ||
try { | ||
return stream.read(); | ||
} finally { | ||
stream.close(); | ||
} | ||
}; | ||
|
||
exports.copy = function(source, target, mode) { | ||
mode = mode || "b"; | ||
return FILE.path(target).write(exports.read(source, mode), mode); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.