diff --git a/Readme.md b/Readme.md index 60033d20..7de28879 100644 --- a/Readme.md +++ b/Readme.md @@ -2,37 +2,32 @@ # Express Insanely fast (and small) server-side JavaScript web development framework - built on **node.js** and the **V8 JavaScript engine**. + built on [node](http://nodejs.org) and [Connect](http://github.com/extjs/Connect). - * Visit the [Wiki](http://wiki.github.com/visionmedia/express) for documentation + * Visit the [Websute](http://expressjs.com) for documentation * Visit the [Google Group](http://groups.google.com/group/express-js) for discussion - Express will soon run on the [Connect](http://github.com/extjs/Connect) project, a middleware layer for nodejs. +## Features -## Features (so far) - - * Sexy DSL with robust sinatra-like routing + * Sexy DSL with robust _sinatra-like_ routing + * Environment based configuration * High performance + * View support (ejs, jade, haml, sass, etc) + * View partials + * Full test coverage via [expresso](http://github.com/visionmedia/expresso) + +Via Connect: + * Session support * Cache API - * RESTful HTTP client * Mime helpers * ETag support * Redirection helpers - * Multipart file upload support - * Test helpers (mock requests etc) - * Environment based configuration - * Light-weight JavaScript class implementation via [class.js](http://github.com/visionmedia/class.js/) - * Persistent flash messages - * Route passing - * View support (ejs, haml, sass, etc) - * View partials - * View globals/helpers support - * Full test coverage - * Logger plugin with several formats - * Upload size restrictions - * Extremely readable specs + * Persistent flash notifications * Cookie support + * JSON-RPC + * Logging + * and _much_ more! ## Installation @@ -51,65 +46,30 @@ or $ git clone git://github.com/visionmedia/express.git && cd express && git submodule update --init -## Examples - -Below is a tiny Express application. View the [Wiki](http://wiki.github.com/visionmedia/express/) for detailed information. - - require.paths.unshift('express/lib') - require('express') - - configure(function(){ - set('root', __dirname) - }) - - get('/user', function(){ - this.redirect('/user/' + this.currentUser.id) - }) - - get('/user/:id', function(id){ - this.render('user.haml.html', { - locals: { - user: this.currentUser, - usersOnline: Session.store.length() - } - }) - }) - - run() - ## Running Tests -Express uses the [JSpec](http://jspec.info) BDD JavaScript testing -framework to write and run elegant spec suites. JSpec is frozen -to spec/lib and **does not** require separate installation. +Express uses the [Expresso](http://github.com/visionmedia/expresso) TDD +framework to write and run elegant test suites extremely fast. First update +the git submodules, then run: $ make test -Run individual suites: - - $ node spec/node.js core - $ node spec/node.js mime - $ node spec/node.js routing - ... - The latest release of Express is compatible with node --version: - v0.1.98 - -With _EDGE_ Express we do our best to keep up to date with node's _EDGE_ + v0.1.100 ## More Information * [JavaScript Extensions & Utilities](http://github.com/visionmedia/ext.js) * [JavaScript Sass](http://github.com/visionmedia/sass.js) + * [JavaScript Haml](http://github.com/visionmedia/haml.js) + * [JavaScript Jade](http://github.com/visionmedia/jade) spiritual successor of Haml * Featured in [Advanced JavaScript e-book](http://www.dev-mag.com/2010/02/18/advanced-javascript/) for only $4 - * [Express vs Sinatra Benchmarks](http://tjholowaychuk.com/post/543953703/express-vs-sinatra-benchmarks) ## Contributors * TJ Holowaychuk (visionmedia) <tj@vision-media.ca> * Aaron Heckmann (aheckmann) <aaron.heckmann+github@gmail.com> * Ciaran Jessup (ciaranj) <ciaranj@gmail.com> - * Gareth Jones (csausdev) <gareth.jones@sensis.com.au> ## License