sammy

Sammy is a tiny javascript framework built on top of jQuery, It's RESTful Evented Javascript.

  • 所有者: quirkey/sammy
  • 平台:
  • 许可证: MIT License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Sammy

http://sammyjs.org

Description

Sammy is a tiny javascript framework built on top of jQuery inspired by Ruby's Sinatra.

Installation

Download Sammy.js and install it in your public javascripts directory.
Include it in your document AFTER jQuery.

Usage

Like Sinatra, a Sammy application revolves around 'routes'. Routes in Sammy are a little different, though. Not only can you define 'get' and 'post' routes, but you can also bind routes to custom events triggered by your application.

You set up a Sammy Application by passing a Function to the $.sammy (which is a shortcut for the Sammy.Application constructor).

$.sammy(function() {

  this.get('#/', function() {
    $('#main').text('Welcome!');
  });

});

Inside the 'app' function() this is the Application. This is where you can configure the application and add routes.

Above, we defined a get() route. When the browser is pointed to #/ the function passed to that route will be run. Inside the route function, this is a Sammy.EventContext. EventContext has a bunch of special methods and properties including a params hash, the ability to redirect, render partials, and more.

In its coolness, Sammy can handle multiple chained asynchronous callbacks on a route.

this.get('#/', function(context,next) {
  $('#main').text('Welcome!');
  $.get('/some/url',function(){
    // save the data somewhere
    next();
  });
}, function(context,next) {
  $.get('/some/other/url',function(){
    // save this data too
    next();
  });
});

Once you've defined an application the only thing left to do is run it. The best-practice behavior is to encapsulate run() in a document.ready block:

var app = $.sammy(...)

$(function() {
  app.run();
});

This will guarantee that the DOM is loaded before we try to apply functionality to it.

Dependencies

Sammy requires jQuery >= 1.4.1
Get it from: http://jquery.com

More!

Learn!

Keep informed!

Authors

Sammy.js was created and is maintained by Aaron Quint with additional features and fixes contributed by these talented individuals:

  • Frank Prößdorf / endor
  • Alexander Lang / langalex
  • Scott McMillin / scottymac
  • ZhangJinzhu / jinzhu
  • Jesse Hallett / hallettj
  • Jonathan Vaught / gravelpup
  • Jason Davies / jasondavies
  • Russell Jones / CodeOfficer
  • Geoff Longman
  • Jens Bissinger / dpree
  • Tim Caswell / creationix
  • Mark Needham
  • SamDeLaGarza
  • Mickael Bailly / dready92
  • Rich Manalang / manalang
  • Brian Mitchell / binary42
  • Assaf Arkin / assaf
  • James Rosen / jamesrosen
  • Chris Mytton
  • kbuckler
  • dvv
  • Ben Vinegar / benvinegar
  • Avi Deitcher / deitch

If you're using Sammy.js in production or just for fun, instead of gifting me a beer - please consider donating to the Code for Other People Fund. - you can probably spare a dollar or ten and it will be greatly appreciated.

License

Sammy is covered by the MIT License. See LICENSE for more information.

主要指标

概览
名称与所有者quirkey/sammy
主编程语言JavaScript
编程语言Ruby (语言数: 3)
平台
许可证MIT License
所有者活动
创建于2009-03-20 03:30:06
推送于2024-07-27 22:25:53
最后一次提交2014-09-03 15:51:31
发布数24
最新版本名称v0.7.6 (发布于 )
第一版名称v0.1.3 (发布于 )
用户参与
星数3k
关注者数95
派生数380
提交数784
已启用问题?
问题数172
打开的问题数50
拉请求数47
打开的拉请求数17
关闭的拉请求数38
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?