documentation
This would be a big one, we would need the whole town to pitch in.
The mission is to create a documentation generation system that's
beautiful by default, flexible across formats and styles, and
powerful enough to support JSDoc's advanced syntax.
We also have plenty of
issues that we'd
love help with.
Completed Goals
ES5 and ES6 support of JavaScript, with support for other transpilers a possibility
Using espree, we have support for a wide range of ES6 features.
Support for following dependency trees
Using module-deps, documentation
can
crawl require()
graphs - pointing it to your app's main
file will find all
referenced files and include all of their documentation.
GitHub Integration
The --github
option automatically permalinks documentation to the exact
sections of code it refers to in a GitHub repository.
Gulp integration
The gulp-documentation project
lets you run documentation
as a Gulp build task.
User Guide
Globally install documentation
using the npm package manager:
$ npm install -g documentation
This installs a command called documentation
in your path, that you can
point at JSDoc-annotated source code to generate
human-readable documentation. First run documentation
with the -h
option for help:
$ documentation -h
Usage: documentation <command> [options]
Options:
-f, --format output format, of [json, md, html] [default: "json"]
--lint check output for common style and uniformity mistakes
--mdtemplate markdown template: should be a file with Handlebars syntax
-p, --private generate documentation tagged as private
-g, --github infer links to github in documentation
-o, --output output location. omit for stdout, otherwise is a filename for
single-file outputs and a directory name for multi-file
outputs like html [default: "stdout"]
-h, --help Show help
Examples:
documentation foo.js parse documentation in a given file
Future Goals
- Robust and complete
JSDoc
support, including typedefs. - Strong support for HTML and Markdown output
- Documentation coverage, statistics, and validation
documentation is an OPEN Open Source Project. This means that:
Individuals making significant and valuable contributions are given
commit-access to the project to contribute as they see fit. This
project is more like an open wiki than a standard guarded open source project.