NDoc is an inline comment parser and JavaScript documentation generator written in Node.JS. This project was inspired by PDoc. It tries to keep compatibility, but has some differences:
- NDoc is primarily a CLI tool, so you don't need to code your documentor, although it can be easily used as library.
 - Clarified EBNF syntax. Definitions now MUST be separated with an empty line from the following comments.
 - Added options for 
deprecatedtag: you can set versions, when tag was deprecated and when method/property will be removed. - Added new tags: 
read-only,internal,chainable - Events support.
 
We suppose that you already have Node and npm installed.
If not - try nvm.
npm install -g ndocusage: ndoc [-h] [-v] [--exclude PATTERN] [-o PATH] [--use PLUGIN]
            [--alias MAPPING] [-r RENDERER] [--link-format FORMAT]
            [-t TEMPLATE] [--show-all] [--package PACKAGE] [--index FILE]
            [--gh-ribbon URL] [--broken-links ACTION] [--noenv]
            PATH[PATH ...]
Positional arguments:
  PATH                            Source files location
Optional arguments:
  -h, --help                      Show this help message and exit.
  -v, --version                   Show program's version number and exit.
  --exclude PATTERN               Glob patterns of filenames to exclude (you
                                  can use wildcards: ?, *, **).
  -o PATH, --output PATH          Resulting file(s) location.
  --use PLUGIN                    Load custom plugin.
  --alias MAPPING                 Registers extensions alias. For example
                                  `cc:js` will register `cc` extension as an
                                  alias of `js`
  -r RENDERER, --render RENDERER  Documentation renderer (html, json). More
                                  can be added by custom plugins.
  --link-format FORMAT            View sources link (no links by default)
                                  format. You can use `{file}` and `{line}`
                                  and any of `{package.*}` variables for
                                  interpolation.
  -t TEMPLATE, --title TEMPLATE   Documentation title template. You can use
                                  any of `{package.*}` variables for
                                  interpolation. DEFAULT: `{package.name}
                                  {package.version} API documentation`
  --show-all                      By default `internal` methods/properties
                                  are not shown. This trigger makes ndoc show
                                  all methods/properties
  --package PACKAGE               Read specified package.json FILE. When not
                                  specified, read ./package.json if such file
                                  exists.
  --index FILE                    Index file (with introduction text), e.g.
                                  README.md file.
  --gh-ribbon URL                 Add "Fork me on GitHub" ribbon with given
                                  URL. You can use any of `{package.*}`
                                  variables for interpolation.
  --broken-links ACTION           What to do if broken link occurred (show,
                                  hide, throw). DEFAULT: `show`.
  --noenv                         Ignore .ndocrc
NDoc Syntax. It is similar to PDoc one, with some extensions (see start of this doc for details).
You can generate prototype documentation for test:
make testThen open ./tests/prototype-doc/index.html.
You can create and use your own parser/renderer via --use option. Get one of
the parsers or renderers as a base template, copy it
into separate folder. Create package.json and modify it to fit your needs. Then
attach it with --use my-module argument.
You can use NDoc as module, for example, to override default options processing.
var NDoc = require('ndoc');
var options = {
  linkFormat  : 'http://example.com/{file}#{line}',
  output:     : 'doc'
};
var ast;
try {
  ast = NDoc.parse(['lib/my-module.js'], options);
} catch (err) {
  console.error(err);
  process.exit(1);
}
try {
  NDoc.render('html', ast, options);
} catch (err) {
  console.error(err);
  process.exit(1);
}This project is distributed under MIT license.