jsdoxy
A jsdoc-ish documentation generator forked from visionmedia/dox.
Differences from visionmedia/dox
- Allows multiline tag comments.
- Supports code context on string key properties like
someobject['asdf-jkl']
. - Code context and parsing for more things:
@event
@fires
@auth
@augments
- Uses a supported markdown parser (marked) instead of the old deprecated one.
- Includes a grunt plugin
jsdoxy
.- Comments are organized into a plain object with the
@class MyClass
tag as the key. - Optionally renders the JSON output using Jade.
- Comments are organized into a plain object with the
Usage
Note
You must use the @class
comment as your first comment per file. @class myClass
is used
to organize the output (this is different than the original Dox project. If you fail to do this,
you will have no output.
Globally
One file at a time.
npm install -g jsdoxy
You can do this from the terminal
$> jsdoxy --help
Usage: jsdoxy [options]
Options:
-h, --help output usage information
-V, --version output the version number
-r, --raw output "raw" comments, leaving the markdown intact
-a, --api output markdown readme documentation
-d, --debug output parsed comments for debugging
Examples:
# stdin
$ jsdoxy > myfile.json
# operates over stdio
$ jsdoxy < myfile.js > myfile.json
Grunt plugin
Multiple files at a time, organizing the output by the @class
tag, optionally rendered using a jade template.
Install the package to your project with NPM
npm install jsdoxy --save-dev
then in your source code, the @class
tag should always be part of the first comment
/** * A class that does something. * * Use it in this way. * @class MyClass * @param object opts Some parameters to get you started. */ { }
then inside Gruntfile.js
at the project root
grunt; grunt;
yields jsdoxy-output.json
Jade template
There is a default template which will be used unless you pass the config option template: false
.
If you pass an empty string or do not include anything, it will render using the
default-template.jade
in this repository.
The jade template will receive the following locals:
var jadeLocals = structure: organizedByClass comments: thisClassDocs className: classKey link: classCommentLink files: allFileLinks basePath: basePath filenameOut: filenameOut ;
Default template
Markdown files
Any markdown files with the extension .md
will be turned into HTML files and rendered
with the jade template.
Overriding the default template CSS classes
The following CSS classes are exposed:
.docs
.docs--sidebar
.docs--main
.docs--subtitle
.docs--title
License
(c) 2014 - 2015 Jeff H. Parrish
MIT
Forked from tj/dox