mirror of
https://github.com/documentationjs/documentation.git
synced 2025-12-08 18:23:43 +00:00
- Previously, headers were displayed using `p` and `strong` tags. This is semantically incorrect, and would cause subheadings to display larger than headings for nested sections on platforms such as Github. - “Parameters”, “Properties”, and “Examples” now render as headings with a dynamic level greater than the heading they are nested under. BREAKING CHANGE: changes Markdown output
6.6 KiB
6.6 KiB
Table of Contents
lint
Lint files for non-standard or incorrect documentation information, returning a potentially-empty string of lint information intended for human-readable output.
Parameters
indexes(Array<string> | string) files to processargsObject argsargs.externalArray<string> a string regex / glob match pattern that defines what external modules will be whitelisted and included in the generated documentation.args.shallowboolean whether to avoid dependency parsing even in JavaScript code. (optional, defaultfalse)args.inferPrivatestring? a valid regular expression string to infer whether a code element should be private, given its naming structure. For instance, you can specifyinferPrivate: '^_'to automatically treat methods named like_myMethodas private.args.extension(string | Array<string>)? treat additional file extensions as JavaScript, extending the default set ofjs,es6, andjsx.
Examples
documentation.lint('file.js').then(lintOutput => {
if (lintOutput) {
console.log(lintOutput);
process.exit(1);
} else {
process.exit(0);
}
});
Returns Promise promise with lint results
build
Generate JavaScript documentation as a list of parsed JSDoc comments, given a root file as a path.
Parameters
indexes(Array<string> | string) files to processargsObject argsargs.externalArray<string> a string regex / glob match pattern that defines what external modules will be whitelisted and included in the generated documentation.args.shallowboolean whether to avoid dependency parsing even in JavaScript code. (optional, defaultfalse)args.orderArray<(string | Object)> optional array that defines sorting order of documentation (optional, default[])args.accessArray<string> an array of access levels to output in documentation (optional, default[])args.hljsObject? hljs optional argsargs.inferPrivatestring? a valid regular expression string to infer whether a code element should be private, given its naming structure. For instance, you can specifyinferPrivate: '^_'to automatically treat methods named like_myMethodas private.args.extension(string | Array<string>)? treat additional file extensions as JavaScript, extending the default set ofjs,es6, andjsx.
Examples
var documentation = require('documentation');
documentation.build(['index.js'], {
// only output comments with an explicit @public tag
access: ['public']
}).then(res => {
// res is an array of parsed comments with inferred properties
// and more: everything you need to build documentation or
// any other kind of code data.
});
Returns Promise results
formats
Documentation's formats are modular methods that take comments and config as input and return Promises with results, like stringified JSON, markdown strings, or Vinyl objects for HTML output.
formats.html
Formats documentation as HTML.
Parameters
commentsArray<Comment> parsed commentsconfigObject Options that can customize the outputconfig.themestring Name of a module used for an HTML theme. (optional, default'default_theme')
Examples
var documentation = require('documentation');
var streamArray = require('stream-array');
var vfs = require('vinyl-fs');
documentation.build(['index.js'])
.then(documentation.formats.html)
.then(output => {
streamArray(output).pipe(vfs.dest('./output-directory'));
});
Returns Promise<Array<Object>> Promise with results
formats.markdown
Formats documentation as Markdown.
Parameters
Examples
var documentation = require('documentation');
var fs = require('fs');
documentation.build(['index.js'])
.then(documentation.formats.md)
.then(output => {
// output is a string of Markdown data
fs.writeFileSync('./output.md', output);
});
Returns Promise<string> a promise of the eventual value
formats.json
Formats documentation as a JSON string.
Parameters
Examples
var documentation = require('documentation');
var fs = require('fs');
documentation.build(['index.js'])
.then(documentation.formats.json)
.then(output => {
// output is a string of JSON data
fs.writeFileSync('./output.json', output);
});