Squashed commit of the following:
commit 5363a9850f1279c1ea5f916455899479aca71261
Author: Jeff Williams <jeffrey.l.williams@gmail.com>
Date: Sat Nov 1 15:13:33 2014 -0700
DRY out; delint; remove unused capture group
commit e3066068f91ba5f2c920cb5389eae15ac70f45aa
Author: Christopher D. Parks <christopher.daniel.parks@gmail.com>
Date: Fri Apr 25 16:32:20 2014 -0700
Add missing semi-colon caught by eslint
commit 7bd864eecba67df99bae7b338685bf6cf31e2516
Author: Christopher D. Parks <christopher.daniel.parks@gmail.com>
Date: Fri Apr 25 16:14:12 2014 -0700
Adding tests for fix #640
Without the fix, we get the following when running ./jsdoc -T
Failures:
jsdoc/name splitName
1) should allow default values to have brackets
Message:
Expected '[path=["home",' to be '[path=["home", "user"]]'.
Stacktrace:
undefined
2) should allow default values to have brackets
Message:
Expected '"user"]] - Path split into components' to be 'Path split into components'.
Stacktrace:
undefined
3) should allow default values to have brackets inside strings
Message:
Expected '[path=["Unmatched' to be '[path=["Unmatched begin: ["]]'.
Stacktrace:
undefined
4) should allow default values to have brackets inside strings
Message:
Expected 'begin: ["]] - Path split into components' to be 'Path split into components'.
Stacktrace:
undefined
Finished in 5.704 seconds
870 tests, 2331 assertions, 4 failures
These tests pass with the fix
commit 531b13893dc2c715e5cb988fdb872897547e6375
Author: Christopher D. Parks <christopher.daniel.parks@gmail.com>
Date: Fri Apr 25 15:59:47 2014 -0700
Fix for #640 - Allow default values for parameters to contain brackets
Because JSDoc uses brackets to delimit default values inside the @param tag,
default values containing brackets can get misparsed. We solve this by
redefining splitName() in terms of splitNameMatchingBrackets() which tries
to find the matching end bracket if the name starts with an open bracket.
Ignores brackets inside strings. If splitNameMatchingBrackets() fails to find
the closing bracket, we fall back to the original regex method.
JSDoc 3
An API documentation generator for JavaScript.
Want to contribute to JSDoc? Please read CONTRIBUTING.md.
Installation and Usage
You can run JSDoc on either Node.js or Mozilla Rhino.
Node.js
Native support for Node.js is available in JSDoc 3.3.0 and later. JSDoc supports Node.js 0.10 and later.
Installing JSDoc for Node.js
You can install JSDoc in your project's node_modules folder, or you can
install it globally.
To install the latest alpha version:
npm install jsdoc@"<=3.3.0"
To install the latest development version:
npm install git+https://github.com/jsdoc3/jsdoc.git
Running JSDoc with Node.js
If you installed JSDoc locally, the JSDoc command-line tool is available in
./node_modules/.bin. To generate documentation for the file
yourJavaScriptFile.js:
./node_modules/.bin/jsdoc yourJavaScriptFile.js
Or if you installed JSDoc globally, simply run the jsdoc command:
jsdoc yourJavaScriptFile.js
By default, the generated documentation is saved in a directory named out. You
can use the --destination (-d) option to specify another directory.
Run jsdoc --help for a complete list of command-line options.
Mozilla Rhino
All versions of JSDoc 3 run on a customized version of Mozilla Rhino, which requires Java. You can run JSDoc 3 on Java 1.6 and later.
Installing JSDoc for Mozilla Rhino
To install JSDoc, download a .zip file for the latest development version or a previous release.
You can also use git to clone the JSDoc repository:
git clone git+https://github.com/jsdoc3/jsdoc.git
The JSDoc repository includes a
customized version of Mozilla Rhino. Make
sure your Java classpath does not include any other versions of Rhino. (On OS X,
you may need to remove the file ~/Library/Java/Extensions/js.jar.)
Note: In JSDoc 3.3.0 and later, if you need to run JSDoc on Mozilla Rhino, do not install JSDoc with npm. Use one of the methods described above.
Running JSDoc with Mozilla Rhino
On OS X, Linux, and other POSIX systems, to generate documentation for the file
yourJavaScriptFile.js:
./jsdoc yourJavaScriptFile.js
Or on Windows:
jsdoc yourJavaScriptFile.js
By default, the generated documentation is saved in a directory named out. You
can use the --destination (-d) option to specify another directory.
Run jsdoc --help for a complete list of command-line options.
Templates and Build Tools
The JSDoc community has created numerous templates and other tools to help you generate and customize your documentation. Here are just a few:
Templates
Build Tools
For More Information
- Documentation is available at Use JSDoc.
- Contribute to the docs at jsdoc3/jsdoc3.github.com.
- Ask for help on the JSDoc Users mailing list.
- Post questions tagged
jsdocto Stack Overflow.
License
JSDoc 3 is copyright (c) 2011-2014 Michael Mathews micmath@gmail.com and the contributors to JSDoc.
JSDoc 3 is free software, licensed under the Apache License, Version 2.0. See
the file LICENSE.md in this distribution for more details.