connect-docco

Bringing the literate programing tool Docco to Connect.

The idea is just to generate documentation dynamically upon request, which is quite handy during development.

New Hot Stuff: Docco + Socket.io + watch = Save file → documentation page updates automatically.

Installation

npm install connect-docco -g

If you don't intend to use the connect-docco program, you can omit the -g flag.

Command-Line Usage

connect-docco --port 8082 --dirname .

The arguments below are the defaults and can be omitted.


Middleware Usage

connect.createServer()
    .use(connect.logger())
    .use(require("docco")(__dirname))
    .use(connect.directory(__dirname))
    .use(connect.static(__dirname))
    .listen(process.env.PORT);

Here is an example of a basic server setup:


http://localhost:8082/some/file.js?raw

The middleware handles any Docco-compatible extension (.coffee, .js, .json, .rb, .py). You can still view the raw version of the file when the ?raw query string parameter is given, should you wish to use it:


socket.io + watch

var app = connect.createServer();

app
  .use(connect.logger())
  .use(docco(__dirname, { app: app }))
  .use(connect.directory(__dirname))
  .use(connect.static(__dirname))
  .listen(process.env.PORT);

If given a Connect (or Express) application, the Docco middleware will watch for file changes using watch and emit changes over socket.io:


This is basic, but ends up working pretty well.