Warning: JSDuck is no more maintained!
- If you're looking to adopt a documentation tool, try something else.
- If you're using JSDuck, consider moving over to something else.
- Even Sencha itself doesn't use it any more, they use some internal tool, that's not available publicly.
- If you'd like to take over the maintenance of JSDuck, contact me by creating an issue.
New to JSDuck? Watch introductory talk by Nick Poulden:
Standard rubygems install should do:
$ [sudo] gem install jsduck
For the simplest test-run just use the
--builtin-classes option to
and Object into
$ jsduck --builtin-classes --output docs
To generate docs for Ext JS 4 add path to the corresponding src/ dir:
$ jsduck ext-4.2.1/src --output docs
And to create docs for your own Ext JS project, list the directory with your files in addition to the Ext JS source files (this way the docs of your classes will list all the properties and methods they inherit from Ext JS classes):
$ jsduck ext-4.2.1/src my-project/js --output docs
Unfortunately the above will throw lots of warnings at you, as building the full Ext JS docs requires lots of additional settings. For start you might want to simply ignore all these warnings originating from Ext JS source:
$ jsduck ext-4.2.1/src my-project/js --output docs \ --warnings=-all:ext-4.2.1/src
But see the Usage guide for more information on building Ext JS 4 docs.
Documenting your code
See Hacking guide in wiki.
Who's using JSDuck?
- Appcelerator Titanium SDK
- AT&T API Platform SDK for HTML5
- Bryntum Siesta unit testing framework
- GeoExt 2
- Rally Software Rally App SDK
- Wikimedia Foundation MediaWiki and VisualEditor
- Sencha - obviously :)
These are some that we know of. Want your project listed here? Drop us a line.
JSDuck is distributed under the terms of the GNU General Public License version 3.
JSDuck was developed by Rene Saarsoo, with contributions from Nick Poulden, Ondřej Jirman, Thomas Aylott, Dave Thompson, Ed Spencer, Rob Dougan, Scott Whittaker, Timo Tijhof, Brian Moeskau, Garry Yao, Yasin Okumus, Nicholas Boll and Katherine Chu.
Many thanks goes also to those who have most eagerly reported bugs: Ryan Nauman, Raphael Franchet, atian25, burnnat, Raphael Pigulla, Dmitry Bakaleinik, Alan Lindsay, Corey Butler, Nickolay Platonov, Matt Greer, Richard and Dmitry Pashkevich.
There are lots of others I haven't named here, who have provided their input.
See the Releases page.