diff --git a/Jake/articles/about-commandline b/Jake/articles/about-commandline new file mode 100644 index 00000000..3a885628 --- /dev/null +++ b/Jake/articles/about-commandline @@ -0,0 +1,132 @@ + +

+At its most basic level, JSDoc is used like so: +

+ +{{#example}} +/path/to/jsdoc yourSourceCodeFile.js anotherSourceCodeFile.js ... +{{/example}} + +

+where ... are paths to other files to generate documentation for.

+ +

Additionally, one may provide the path to a markdown file (ending in ".md") or a file named "README", and this will be added to the documentation on the front page. See these instructions.

+ +

JSDoc supports a number of command-line options, many of which have both long and short forms. +Alternatively, the command-line options may be specified in a configuration file given to JSDoc. The command-line options are:

+ +
+
-t, --template <value>
+
+ The name of the template to use for JSDoc's output. + The default is the "default" template (JSDoc has another template that comes with it, "haruki"). +
+
-c, --configure <value>
+
+ The path to a configuration file to use to further tailor JSDoc's output (see the Configuration File section). + The default is conf.json in the jsdoc executable's directory, or conf.json.EXAMPLE in the same directory if conf.json was not found. +
+
-e, --encoding <value>
+
+ Assume this encoding when reading all source files. Default: utf8. +
+
-d, --destination <value>
+
+ The path to the output folder where all the generated documentation will be placed. + Use "console" to dump data to the console. Default: ./out/. +
+
-r, --recurse
+
+ If one of the paths given to jsdoc is a directory, use this flag to recurse into subdirectories when scanning for source code files. +
+
-u, --tutorials <value>
+
+ Directory in which JSDoc should search for tutorials. If it is not included, no tutorials pages will be generated. + See the tutorials instructions for how to add tutorials to your project. +
+
-p, --private
+
+ By default, symbols marked with the @private tag are not included in the output documentation. + If this flag is provided, then they will be. +
+
-l, --lenient
+
+ By default, if JSDoc encounters an error while parsing and generating documentation, it will halt and display the error to the user. + If the lenient flag is provided it will continue to generate output even if this occurs. +
+
-q, --query <value>
+
+ A query string to parse and store in env.opts.query. Example: "foo=bar&baz=true". TODO: where is this used? +
+
+ +

The following flags will cause JSDoc to do something else rather than generating documentation:

+ +
+
-X, --explain
+
+ This dumps information about all the doclets found in the files to the console and quits. +
+ +
-h, --help
+
+ Prints information about all the command-line options and quits. +
+ +
--version
+
+ Displays JSDoc's version number and quits. +
+ +
-T, --test
+
+ Runs all JSDoc tests, printing the results to the console, and quits. +
+ +
+ +

The following options affect JSDoc's behaviour when it is running tests (i.e. the -T or --test option was given):

+ +
+
--verbose
+
+ Display verbose output for tests (write the test names and descriptions to the console). +
+ +
--match <value>
+
+ Only run tests containing <value>. +
+ +
--nocolor
+
+ Do not use color in console output from tests. +
+ +
+ +

Examples

+{{#example}}Example +/path/to/jsdoc src -r -t haruki -c /path/to/my/conf.json -d docs +{{/example}} + +

The above will generate documentation for all relevant files found in the src directory, using /path/to/my/conf.json as its configuration file. +The output documentation will use the Haruki template and be in folder docs (relative to the current directory).

+ +{{#example}}Another example +/path/to/jsdoc -T --match 'tag' --verbose +{{/example}} + +

The above will run all of JSDoc's tests that have 'tag' in the title (e.g. '@since tag', '@exports tag'), writing all the test names and descriptions to the console.

+ +

See Also

+ + + diff --git a/Jake/articles/about-configuring-jsdoc b/Jake/articles/about-configuring-jsdoc new file mode 100644 index 00000000..9f2673a2 --- /dev/null +++ b/Jake/articles/about-configuring-jsdoc @@ -0,0 +1,305 @@ + +

Table of Contents

+ + + +

Configuration File

+ +

To customise JSDoc's behaviour one can provide a configuration file in JSON format to JSDoc using the -c option, e.g. jsdoc -c /path/to/conf.json.

+ +

This file (typically named "conf.json") provides options in JSON format. +Have a look at "conf.json.EXAMPLE" in the JSDoc directory as a basic example. +If you do not specify a configuration file, this is what JSDoc will use:

+ +{{#example}}conf.json.EXAMPLE +{ + "tags": { + "allowUnknownTags": true + }, + "source": { + "includePattern": ".+\\.js(doc)?$", + "excludePattern": "(^|\\/|\\\\)_" + }, + "plugins": [], + "templates": { + "cleverLinks": false, + "monospaceLinks": false + }, + "jsVersion": 180 +} +{{/example}} +

This means: +

+

+ +

+These options and others will be further explained on this page. +A full example is provided at the end. +

+ +

Further settings may be added to the file as requested by various plugins or templates (for example, the markdown plugin can be configured by including a "markdown" key).

+ +

Specifying input files

+ +

The "source" set of options, in combination with paths given to JSDoc on the command-line, determine what files JSDoc generates documentation for.

+ +{{#example}} + ... + "source": { + "include": [ /* array of paths to files to generate documentation for */ ], + "exclude": [ /* array of paths to exclude */ ], + "includePattern": ".+\\.js(doc)?$", + "excludePattern": "(^|\\/|\\\\)_" + }, + ... +{{/example}} + + + +

The order that these options are used in is:

+ +
    +
  1. Start with all paths given on the command line and in source.include for files (recall that using the -r command-line option will search within subdirectories).
  2. +
  3. For each file found in Step 1, if the regular expression source.includePattern is present, the file must match it or it is ignored.
  4. +
  5. For each file left from Step 2, if the regular expression source.excludePattern is present, any file matching this is ignored.
  6. +
  7. For each file left from Step 3, if the path is in source.exclude it is ignored.
  8. +
+ +

All remaining files after these four steps are parsed by JSDoc.

+ +

As an example, suppose I have the following file structure:

+ +{{#example}} +myProject/ +|- a.js +|- b.js +|- c.js +|- _private +| |- a.js +|- lib/ + |- a.js + |- ignore.js + |- d.txt +{{/example}} + +

And I set the "source" part of my conf.json like so:

+ +{{#example}} + ... + "source": { + "include": [ 'myProject/a.js', 'myProject/lib', 'myProject/_private' ], + "exclude": [ 'myProject/lib/ignore.js' ], + "includePattern": ".+\\.js(doc)?$", + "excludePattern": "(^|\\/|\\\\)_" + }, + ... +{{/example}} + +

If I run JSDoc like this from the file containing the myProject folder:

+ +{{#example}} +jsdoc myProject/c.js -c /path/to/my/conf.json -r +{{/example}} + +

Then JSDoc will make documentation for the files:

+ + + +

The reasoning is as follows:

+ +
    +
  1. Based off source.include and the paths given on the command line, we start off with files + +
  2. +
  3. Apply source.includePattern, so that we are left with all of the above except myProject/lib/d.txt (as it does not end in ".js" or ".jsdoc").
  4. +
  5. Apply source.excludePattern, which will remove myProject/_private/a.js.
  6. +
  7. Apply source.exclude, which will remove myProject/lib/ignore.js.
  8. +
+ +

+Incorporating command-line options into the configuration file +

+ +

It is possible to put many of JSDoc's command-line options into the configuration file instead of specifying them on the command-line. +To do this, use the longnames of the relevant options in an "opts" section of conf.json with the value being the option's value.

+ +{{#example}}opts + ... + "opts": { + "template": "default", // same as -t default + "encoding": "utf8", // same as -e utf8 + "destination": "./out/", // same as -d ./out/ + "recurse": true, // same as -r + "tutorials": "path/to/tutorials", // same as -u path/to/tutorials + "query": "value", // same as -q value + "private": true, // same as -p + "lenient": true, // same as -l + // these can also be included, though you probably wouldn't bother + // putting these in conf.json rather than the command line as they cause + // JSDoc not to produce documentation. + "version": true, // same as --version + "explain": true, // same as -X + "test": true, // same as -T + "help": true, // same as --help or -h + "verbose": true, // same as --verbose, only relevant to tests. + "match": "value", // same as --match value, only relevant to tests. + "nocolor": true // same as --nocolor, only relevant to tests + }, + ... +{{/example}} + +

Hence between source.include and opts it's possible to put all of jsdoc's arguments in a configuration file so that the command-line reduces to:

+ +{{#example}} + jsdoc -c /path/to/conf.json +{{/example}} + +

In the case of options being provided on the command line and in conf.json, the command line takes precedence.

+ + +

+Plugins +

+

To enable plugins, add their paths (relative to the JSDoc folder) into the plugins array.

+ +

For example, the following will include the Markdown plugin and verbose output plugin:

+ +{{#example}} + ... + "plugins": [ + "plugins/markdown", + "plugins/verboseOutput" + ] + ... +{{/example}} + +

See the plugin reference for further information, and look in jsdoc/plugins for the plugins built-in to JSDoc.

+ +

The Markdown plugin can be configured by including a "markdown" object into conf.json; see Configuring the Markdown Plugin for further information.

+ +

Output style configuration

+ +

The options in templates affect how JSDoc's output looks (although custom templates may not be affected by these, depending on how they are coded).

+ +{{#example}} + ... + "templates": { + "cleverLinks": false, + "monospaceLinks": false + }, + ... +{{/example}} + +

If templates.monospaceLinks is true, all link texts from the @link tag will be rendered in monospace.

+ +

If templates.cleverLinks is true, {@link asdf} will be rendered in normal font if "asdf" is a URL, and monospace otherwise. +For example, "{@link http://github.com}" will render in plain-text but "{@link MyNamespace.myFunction}" will be in monospace.

+ +

If templates.cleverLinks is true, it is used and templates.monospaceLinks is ignored.

+ +

Also, there are {@linkcode ...} and {@linkplain ...} if one wishes to force the link to be rendered in monospace or normal font respectively (see @link, @linkcode and @linkplain for further information).

+ +

Miscellaneous

+ +

The tags.allowUnknownTags property determines whether tags unrecognised by JSDoc are permitted. +If this is false and JSDoc encounters a tag it does not recognise (e.g. @foobar), it will throw an error. +Otherwise, it will just ignore the tag.

+ +

By default, it is true.

+ +{{#example}} + ... + "tags": { + "allowUnknownTags": true + }, + ... +{{/example}} + +

The tags.jsVersion tag should be left as-is.

+ +

+Example with all configuration options +

+ +

Here is an example conf.json showing all possible configuration options native to the base JSDoc, along with their default values.

+ +{{#example}}A conf.json showcasing all the configuration options to base JSDoc. + { + "tags": { + "allowUnknownTags": true + }, + "source": { + "include": [], + "exclude": [], + "includePattern": ".+\\.js(doc)?$", + "excludePattern": "(^|\\/|\\\\)_" + }, + "plugins": [], + "templates": { + "cleverLinks": false, + "monospaceLinks": false + }, + "opts": { + "template": "default", // same as -t default + "encoding": "utf8", // same as -e utf8 + "destination": "./out/", // same as -d ./out/ + "recurse": true, // same as -r + "tutorials": "path/to/tutorials", // same as -u path/to/tutorials, default "" (no tutorials) + "query": "value", // same as -q value, default "" (no query) + "private": true, // same as -p + "lenient": true, // same as -l + // these can also be included, though you probably wouldn't bother + // putting these in conf.json rather than the command line as they cause + // JSDoc not to produce documentation. + "version": true, // same as --version + "explain": true, // same as -X + "test": true, // same as -T + "help": true, // same as --help or -h + "verbose": true, // same as --verbose, only relevant to tests. + "match": "value", // same as --match value, only relevant to tests. + "nocolor": true // same as --nocolor, only relevant to tests + }, + "jsVersion": 180 + } +{{/example}} + + +

See Also

+ + + diff --git a/Jake/articles/index b/Jake/articles/index index 9f2b54d5..58b6887e 100644 --- a/Jake/articles/index +++ b/Jake/articles/index @@ -36,6 +36,10 @@
Additional longtext tutorials for your code.
Adding Content to Index.html
Using Readme files to add content to the default index.html
+
Command-line options to JSDoc 3
+
About the command-line options JSDoc supports.
+
Configuring JSDoc 3 with conf.json
+
How to configure JSDoc's output with a configuration file.
All about plugins
Installing plugins and writing your own.
Configuring the markdown plugin
diff --git a/about-commandline.html b/about-commandline.html new file mode 100644 index 00000000..1d06475a --- /dev/null +++ b/about-commandline.html @@ -0,0 +1,329 @@ + + + + + Use JSDoc: Command-line arguments to JSDoc + + + + + + + + + + +
+ @use JSDoc +
+ + + +
+

Command-line arguments to JSDoc

+ +

+At its most basic level, JSDoc is used like so: +

+ +
+
+
+
+/path/to/jsdoc yourSourceCodeFile.js anotherSourceCodeFile.js ...
+
+
+
+

+where ... are paths to other files to generate documentation for.

+ +

Additionally, one may provide the path to a markdown file (ending in ".md") or a file named "README", and this will be added to the documentation on the front page. See these instructions.

+ +

JSDoc supports a number of command-line options, many of which have both long and short forms. +Alternatively, the command-line options may be specified in a configuration file given to JSDoc. The command-line options are:

+ +
+
-t, --template <value>
+
+ The name of the template to use for JSDoc's output. + The default is the "default" template (JSDoc has another template that comes with it, "haruki"). +
+
-c, --configure <value>
+
+ The path to a configuration file to use to further tailor JSDoc's output (see the Configuration File section). + The default is conf.json in the jsdoc executable's directory, or conf.json.EXAMPLE in the same directory if conf.json was not found. +
+
-e, --encoding <value>
+
+ Assume this encoding when reading all source files. Default: utf8. +
+
-d, --destination <value>
+
+ The path to the output folder where all the generated documentation will be placed. + Use "console" to dump data to the console. Default: ./out/. +
+
-r, --recurse
+
+ If one of the paths given to jsdoc is a directory, use this flag to recurse into subdirectories when scanning for source code files. +
+
-u, --tutorials <value>
+
+ Directory in which JSDoc should search for tutorials. If it is not included, no tutorials pages will be generated. + See the tutorials instructions for how to add tutorials to your project. +
+
-p, --private
+
+ By default, symbols marked with the @private tag are not included in the output documentation. + If this flag is provided, then they will be. +
+
-l, --lenient
+
+ By default, if JSDoc encounters an error while parsing and generating documentation, it will halt and display the error to the user. + If the lenient flag is provided it will continue to generate output even if this occurs. +
+
-q, --query <value>
+
+ A query string to parse and store in env.opts.query. Example: "foo=bar&baz=true". TODO: where is this used? +
+
+ +

The following flags will cause JSDoc to do something else rather than generating documentation:

+ +
+
-X, --explain
+
+ This dumps information about all the doclets found in the files to the console and quits. +
+ +
-h, --help
+
+ Prints information about all the command-line options and quits. +
+ +
--version
+
+ Displays JSDoc's version number and quits. +
+ +
-T, --test
+
+ Runs all JSDoc tests, printing the results to the console, and quits. +
+ +
+ +

The following options affect JSDoc's behaviour when it is running tests (i.e. the -T or --test option was given):

+ +
+
--verbose
+
+ Display verbose output for tests (write the test names and descriptions to the console). +
+ +
--match <value>
+
+ Only run tests containing <value>. +
+ +
--nocolor
+
+ Do not use color in console output from tests. +
+ +
+ +

Examples

+
+
Example
+
+
+/path/to/jsdoc src -r -t haruki -c /path/to/my/conf.json -d docs
+
+
+
+

The above will generate documentation for all relevant files found in the src directory, using /path/to/my/conf.json as its configuration file. +The output documentation will use the Haruki template and be in folder docs (relative to the current directory).

+ +
+
Another example
+
+
+/path/to/jsdoc -T --match 'tag' --verbose
+
+
+
+

The above will run all of JSDoc's tests that have 'tag' in the title (e.g. '@since tag', '@exports tag'), writing all the test names and descriptions to the console.

+ +

See Also

+ + + + +
+ + + + + + diff --git a/about-configuring-jsdoc.html b/about-configuring-jsdoc.html new file mode 100644 index 00000000..497f041a --- /dev/null +++ b/about-configuring-jsdoc.html @@ -0,0 +1,534 @@ + + + + + Use JSDoc: Configuring JSDoc with conf.json + + + + + + + + + + +
+ @use JSDoc +
+ + + +
+

Configuring JSDoc with conf.json

+ +

Table of Contents

+ + + +

Configuration File

+ +

To customise JSDoc's behaviour one can provide a configuration file in JSON format to JSDoc using the -c option, e.g. jsdoc -c /path/to/conf.json.

+ +

This file (typically named "conf.json") provides options in JSON format. +Have a look at "conf.json.EXAMPLE" in the JSDoc directory as a basic example. +If you do not specify a configuration file, this is what JSDoc will use:

+ +
+
conf.json.EXAMPLE
+
+
+{
+    "tags": {
+        "allowUnknownTags": true
+    },
+    "source": {
+        "includePattern": ".+\\.js(doc)?$",
+        "excludePattern": "(^|\\/|\\\\)_"
+    },
+    "plugins": [],
+    "templates": {
+        "cleverLinks": false,
+        "monospaceLinks": false
+    },
+    "jsVersion": 180
+}
+
+
+
+

This means: +

+

+ +

+These options and others will be further explained on this page. +A full example is provided at the end. +

+ +

Further settings may be added to the file as requested by various plugins or templates (for example, the markdown plugin can be configured by including a "markdown" key).

+ +

Specifying input files

+ +

The "source" set of options, in combination with paths given to JSDoc on the command-line, determine what files JSDoc generates documentation for.

+ +
+
+
+
+...
+"source": {
+    "include": [ /* array of paths to files to generate documentation for */ ],
+    "exclude": [ /* array of paths to exclude */ ],
+    "includePattern": ".+\\.js(doc)?$",
+    "excludePattern": "(^|\\/|\\\\)_"
+},
+...
+
+
+
+
+ +

The order that these options are used in is:

+ +
    +
  1. Start with all paths given on the command line and in source.include for files (recall that using the -r command-line option will search within subdirectories).
  2. +
  3. For each file found in Step 1, if the regular expression source.includePattern is present, the file must match it or it is ignored.
  4. +
  5. For each file left from Step 2, if the regular expression source.excludePattern is present, any file matching this is ignored.
  6. +
  7. For each file left from Step 3, if the path is in source.exclude it is ignored.
  8. +
+ +

All remaining files after these four steps are parsed by JSDoc.

+ +

As an example, suppose I have the following file structure:

+ +
+
+
+
+myProject/
+|- a.js
+|- b.js
+|- c.js
+|- _private
+|  |- a.js
+|- lib/
+   |- a.js
+   |- ignore.js
+   |- d.txt
+
+
+
+

And I set the "source" part of my conf.json like so:

+ +
+
+
+
+...
+"source": {
+    "include": [ 'myProject/a.js', 'myProject/lib', 'myProject/_private' ],
+    "exclude": [ 'myProject/lib/ignore.js' ],
+    "includePattern": ".+\\.js(doc)?$",
+    "excludePattern": "(^|\\/|\\\\)_"
+},
+...
+
+
+
+

If I run JSDoc like this from the file containing the myProject folder:

+ +
+
+
+
+jsdoc myProject/c.js -c /path/to/my/conf.json -r
+
+
+
+

Then JSDoc will make documentation for the files:

+ + + +

The reasoning is as follows:

+ +
    +
  1. Based off source.include and the paths given on the command line, we start off with files + +
      +
    • myProject/c.js (from the command line)
    • +
    • myProject/a.js (from source.include)
    • +
    • myProject/lib/a.js, myProject/lib/ignore.js, myProject/lib/d.txt (from source.include and using the -r option)
    • +
    • myProject/_private/a.js (from source.include)
    • +
  2. +
  3. Apply source.includePattern, so that we are left with all of the above except myProject/lib/d.txt (as it does not end in ".js" or ".jsdoc").
  4. +
  5. Apply source.excludePattern, which will remove myProject/_private/a.js.
  6. +
  7. Apply source.exclude, which will remove myProject/lib/ignore.js.
  8. +
+ +

+Incorporating command-line options into the configuration file +

+ +

It is possible to put many of JSDoc's command-line options into the configuration file instead of specifying them on the command-line. +To do this, use the longnames of the relevant options in an "opts" section of conf.json with the value being the option's value.

+ +
+
opts
+
+
+...
+"opts": {
+    "template": "default",            // same as -t default
+    "encoding": "utf8",               // same as -e utf8
+    "destination": "./out/",          // same as -d ./out/
+    "recurse": true,                  // same as -r
+    "tutorials": "path/to/tutorials", // same as -u path/to/tutorials
+    "query": "value",                 // same as -q value
+    "private": true,                  // same as -p
+    "lenient": true,                  // same as -l
+    // these can also be included, though you probably wouldn't bother
+    // putting these in conf.json rather than the command line as they cause
+    // JSDoc not to produce documentation. 
+    "version": true,                  // same as --version
+    "explain": true,                  // same as -X
+    "test": true,                     // same as -T
+    "help": true,                     // same as --help or -h
+    "verbose": true,                  // same as --verbose, only relevant to tests.
+    "match": "value",                 // same as --match value, only relevant to tests.
+    "nocolor": true                   // same as --nocolor, only relevant to tests
+},
+...
+
+
+
+

Hence between source.include and opts it's possible to put all of jsdoc's arguments in a configuration file so that the command-line reduces to:

+ +
+
+
+
+jsdoc -c /path/to/conf.json
+
+
+
+

In the case of options being provided on the command line and in conf.json, the command line takes precedence.

+ + +

+Plugins +

+

To enable plugins, add their paths (relative to the JSDoc folder) into the plugins array.

+ +

For example, the following will include the Markdown plugin and verbose output plugin:

+ +
+
+
+
+...
+"plugins": [
+    "plugins/markdown",
+    "plugins/verboseOutput"
+]
+...
+
+
+
+

See the plugin reference for further information, and look in jsdoc/plugins for the plugins built-in to JSDoc.

+ +

The Markdown plugin can be configured by including a "markdown" object into conf.json; see Configuring the Markdown Plugin for further information.

+ +

Output style configuration

+ +

The options in templates affect how JSDoc's output looks (although custom templates may not be affected by these, depending on how they are coded).

+ +
+
+
+
+...
+"templates": {
+    "cleverLinks": false,
+    "monospaceLinks": false
+},
+...
+
+
+
+

If templates.monospaceLinks is true, all link texts from the @link tag will be rendered in monospace.

+ +

If templates.cleverLinks is true, {@link asdf} will be rendered in normal font if "asdf" is a URL, and monospace otherwise. +For example, "{@link http://github.com}" will render in plain-text but "{@link MyNamespace.myFunction}" will be in monospace.

+ +

If templates.cleverLinks is true, it is used and templates.monospaceLinks is ignored.

+ +

Also, there are {@linkcode ...} and {@linkplain ...} if one wishes to force the link to be rendered in monospace or normal font respectively (see @link, @linkcode and @linkplain for further information).

+ +

Miscellaneous

+ +

The tags.allowUnknownTags property determines whether tags unrecognised by JSDoc are permitted. +If this is false and JSDoc encounters a tag it does not recognise (e.g. @foobar), it will throw an error. +Otherwise, it will just ignore the tag.

+ +

By default, it is true.

+ +
+
+
+
+...
+"tags": {
+    "allowUnknownTags": true
+},
+...
+
+
+
+

The tags.jsVersion tag should be left as-is.

+ +

+Example with all configuration options +

+ +

Here is an example conf.json showing all possible configuration options native to the base JSDoc, along with their default values.

+ +
+
A conf.json showcasing all the configuration options to base JSDoc.
+
+
+{
+    "tags": {
+        "allowUnknownTags": true
+    },
+    "source": {
+        "include": [],
+        "exclude": [],
+        "includePattern": ".+\\.js(doc)?$",
+        "excludePattern": "(^|\\/|\\\\)_"
+    },
+    "plugins": [],
+    "templates": {
+        "cleverLinks": false,
+        "monospaceLinks": false
+    },
+    "opts": {
+        "template": "default",            // same as -t default
+        "encoding": "utf8",               // same as -e utf8
+        "destination": "./out/",          // same as -d ./out/
+        "recurse": true,                  // same as -r
+        "tutorials": "path/to/tutorials", // same as -u path/to/tutorials, default "" (no tutorials)
+        "query": "value",                 // same as -q value, default "" (no query)
+        "private": true,                  // same as -p
+        "lenient": true,                  // same as -l
+        // these can also be included, though you probably wouldn't bother
+        // putting these in conf.json rather than the command line as they cause
+        // JSDoc not to produce documentation. 
+        "version": true,                  // same as --version
+        "explain": true,                  // same as -X
+        "test": true,                     // same as -T
+        "help": true,                     // same as --help or -h
+        "verbose": true,                  // same as --verbose, only relevant to tests.
+        "match": "value",                 // same as --match value, only relevant to tests.
+        "nocolor": true                   // same as --nocolor, only relevant to tests
+    },
+    "jsVersion": 180
+}
+
+
+
+

See Also

+ + + + +
+ + + + + + diff --git a/index.html b/index.html index dbae8157..8d5c0055 100644 --- a/index.html +++ b/index.html @@ -209,6 +209,10 @@

Getting Started

Additional longtext tutorials for your code.
Adding Content to Index.html
Using Readme files to add content to the default index.html
+
Command-line options to JSDoc 3
+
About the command-line options JSDoc supports.
+
Configuring JSDoc 3 with conf.json
+
How to configure JSDoc's output with a configuration file.
All about plugins
Installing plugins and writing your own.
Configuring the markdown plugin
@@ -235,57 +239,67 @@

Contribute

JSDoc 3 Tag Dictionary

-
@augments
-
This object adds onto a parent object.
@author
-
Documents the author of an item.
@borrows
-
This object uses something from another object.
@callback
-
Document a callback function.
@classdesc
-
Use the following text to describe the entire class.
@constant
-
Document an object as a constant.
@constructor
-
This function is intended to be called with the "new" keyword.
@constructs
-
This function member will be the constructor for the previous class.
@copyright
-
Document some copyright information.
@default
-
Document the default value.
@deprecated
-
Document that this is no longer the preferred way.
@desc
-
Describe the object.
@enum
-
Document a collection of related properties.
@event
-
Document an event.
@example
-
Provide an example of how to use a documented item.
@exports
-
Document the name of a JavaScript module.
@file
-
Describe a file.
@fires
-
Describe the events this method may fire.
@global
-
Document a global object.
@ignore
+
@event
+
Document an event.
@deprecated
+
Document that this is no longer the preferred way.
@mixes
+
[todo] This object mixes in all the members from another object.
@constant
+
Document an object as a constant.
@summary
+
[todo] A shorter version of the full description.
@abstract
+
This member is meant to be abstract.
@memberof
+
[todo] This object is a member or another object.
@constructor
+
This function is intended to be called with the "new" keyword.
@tagname
+
[todo]
@requires
+
[todo] This JavaScript module requires another JavaScript module.
@version
+
Documents the version number of an item.
@throws
+
[todo] Describe what errors could be thrown.
@classdesc
+
Use the following text to describe the entire class.
@author
+
Documents the author of an item.
@kind
+
[todo] What kind of object is this?
@member
+
[todo] Document a member.
@since
+
[todo] When was this feature added?
@access
+
Specify the access level of this member - private, public, or protected.
@borrows
+
This object uses something from another object.
@mixin
+
[todo] Document a mix-in object.
@see
+
[todo] Refer to some other documentation for more information.
@tagname
+
[todo]
@file
+
Describe a file.
@example
+
Provide an example of how to use a documented item.
@tutorial
+
Insert a link to an included tutorial file.
@license
+
[todo] Document the software license that applies to this code.
@fires
+
Describe the events this method may fire.
@callback
+
Document a callback function.
@module
+
[todo] Document a JavaScript module.
@protected
+
[todo] This member is meant to be protected.
@typedef
+
[todo] Document a custom type.
@global
+
Document a global object.
@public
+
[todo] This member is meant to be public.
@this
+
[todo] What does the this keyword refer to here?
@readonly
+
[todo] This variable is meant to be readonly.
@augments
+
This object adds onto a parent object.
@type
+
[todo] Document the type of an object.
@tagname
+
[todo]
@tagname
+
[todo]
@exports
+
Document the name of a JavaScript module.
@constructs
+
This function member will be the constructor for the previous class.
@ignore
[todo] Remove this from the final output.
@inner
-
[todo] Document an inner object.
@instance
-
[todo] Document an instance member.
@kind
-
[todo] What kind of object is this?
@license
-
[todo] Document the software license that applies to this code.
@member
-
[todo] Document a member.
@memberof
-
[todo] This object is a member or another object.
@method
-
[todo] Describe a method or function.
@mixes
-
[todo] This object mixes in all the members from another object.
@mixin
-
[todo] Document a mix-in object.
@module
-
[todo] Document a JavaScript module.
@name
+
[todo] Document an inner object.
@todo
+
[todo] Document tasks to be completed for an object.
@property
+
Document a property of an object.
@returns
+
Document the return value of a function.
@static
+
Document a static member.
@param
+
>Document the parameter to a function.
@copyright
+
Document some copyright information.
@desc
+
Describe the object.
@instance
+
[todo] Document an instance member.
@external
+
[todo]
@name
[todo] Document the name of an object.
@namespace
-
[todo] Document a namespace object.
@param
-
>Document the parameter to a function.
@private
-
[todo] This member is meant to be private.
@property
-
Document a property of an object.
@protected
-
[todo] This member is meant to be protected.
@public
-
[todo] This member is meant to be public.
@readonly
-
[todo] This variable is meant to be readonly.
@requires
-
[todo] This JavaScript module requires another JavaScript module.
@returns
-
Document the return value of a function.
@see
-
[todo] Refer to some other documentation for more information.
@since
-
[todo] When was this feature added?
@summary
-
[todo] A shorter version of the full description.
@this
-
[todo] What does the this keyword refer to here?
@throws
-
[todo] Describe what errors could be thrown.
@todo
-
[todo] Document tasks to be completed for an object.
@tutorial
-
Insert a link to an included tutorial file.
@type
-
[todo] Document the type of an object.
@typedef
-
[todo] Document a custom type.
@version
-
Documents the version number of an item.
+
[todo] Document a namespace object.
@enum
+
Document a collection of related properties.
@default
+
Document the default value.
@tagname
+
[todo]
@tagname
+
[todo]
@private
+
[todo] This member is meant to be private.
@method
+
[todo] Describe a method or function.