1
1
## What is ` documentation ` ?
2
2
3
- This is a documentation generation system targeting JavaScript code and implemented
3
+ ` documentation ` is a documentation generation system that targets JavaScript code; and is itself implemented
4
4
in JavaScript. It exposes multiple interfaces for users:
5
5
6
6
* with ` npm i -g documentation ` , it provides a binary for command-line usage
7
7
* install ` documentation ` with ` npm ` to use the node-facing interace
8
8
9
9
` documentation ` runs in [ node.js] ( https://nodejs.org/ ) but supports JavaScript
10
- that runs in _ any environment_ : you can use it to document browser libraries,
11
- server libraries, or even things that use RequireJS or other module systems .
10
+ that runs in _ any environment_ . You can use it to document browser libraries,
11
+ server libraries, and wherever RequireJS or another module system is used .
12
12
13
13
## How do I use ` documentation ` ?
14
14
15
15
There are two main ways:
16
16
17
17
* You use the ` documentation ` command on your command-line to generate docs
18
- from your source code
18
+ from your source code.
19
19
* You use one of the integrations with a build system like Gulp to generate
20
20
docs from source code.
21
21
22
22
## How does ` documentation ` differ from JSDoc?
23
23
24
- JSDoc is both a ** standard syntax for documentating code** as well as a
24
+ JSDoc is both a ** standard syntax for documentating code** and an
25
25
application, also called ` jsdoc ` , that processes that syntax into documentation.
26
26
27
27
` documentation ` uses the JSDoc syntax and provides an alternative to the ` jsdoc `
@@ -35,24 +35,24 @@ documentation.
35
35
* Beatiful defaults for HTML & Markdown output
36
36
* Supports CommonJS ` require() ` syntax so that node modules can be documented
37
37
by giving their ` main ` file
38
- * Heavily documented internally: all public and private functions in ` documentation `
38
+ * Extensively documented internally: all public and private functions in ` documentation `
39
39
are documented. [ JSDoc is not well documented internally] ( https://github.com/jsdoc3/jsdoc/issues/839 ) .
40
40
* Robust ES6 support
41
41
* [ No Rhino cruft] ( https://github.com/jsdoc3/jsdoc/issues/942 )
42
42
* Uses JSON literal objects for data representation instead of the [ abandoned] ( https://github.com/typicaljoe/taffydb/graphs/contributors )
43
43
and [ untagged] ( https://github.com/jsdoc3/jsdoc/blob/master/package.json#L25 ) [ TaffyDB] ( http://www.taffydb.com/ ) project.
44
44
* Uses high-quality node modules for syntax parsing, argument parsing, and other
45
45
tasks: separates concerns so that we can focus on a robust solution
46
- * Customization points like plugins & templates are heavily documented and
47
- made to be flexible
46
+ * Customization points like plugins & templates are well documented and
47
+ flexible
48
48
49
49
## Why use ` documentation ` instead of writing a Markdown file by hand?
50
50
51
- * ` documentation ` can generate multiple formats: when you create a project
52
- website, it can take the structure of your documentation and generate
53
- beautiful HTML output
54
- * The JSDoc syntax exposes a powerful, standardized type syntax to make it
55
- simple and clear to express parameter types like 'an array of strings'
51
+ * ` documentation ` can generate multiple formats. When you create a
52
+ website, ` documentation ` can take your documentation and generate
53
+ beautiful HTML output.
54
+ * The JSDoc syntax exposes a powerful, standardized type syntax to, for example,
55
+ express parameter types like 'an array of strings'.
56
56
as ` Array<String> ` , and to support custom object types with inter-linking
57
57
* The [ eslint valid-jsdoc rule] ( http://eslint.org/docs/rules/valid-jsdoc.html )
58
58
makes it possible to require documentation as part of your linting step,
@@ -61,8 +61,8 @@ documentation.
61
61
## Which files does documentation.js include?
62
62
63
63
By default, ` documentation.js ` follows dependencies within your source tree
64
- and excludes ` node_modules ` from results. This is meant to include your application
65
- code automatically but avoid documenting the random npm modules you're
64
+ and excludes ` node_modules ` from results. This is meant to process your application
65
+ code automatically but avoid documenting the npm modules you're
66
66
using.
67
67
68
68
This means that if you point ` documentation.js ` at your ` index.js ` file and
@@ -71,7 +71,7 @@ those source files will be documented too.
71
71
72
72
You can customize this behavior by specifying the ` --shallow ` command-line
73
73
option. With ` --shallow ` specified, dependendencies aren't followed: documentation.js
74
- documents only the files you explicitly name.
74
+ processes only those files you explicitly name.
75
75
76
76
If you're using ES modules, you enable the option ` --document-exported ` to automatically
77
77
document all exported bindings in your project, even if they don't have JSDoc comments.
0 commit comments