/zappajs

web application framework for node built on express and socket.io, based on mauricemach/zappa

Primary LanguageCoffeeScriptMIT LicenseMIT

Zappa is a CoffeeScript-optimized interface to Express and Socket.IO.

Synopsis

require('zappajs') ->

  # Server-side

  @get '/': ->
    @render 'index',
      title: 'Zappa!'
      scripts: '/zappa/Zappa.js /index.js /client.js'
      stylesheet: '/index.css'

  @view index:
    doctype 5
    html ->
      head ->
        title @title if @title
        for s in @scripts.split ' '
          script src: s
        link rel:'stylesheet', href:@stylesheet
      body ->
        h1 'Welcome to Zappa!'
        div id:'content'

  @css '/index.css':
    body:
      font: '12px Helvetica'
    h1:
      color: 'pink'

  @get '/:name/data.json': ->
    record =
      id: 123
      name: @params.name
      email: "#{@params.name}@example.com"
    @send record

  @on 'ready': ->
    console.log "Client #{@id} is ready and says #{@data}."

  # Client-side

  @coffee '/index.js': ->
    alert 'hi'

  @client '/client.js': ->
    @connect()

    $ =>
      @emit 'ready', 'hello'

    @get '#/': ->
      @swap 'Ready to roll!'

Install

npm install zappajs

This will install v0.3, which depends on Express 2.5. If you would rather use Express 3.0:

npm install zappajs@0.4

Learn More

Other resources

Build Status