Skip to content

Latest commit

 

History

History
 
 

vuepress-plugin-typedoc

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

vuepress-plugin-typedoc

A VuePress plugin to build API documentation with typedoc.

npm CI

What does it do?

  • Generates pages in Markdown as part of the build.
  • Generates sidebar configuration.

Installation

Install in the same location as your VuePress project root.

npm install typedoc typedoc-plugin-markdown vuepress-plugin-typedoc --save-dev

Usage

v1.x

.vuepress/config.js

plugins: [
  [
    'vuepress-plugin-typedoc',

    // plugin options
    {
      entryPoints: ['../src/index.ts'],
      tsconfig: '../tsconfig.json'
    },
  ],
],

v2.x

.vuepress/config.ts

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',
    }),
  ],
};

Typical project structure

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

Options

TypeDoc options

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 in tsconfig.json.

Note: Options declared in this manner will take priority and overwrite options declared in docusaurus.config.js.

Plugin options

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.

Example options object

{
  // TypeDoc options
  entryPoints: ['../src/index.ts'],
  tsconfig: '../tsconfig.json',
  cleanOutputDir: true

  // Plugin options
  out: 'api',
  sidebar: {
    fullNames: true,
    parentCategory: 'API',
  }
}

License

MIT