A VuePress plugin to build API documentation with typedoc.
- Generates pages in Markdown as part of the build.
- Generates sidebar configuration.
Install in the same location as your VuePress project root.
npm install typedoc typedoc-plugin-markdown vuepress-plugin-typedoc --save-dev
- Setup a VuePress project https://v1.vuepress.vuejs.org/guide/getting-started.html.
- Add the plugin to
.vuepress/config.js
and specify the required options (see options). - TypeDoc will be bootstraped with the Vuepress
dev
andbuild
cli commands.
plugins: [
[
'vuepress-plugin-typedoc',
// plugin options
{
entryPoints: ['../src/index.ts'],
tsconfig: '../tsconfig.json'
},
],
],
- Setup a VuePress v2 project https://v2.vuepress.vuejs.org/guide/getting-started.html.
- Using a plugin via string is not supported. Import the plugin directly in
.vuepress/config.ts
under thenext
entrypoint and specify the required options (see options). - TypeDoc will be bootstraped with the Vuepress
dev
andbuild
cli commands.
import { defaultTheme } from 'vuepress';
import { typedocPlugin } from 'vuepress-plugin-typedoc/next';
module.exports = {
theme: defaultTheme({}),
plugins: [
typedocPlugin({
// plugin options
entryPoints: ['../src/index.ts'],
tsconfig: '../tsconfig.json',
}),
],
};
docs/ (Vuepress website root)
│ └── .vuepress
│ │ └── config.js|ts
│ │ └── dist/ (static site dir)
│ └── api/ (output directory / compiled typedoc markdown)
├── package.json
├─ ─src (typescript source files)
├── tsconfig.json
To configure TypeDoc, pass any relevant TypeDoc options to the config.
At a minimum the entryPoints
and tsconfig
options will need to be set.
entryPoints: ['../src/index.ts'],
tsconfig: '../tsconfig.json'
Additional TypeDoc plugins will need to be explicitly set:
plugin: ['typedoc-plugin-xyz'];
TypeDoc options can also be declared:
- Using a
typedoc.json
file. - Under the
typedocOptions
key intsconfig.json
.
Note: Options declared in this manner will take priority and overwrite options declared in docusaurus.config.js
.
In addition to TypeDoc options there are some custom plugin options that can be configured.
Name | Default | Description |
---|---|---|
out |
"api" |
Output directory relative to docs directory. |
hideInPageTOC |
false |
Do not render in-page table of contents items. |
sidebar.autoConfiguration |
true |
Set to false to disable auto sidebar configuration. |
sidebar.fullNames |
false |
Display full names with module path if applicable. |
sidebar.parentCategory |
"API" |
The parent category label for sidebar. Pass "none" for no parent category. |
{
// TypeDoc options
entryPoints: ['../src/index.ts'],
tsconfig: '../tsconfig.json',
cleanOutputDir: true
// Plugin options
out: 'api',
sidebar: {
fullNames: true,
parentCategory: 'API',
}
}