Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

nodeca/ndoc

Repository files navigation

NDoc - JavaScript documentation generator

CI

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 deprecated tag: you can set versions, when tag was deprecated and when method/property will be removed.
  • Added new tags: read-only, internal, chainable
  • Events support.

How to Install

We suppose that you already have Node and npm installed. If not - try nvm.

npm install -g ndoc

Usage

usage: 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

Syntax

NDoc Syntax. It is similar to PDoc one, with some extensions (see start of this doc for details).

For developers

You can generate prototype documentation for test:

make test

Then open ./tests/prototype-doc/index.html.

Custom parsers and renderers

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.

Using NDoc as module

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);
}

License

This project is distributed under MIT license.

About

js port of pdoc, with extentions

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 8

AltStyle によって変換されたページ (->オリジナル) /