Display Options
Options that are used to configure how the output is structured and displayed.
hidePageHeader
Accepts a boolean value. Defaults to
false
.
{
"hidePageHeader": false
}
hideBreadcrumbs
Accepts a boolean value. Defaults to
false
.
{
"hideBreadcrumbs": false
}
hidePageTitle
Accepts a boolean value. Defaults to
false
.
{
"hidePageTitle": false
}
useCodeBlocks
Accepts a boolean value. Defaults to
false
.
This option can be used to improve readability and aesthetics when defining signatures and declarations.
Please note that when this option is set to true
it is not possible to link to other references.
As a work around the @link
tag can be be used to manually reference types.
{
"useCodeBlocks": false
}
expandObjects
Accepts a boolean value. Defaults to
false
.
By default when objects have associated documentation, object declarations are collapsed to preserve space and improve readability.
This option should be set when a full object representation is preferred.
{
"expandObjects": false
}
expandParameters
Expand parameters in signature parentheses to display type information.
Accepts a boolean value. Defaults to
false
.
By default parameters in signature definitions only display the parameter name so the output is more concise.
This option should be set when a full type representation is preferred.
{
"expandParameters": false
}
blockTagsPreserveOrder
Specifies comment block tags that should preserve their position.
Accepts an array of string values.
By default block tags (such as @example
, @remarks
, @deprecated
) are rendered after “Parameters”, “Returns” and “Type declaration” sections for signatures and declarations.
The rationale is that comment block tags often contain more detailed, supplementary information and are typically secondary to understanding the primary use of the symbol,
Use this option to preserve the position of the tag content with the comment summary.
{
"blockTagsPreserveOrder": ["@example", "@deprecated"]
}
strikeDeprecatedPageTitles
Controls whether deprecated symbols have their page titles rendered with a strikethrough.
Accepts a boolean value. Defaults to
true
.
When set to true
, the titles of pages representing deprecated symbols will be rendered with strikethroughs.
{
"strikeDeprecatedPageTitles": true
}
indexFormat
Accepts one of
"list"
|"table"
|"htmlTable"
. Defaults to"list"
.
This option renders index items either as a simple unordered list or in a table.
When table style is selected the following will be the behaviour:
- For a members index, a description column will be added with key
table
- the first paragraph of the comment summary, or keyhtmlTable
- the entire comment contents. - For a packages index, (when
entryPointStrategy
equalspackages
), the package.json description will be displayed with an additional “Version” column (when--includeVersion
equals true). - For a documents index a description column will be added to the table printing the
"description"
frontmatter variable.
{
"indexFormat": "list"
}
parametersFormat
Sets the format of parameter and type parameter groups.
Accepts one of
"list"
|"table"
|"htmlTable"
. Defaults to"list"
.
This option specifies the output format for parameters and type parameters of functions and class methods:
- “list”: parameters are output in linear blocks with headings, suitable for more detailed comments.
- “table”: parameters are output within a Markdown table, condensed into a single paragraph.
- “htmlTable”: parameters are output in an HTML table, enabling block elements to render in table cells.
{
"parametersFormat": "list"
}
interfacePropertiesFormat
Accepts one of
"list"
|"table"
|"htmlTable"
. Defaults to"list"
.
This option specifies the output format for interface properties:
- “list”: properties are output in linear blocks with headings, suitable for more detailed comments.
- “table”: properties are output within a Markdown table, condensed into a single paragraph.
- “htmlTable”: properties are output in an HTML table, enabling block elements to render in tabular format.
{
"interfacePropertiesFormat": "list"
}
classPropertiesFormat
Accepts one of
"list"
|"table"
|"htmlTable"
. Defaults to"list"
.
This option specifies the output format for class properties:
- “list”: properties are output in linear blocks with headings, suitable for more detailed comments.
- “table”: properties are output within a Markdown table, condensed into a single paragraph.
- “htmlTable”: properties are output in an HTML table, enabling block elements to render in tabular format.
{
"classPropertiesFormat": "list"
}
typeAliasPropertiesFormat
Sets the format of style for type alias properties.
Accepts one of
"list"
|"table"
|"htmlTable"
. Defaults to"list"
.
This option specifies the output format for type alias properties:
- “list”: properties are output in linear blocks with headings, suitable for more detailed comments.
- “table”: properties are output within a Markdown table, condensed into a single paragraph.
- “htmlTable”: properties are output in an HTML table, enabling block elements to render in tabular format.
{
"typeAliasPropertiesFormat": "list"
}
enumMembersFormat
Accepts one of
"list"
|"table"
|"htmlTable"
. Defaults to"list"
.
This option specifies the output format for enumeration members:
- “list”: members are output in linear blocks with headings, suitable for more detailed comments.
- “table”: members are output within a Markdown table, condensed into a single paragraph.
- “htmlTable”: members are output in an HTML table, enabling block elements to render in tabular format.
{
"enumMembersFormat": "list"
}
propertyMembersFormat
Sets the format of style for property members for interfaces and classes.
Accepts one of
"list"
|"table"
|"htmlTable"
. Defaults to"list"
.
This option will handle the formatting of object literals assigned as properties in classes or interfaces.
Note this options will only take effect when the property declaration is rendered in a list
format.
- “list”: members are output in linear blocks with headings, suitable for more detailed comments.
- “table”: members are output within a Markdown table, condensed into a single paragraph.
- “htmlTable”: members are output in an HTML table, enabling block elements to render in tabular format.
{
"propertyMembersFormat": "list"
}
typeDeclarationFormat
Sets the format of style for type declaration members.
Accepts one of
"list"
|"table"
|"htmlTable"
. Defaults to"list"
.
This option specifies the output format for type declaration of variables and type aliases.
- “list”: declarations are output in linear blocks with headings, suitable for more detailed comments.
- “table”: declarations are output within a Markdown table, condensed into a single paragraph.
- “htmlTable”: declarations are output in an HTML table, enabling block elements to render in tabular format.
{
"typeDeclarationFormat": "list"
}
pageTitleTemplates
Configures the main page title (# heading) output using placeholders or functions.
Each value can be either:
- A string supporting placeholders.
- A function that receives input arguments.
Available keys
index
: For the main documentation index page.module
: For module and namespace pages.member
: For individual member pages.
Available placeholders / function arguments
For index pages:
projectName
: The project’s name, resolved by TypeDoc.version
: The project version, resolved by TypeDoc (whenincludeVersion
istrue
).
For module and member pages:
name
: The name of the module or member including type parameters (includes markdown escaping).rawName
: Same asname
placeholder without escaping (useful if including inside backticks).keyword
: The translated keyword for the symbol, if applicable (e.g., “Abstract”).codeKeyword
: The code keyword for the symbol, if applicable (e.g.,abstract
).kind
: The TypeDoc reflection kind of the symbol.group
: The group title, if applicable.
Default values
By default, the plugin uses the following templates and placeholders:
{
"pageTitleTemplates": {
"index": "{projectName} {version}", // e.g. "My Project 1.0.0"
"member": "{keyword} {kind}: {name}", // e.g. "Abstract Class: MyClass\<T, V\>"
"module": "{name}" // e.g. "MyModule"
}
}
String placeholder examples (JSON/JS config)
Placeholders can can be used using the pattern {placeholder}
.
{
"pageTitleTemplates": {
"index": "{projectName} - (v{version})", // e.g. "My Project - (v1.0.0)"
"member": "{group} - `{rawName}`" // e.g. "Classes - `MyClass<T, V>`"
}
}
Function examples (JS config only)
Functions are more flexible as it allows you to use conditional logic and custom formatting.
pageTitleTemplates: {
index: (args) => `${args.projectName} - (v${args.version})`, // e.g. "My Project - (v1.0.0)"
member: (args) =>
`${args.name} ${args.codeKeyword && `(${args.codeKeyword)}`, // MyClass<T, V> (abstract)
}
tableColumnSettings
Control how table columns are configured and displayed.
Accepts a key/value object.
By default, all available data for symbols are displayed in table columns which can result in several columns in certain use-cases.
This option allows you to control the visibility of columns, prioritizing readability over displaying complete data. In addition you can control the alignment of the header text.
{
"tableColumnSettings": {
"hideDefaults": false,
"hideInherited": false,
"hideModifiers": false,
"hideOverrides": false,
"hideSources": false,
"hideValues": false,
"leftAlignHeaders": false
}
}