1.1.0 • Published 2 months ago

@rwsdatalab/typedoc-storybook-theme v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

typedoc-storybook-theme

TypeDoc theme to create technical documentation integrated within Storybook. This theme will generate *.stories.mdx files from your documentation and add the <Meta title='api reference/filename' /> tag to every file. In contrast to the original plugin it also generates a modules folder containing the typescript modules.

The TypeDoc wiki for this project can be found on Gitlab pages.

Installation

You can install this package by running the following command.

npm install --save-dev @rwsdatalab/typedoc-storybook-theme

You will then need to change .storybook/main.ts:

const storybookConfig: StorybookConfig = {
  ...
  stories: [
+   "../docs/**/*.mdx",
+   "../docs/**/*.stories.@(js|jsx|mjs|ts|tsx|svelte)",
    "../src/**/*.mdx",
    "../src/**/*.stories.@(js|jsx|mjs|ts|tsx|svelte)",
  ]
};

You will also need to change your tsconfig.json. Please ensure that the name and sourceLinkTemplate options below are changed so that they reflect your own project.

{
    "compilerOptions": {},
+   "typedocOptions": {
+       "name": "My project name",
+       "entryPointStrategy": "expand",
+       "entryPoints": [
+          "./src"
+       ],
+       "sourceLinkTemplate": "https://gitlab.com/organization/path/to/repository/-/blob/{gitRevision}/{path}#L{line}",
+       "readme": "./README.md",
+       "githubPages": false,
+       "exclude": [
+          "**/node_modules/**",
+          "./.eslintrc.cjs",
+       ]
+   },
}

Usage

typedoc --plugin @rwsdatalab/typedoc-storybook-theme"

Ensure that the docs are loaded by Storybook by adjusting the main.js stories property.

Configuration

Commandline arguments can be provided to the plugin to enable/disable or change certain plugin behaviours.

argument namedescriptiondefault value
storybookPathThe path under which the doc will be displayed in Storybook. E.g where it will display in the Storybook sidebar."api reference"
hidePageTitleHide the page titlefalse
hideBreadcrumbsHide the breadcrumbs at the top of the pagefalse
hideInPageTOCHide the table of contentsfalse
objectLiteralTypeDeclarationStyleHow to render type declarations. Can be "table" or "list""table"

Dependencies

Currently only typedoc > 0.25.0 is supported.