/demos

The official mirror of Dojo Demos.

Primary LanguageJavaScript

-------------------------------------------------------------------------------
Dojo Demos - used on demos.dojotoolkit.org
-------------------------------------------------------------------------------
Project state: varies.
-------------------------------------------------------------------------------
Project description

	Demos which show off all of Dojo, potentially including a server-side
	component. Each demo resides in a sub-directory. Demos should not depend on
	other demos for code, but may depend on things in the top-level resources
	directory or in dojo, dijit, dojox, and util namespaces.
	
	These demos are not included in releases, and unlike tests inside of Dijit,
	they may depend on DojoX components or not be fully accessible, etc.

	Additionally, icons, images, and other resources not licensable for use in
	the mainline toolkit may be included in the demos/ directory so long as
	their license status is noted in demo-specific LICENSE files.

	Server-side components are recommended to be written in PHP 5 and may use
	the Zend Framework should a MVC framework be required for a particular
	demo.

-------------------------------------------------------------------------------
Dependencies:

	Dojo Core
	Dijit
	DojoX

-------------------------------------------------------------------------------
Submission Instructions

	All these demos follow a simple pattern. Each demo has a "name", which 
	is the name of the folder it lives in. eg:
	
	demos/myDemo/
	
	The root demo filename is to be named `demo.html`. It should include a 
	<script> tag pointing to ../../dojo/dojo.js, and a src.js "layer" as a 
	sibling to `demo.html` .Styles should be external and located
	in a file `demo.css`. A README file (similar to this document) should
	also be present.
	
	The most basic of demos should look like:

	demos/myDemo/
			demo.html
			demo.css
			src.js
			
	If multiple modules are needed, they should appear in a /src/ folder, making
	src.js a rollup, only requiring other modules. 
	
	demos/myDemo/
			src.js
			src/
				Module.js
	
	Proper dojo.provide calls for the src.js and Module.js files should be issued:
	dojo.provide("demos.myDemo.src.Module");
	
About the README
	
	The README format is a slightly-fragile custom format, which follows the 
	same design as this one. The second and last lines are parsed off for meta
	information.
	
	Line 2 should be a hyphen separated description:
	
	1. --------------------------------------------------
	2. Short Title - Longer Description about the purpose
	3. --------------------------------------------------
	
	The last line should be made up of @tag:value pairs. These tags can be 
	arbitrary, and some go unused (though may be implemented at a later
	date). The most important tag is @rank, providing a way to weight 
	the demo in the index at http://demos.dojotoolkit.org
	
	@rank:-999 will mark the demo as experimental, and not complete.
	@rank:15 will give a +15 ranking to the demo, adjusting the index. The 
		higher the value, the higher in the list it will appear.
		
Additional Resources

	The thumbnail that appears in the demo index can be placed in:
	
	demos/resources/images/myDemo.png
	
	Providing a 128x128 png icon bumps the rank value slightly. 

Building the Demos

	Each demo should add itself to the profiles/ folder in the util 
	repository:
	
	util/buildscripts/profiles/demos-all.profile.js
	
	Each demo should create a layer making src.js the layer target, 
	dependent on demos.myDemo.src. This way, each demo has 100% of 
	the require resources available in the rollup layer and requires
	no work to shift between built and unbuilt states. 
	
	Create the tree by running a build:
	
	./build.sh action=release profile=demos-all cssOptimize=comments.keepLines version=1.x.x
	
-------------------------------------------------------------------------------
@rank:-999