What is typedoc?
TypeDoc is a documentation generator for TypeScript projects. It reads your TypeScript source code and its comments and produces an HTML documentation website. It is capable of creating readable and user-friendly documentation for TypeScript projects, which can be very helpful for both maintaining internal code and for sharing code with external users.
What are typedoc's main functionalities?
Generating Documentation
This command generates documentation for the TypeScript source files located in the 'src' directory and outputs the result to the 'docs' directory.
typedoc --out docs src
Customizing the Theme
This command generates documentation with a minimal theme, which is one of the built-in themes provided by TypeDoc.
typedoc --out docs src --theme minimal
Excluding Private Members
This command generates documentation while excluding private members from the output, making the documentation cleaner if private members are not intended to be part of the public API.
typedoc --out docs src --excludePrivate
Including Declaration Files
This command includes type declaration files (d.ts files) in the documentation generation process, which can be useful for documenting the types that are part of the project's external API.
typedoc --out docs src --includeDeclarations
Other packages similar to typedoc
jsdoc
JSDoc is a popular documentation generator for JavaScript. It uses comments in the source code to generate comprehensive documentation. While similar in purpose to TypeDoc, JSDoc is tailored for JavaScript and requires additional plugins to work well with TypeScript.
esdoc
ESDoc is another documentation generator for JavaScript, with support for ES6+ syntax. It provides features like coverage reporting and integrated test codes in the documentation. ESDoc is not as TypeScript-focused as TypeDoc and may require additional configuration for TypeScript projects.
TypeDoc
Documentation generator for TypeScript projects.
Installation
TypeDoc runs on Node.js and is available as an NPM package. You can install TypeDoc
in your project's directory as usual:
$ npm install typedoc --save-dev
Like the TypeScript compiler, TypeDoc comes with a binary that can be called from anywhere
if you install TypeDoc as a global module. The name of the executable is typedoc
.
$ npm install typedoc --global
$ typedoc
Usage
Shell
TypeDoc accepts most of the command line arguments that the TypeScript compiler accepts. One major
difference is the fact that one may pass an entire directory instead of individual files to the documentation
generator. So in order to create a documentation for an entire project you simply type:
$ typedoc --out path/to/documentation/ path/to/typescript/project/
Important note
Starting with version 0.2, TypeDoc no longer can predict whether files should be treated as modules
or whether the project should be compiled into one big namespace. You must specify the mode
argument
in order to change the behaviour of TypeDoc.
Arguments
--out <path/to/documentation/>
Specifies the location the documentation should be written to.--mode <file|modules>
Specifies the output mode the project is used to be compiled with.--options
Specify a js option file that should be loaded. If not specified TypeDoc will look for 'typedoc.js' in the current directory.--json <path/to/output.json>
Specifies the location and file name a json file describing the project is written to. When specified no documentation will be generated.--ignoreCompilerErrors
Should TypeDoc still generate documentation pages even after the compiler has returned errors?
Source file handling
--exclude <pattern>
Exclude files by the given pattern when a path is provided as source. Supports standard minimatch patterns (see #170)--includeDeclarations
Turn on parsing of .d.ts declaration files.--externalPattern <pattern>
Define a pattern for files that should be considered being external.--excludeExternals
Prevent externally resolved TypeScript files from being documented.--excludePrivate
Prevent private members from being included in the generated documentation.--excludeProtected
Prevent protected members from being included in the generated documentation.
TypeScript compiler
--module <commonjs, amd, system or umd>
Specify module code generation: "commonjs", "amd", "system" or "umd".--target <ES3, ES5, or ES6>
Specify ECMAScript target version: "ES3" (default), "ES5" or "ES6"
Theming
--theme <default|minimal|path/to/theme>
Specify the path to the theme that should be used.--name <Documentation title>
Set the name of the project that will be used in the header of the template.--readme <path/to/readme|none>
Path to the readme file that should be displayed on the index page. Pass none
to disable the index page
and start the documentation on the globals page.--plugin
Specify the npm plugins that should be loaded. Omit to load all installed plugins, set to 'none' to load no plugins.--hideGenerator
Do not print the TypeDoc link at the end of the page.--gaID
Set the Google Analytics tracking ID and activate tracking code.--gaSite <site>
Set the site name for Google Analytics. Defaults to auto
--entryPoint <fully.qualified.name>
Specifies the fully qualified name of the root symbol. Defaults to global namespace.--gitRevision <revision|branch>
Use specified revision or branch instead of the last revision for linking to GitHub source files.
Content
-
--includes <path/to/includes>
Specifies the location to look for included documents. One may use [[include:FILENAME]]
in comments to include documents from this location.
-
--media <path/to/media>
Specifies the location with media files that should be copied to the output directory. In order to create
a link to media files use the pattern media://FILENAME
in comments.
Miscellaneous
--version
Display the version number of TypeDoc.--help
Display all TypeDoc options.
Webpack
There is a plugin available to run TypeDoc with Webpack created by Microsoft. You can find it on NPM:
https://www.npmjs.com/package/typedoc-webpack-plugin
Gulp
There is a plugin available to run TypeDoc with Gulp created by Rogier Schouten. You can find it on NPM:
https://www.npmjs.org/package/gulp-typedoc/
Grunt
There is a plugin available to run TypeDoc with Grunt created by Bart van der Schoor. You can find it on NPM:
https://www.npmjs.org/package/grunt-typedoc
Plugins
Advanced guides and docs
Visit our homepage for advanced guides and an extensive API documentation:
http://typedoc.org
Contributing
This project is maintained by a community of developers. Contributions are welcome and appreciated.
You can find TypeDoc on GitHub; feel free to start an issue or create a pull requests:
https://github.com/TypeStrong/typedoc
License
Copyright (c) 2015 Sebastian Lenz.
Copyright (c) 2016-2017 TypeDoc Contributors.
Licensed under the Apache License 2.0.