background preloader


Paper.js — The Swiss Army Knife of Vector Graphics Scripting. Paper.js is an open source vector graphics scripting framework that runs on top of the HTML5 Canvas. It offers a clean Scene Graph / Document Object Model and a lot of powerful functionality to create and work with vector graphics and bezier curves, all neatly wrapped up in a well designed, consistent and clean programming interface. Paper.js is based on and largely compatible with Scriptographer, a scripting environment for Adobe Illustrator with an active community of scripters and more than 10 years of development. Paper.js is easy to learn for beginners and has lots to master for intermediate and advanced users. Paper.js is developed by Jürg Lehni & Jonathan Puckey, and distributed under the permissive MIT License. Getting Started First of all, take a look at some of our examples.Download Paper.js or check out the latest version from our Github Repository.Want to learn Paper.js? Overview Browser Support

dotjs — hack the web README.markdown ..................... dotjs ........................ dotjs is a Google Chrome extension that executes JavaScript files in ~/.js based on their filename. If you navigate to dotjs will execute ~/.js/ This makes it super easy to spruce up your favorite pages using JavaScript. On subdomains such as dotjs will try to load ~/.js/ as well as ~/.js/ and ~/.js/com.js. Bonus: files in ~/.js have jQuery 1.9 loaded, regardless of whether the site you're hacking uses jQuery. Double bonus: ~/.js/default.js is loaded on every request, meaning you can stick plugins or helper functions in it. GreaseMonkey user scripts are great, but you need to publish them somewhere and re-publish after making modifications. Example How It Works Chrome extensions can't access the local filesystem, so dotjs runs a tiny web server on port 3131 that serves files out of ~/.js. Requires Install it Uninstall it

yepnope.js | A Conditional Loader For Your Polyfills! BoxJS - A simple package management service Essential JavaScript Design Patterns For Beginners Design patterns are reusable solutions to commonly occurring problems in software design. They are both exciting and a fascinating topic to explore in any programming language. One reason for this is that they help us build upon the combined experience of many developers that came before us and ensure we structure our code in an optimized way, meeting the needs of problems we're attempting to solve. Design patterns also provide us a common vocabulary to describe solutions. In this book we will explore applying both classical and modern design patterns to the JavaScript programming language. Target Audience This book is targeted at professional developers wishing to improve their knowledge of design patterns and how they can be applied to the JavaScript programming language. Some of the concepts covered (closures, prototypal inheritance) will assume a level of basic prior knowledge and understanding. Acknowledgments Credits Reading Patterns are not an exact solution. Creational Design Patterns

defunkt/jquery-pjax - GitHub Backbone.js Isotope Popcorn.js 0.2 Released – Popcorn.js 0.2 Released – Bocoup Web Log I am very proud to announce that Popcorn.js hit 0.2 today. The Popcorn.js team has been working hard to deliver a stable, documented and unit tested JavaScript toolbelt for working with HTML5 <video>. Popcorn.js 0.2 rethinks Popcorn.js 0.1 as an event system for HTML5 <video> with a sexy API, a plugin system, and strong adherence to the native HTML5 <video> API. Popcorn.js’ API follows the standard HTML5 method names by using a passthrough system to the native HTMLVideoElement. Popcorn builds on these native method names like .mute(), .load() and .play(), and adds new method names like .exec(), .listen(), .trigger(), .getTrackEvents(), and so on. Popcorn methods also make a point of returning a reference to the current Popcorn instance where possible, so you can write nice method chains. Popcorn also offers a plugin system that makes it easy for developers to add methods to Popcorn that package functionality for responding to events in a video. Roadmap Butter

mroderick/PubSubJS at master - GitHub DocumentCloud's VisualSearch.js Created by Samuel Clay, @samuelclay. VisualSearch.js enhances ordinary search boxes with the ability to autocomplete faceted search queries. Specify the facets for completion, along with the completable values for any facet. You can retrieve the search query as a structured object, so you don't have to parse the query string yourself. Here's an example of a search on that uses facets. The project is hosted on GitHub. VisualSearch.js is an open-source component of DocumentCloud. Table of Contents Demo | Downloads | Usage | Links | Change Log Demo Try searching for: account, filter, access, title, city, state, or country. Downloads (Right-click, and use "Save As") Usage To use VisualSearch.js on your site, follow these instructions on installation, configuration, and customization. Search.js July 22nd, 2013 A fork of VisualSearch.js that provides support for dynamic operators and HTML5 input types (numbers and dates). Change Log June 23rd, 2011 Initial release of VisualSearch.js.

SproutCore Guides: JavaScript Style Guide 1 Classes Although JavaScript is a prototype-based language, SproutCore overlays the some of the concepts of traditional class-based programming for ease of use. 1.1 Defining Classes Just as with Objective-C, JavaScript and thus, SproutCore, is not natively name spaced. For example, if you are writing an application called “AddressBook”, the build tools will create the following: apps/address_book/core.js AddressBook = SC.Application.create({ In SproutCore, class names are always capitalized. AddressBook.ContactCollectionView = SC.CollectionView.extend({ 1.2 Instantiated Classes If you are creating an instantiated SproutCore class, such as a controller, the naming convention is slightly different. AddressBook.contactsController = SC.ArrayController.create({ 1.3 Create vs Extend and Design You may have noticed that two of the above examples use .create() while another uses .extend() . When you use .create() , you are creating an instance of a class. 2 Properties and Variables isEnabled: true