A documentation generation system that's beautiful by default, flexible across formats and styles, and powerful enough to support JSDoc's advanced syntax.
ES5 and ES6 support of JavaScript, with support for other transpilers a possibility
Using babel, we have support for a wide range of ES6 & ES7 features, as well as Flow type annotations.
Powerful inference
By statically analyzing your JavaScript code, documentation.js can write many parts of your documentation for you. It can infer parameter names and types, class membership, return values from Flow types, and lots more.
Support for C++
You can use the --polyglot
mode of documentationjs to document native node.js
modules in JSDoc within the C++ code that implements the feature.
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.
- Getting Started: start here
- Usage: how to use documentation.js
- Recipes: tricks for writing effective JSDoc docs
- Node API: documentation.js's self-generated documentation
- Configuring documentation.js
- FAQ
- Troubleshooting
- Theming: tips for theming documentation output in HTML
- See also: a list of projects similar to documentation.js
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:
Usage:
# generate markdown docs for index.js and files it references
bin/documentation.js build index.js -f md
# generate html docs for all files in src
bin/documentation.js build src/** -f html -o docs
# document index.js, ignoring any files it requires or imports
bin/documentation.js build index.js -f md --shallow
# build and serve html docs for app.js
bin/documentation.js serve app.js
# build, serve, and live-update html docs for app.js
bin/documentation.js serve --watch app.js
# validate JSDoc syntax in util.js
bin/documentation.js lint util.js
# update the API section of README.md with docs from index.js
bin/documentation.js readme index.js --section=API
# build docs for all values exported by index.js
bin/documentation.js build --document-exported index.js
Commands:
serve [input..] generate, update, and display HTML documentation
build [input..] build documentation
lint [input..] check for common style and uniformity mistakes
readme [input..] inject documentation into your README.md
Options:
--version Show version number [boolean]
--help Show help [boolean]
We have plenty of issues that we'd love help with.
- 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.