typedoc-plugin-markdown
Advanced tools
Comparing version 4.0.0-next.24 to 4.0.0-next.25
@@ -52,3 +52,3 @@ import { DeclarationOption } from 'typedoc'; | ||
*/ | ||
export declare const mdOutputFileStrategy: DeclarationOption; | ||
export declare const outputFileStrategy: DeclarationOption; | ||
/** | ||
@@ -91,2 +91,12 @@ * To export only Interfaces, classes and enums to their own file, the option should be configured in an options file as follows: | ||
/** | ||
* By default when a readme file is resolved, a seperate index page is created. This option prepends the readme file into the index page creating a single documentation entrypoint. | ||
* | ||
* - This option is ignored when `readme` is set to `none`. | ||
* - `--indexPageTitle` is ignored. | ||
* | ||
* @category fileOutput | ||
* | ||
*/ | ||
export declare const mergeReadme: DeclarationOption; | ||
/** | ||
* @category ui | ||
@@ -108,5 +118,5 @@ */ | ||
/** | ||
* This provides a mechanism to change the main project index page title. | ||
* Provides a mechanism to change the main project index page title. | ||
* | ||
* Note this will also serve as the root breadcrumb text. | ||
* Defaults to `{projectName}` - a placeholder that renders the project name and version (when `--includeVersion` is set). | ||
* | ||
@@ -117,7 +127,17 @@ * @category ui | ||
/** | ||
* Supports {kind} and {name} placeholders. | ||
* Provides a mechanism to change the page title of members. | ||
* | ||
* Supports `{name}` and `{kind}` placeholders. | ||
* | ||
* e.g "Class: MyClassName" | ||
* | ||
* For example to display member name only: | ||
* | ||
* ```json | ||
* memberPageTitle: "{name}" | ||
* ``` | ||
* | ||
* @category ui | ||
*/ | ||
export declare const titleTemplate: DeclarationOption; | ||
export declare const memberPageTitle: DeclarationOption; | ||
/** | ||
@@ -124,0 +144,0 @@ * By default members are grouped by kind (eg Classes, Functions etc). |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.namedAnchors = exports.anchorPrefix = exports.preserveAnchorCasing = exports.indexFormat = exports.typeDeclarationFormat = exports.enumMembersFormat = exports.propertiesFormat = exports.parametersFormat = exports.expandObjects = exports.useCodeBlocks = exports.excludeGroups = exports.titleTemplate = exports.indexPageTitle = exports.hideInPageTOC = exports.hideBreadcrumbs = exports.hidePageTitle = exports.hidePageHeader = exports.entryFileName = exports.membersWithOwnFile = exports.mdOutputFileStrategy = void 0; | ||
exports.namedAnchors = exports.anchorPrefix = exports.preserveAnchorCasing = exports.indexFormat = exports.typeDeclarationFormat = exports.enumMembersFormat = exports.propertiesFormat = exports.parametersFormat = exports.expandObjects = exports.useCodeBlocks = exports.excludeGroups = exports.memberPageTitle = exports.indexPageTitle = exports.hideInPageTOC = exports.hideBreadcrumbs = exports.hidePageTitle = exports.hidePageHeader = exports.mergeReadme = exports.entryFileName = exports.membersWithOwnFile = exports.outputFileStrategy = void 0; | ||
const typedoc_1 = require("typedoc"); | ||
@@ -56,3 +56,3 @@ const custom_maps_1 = require("./custom-maps"); | ||
*/ | ||
exports.mdOutputFileStrategy = { | ||
exports.outputFileStrategy = { | ||
name: 'outputFileStrategy', | ||
@@ -119,2 +119,17 @@ help: 'Determines how output files are generated.', | ||
/** | ||
* By default when a readme file is resolved, a seperate index page is created. This option prepends the readme file into the index page creating a single documentation entrypoint. | ||
* | ||
* - This option is ignored when `readme` is set to `none`. | ||
* - `--indexPageTitle` is ignored. | ||
* | ||
* @category fileOutput | ||
* | ||
*/ | ||
exports.mergeReadme = { | ||
name: 'mergeReadme', | ||
help: 'Merges the resolved readme into the project index page.', | ||
type: typedoc_1.ParameterType.Boolean, | ||
defaultValue: false, | ||
}; | ||
/** | ||
* @category ui | ||
@@ -151,3 +166,3 @@ */ | ||
name: 'hideInPageTOC', | ||
help: 'Do not render in-page TOC/Index items.', | ||
help: 'Do not render in-page TOC items.', | ||
type: typedoc_1.ParameterType.Boolean, | ||
@@ -157,5 +172,5 @@ defaultValue: false, | ||
/** | ||
* This provides a mechanism to change the main project index page title. | ||
* Provides a mechanism to change the main project index page title. | ||
* | ||
* Note this will also serve as the root breadcrumb text. | ||
* Defaults to `{projectName}` - a placeholder that renders the project name and version (when `--includeVersion` is set). | ||
* | ||
@@ -168,12 +183,22 @@ * @category ui | ||
type: typedoc_1.ParameterType.String, | ||
defaultValue: 'API', | ||
defaultValue: '{projectName}', | ||
}; | ||
/** | ||
* Supports {kind} and {name} placeholders. | ||
* Provides a mechanism to change the page title of members. | ||
* | ||
* Supports `{name}` and `{kind}` placeholders. | ||
* | ||
* e.g "Class: MyClassName" | ||
* | ||
* For example to display member name only: | ||
* | ||
* ```json | ||
* memberPageTitle: "{name}" | ||
* ``` | ||
* | ||
* @category ui | ||
*/ | ||
exports.titleTemplate = { | ||
name: 'titleTemplate', | ||
help: 'Specify a template for displaying page titles.', | ||
exports.memberPageTitle = { | ||
name: 'memberPageTitle', | ||
help: 'The page title of members.', | ||
type: typedoc_1.ParameterType.String, | ||
@@ -180,0 +205,0 @@ defaultValue: '{kind}: {name}', |
@@ -6,2 +6,3 @@ declare module 'typedoc' { | ||
entryFileName: string; | ||
mergeReadme: boolean; | ||
hidePageHeader: boolean; | ||
@@ -12,3 +13,3 @@ hidePageTitle: boolean; | ||
indexPageTitle: string; | ||
titleTemplate: string; | ||
memberPageTitle: string; | ||
excludeGroups: boolean; | ||
@@ -31,2 +32,3 @@ useCodeBlocks: boolean; | ||
entryFileName: string; | ||
mergeReadme: boolean; | ||
hidePageHeader: boolean; | ||
@@ -37,3 +39,3 @@ hidePageTitle: boolean; | ||
indexPageTitle: string; | ||
titleTemplate: string; | ||
memberPageTitle: string; | ||
excludeGroups: boolean; | ||
@@ -40,0 +42,0 @@ useCodeBlocks: boolean; |
@@ -26,1 +26,2 @@ /** | ||
export declare function getIndexFileName(project: ProjectReflection): "modules.md" | "exports.md"; | ||
export declare function hasReadme(project: ProjectReflection): boolean; |
@@ -9,3 +9,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getIndexFileName = exports.getSignatureParameters = exports.flattenDeclarations = exports.declarationHasParent = exports.getMemberTitle = exports.KEYWORD_MAP = exports.getModifier = exports.isGroupKind = exports.isAbsoluteIndex = exports.hasIndex = exports.getProjectDisplayName = exports.getDeclarationType = void 0; | ||
exports.hasReadme = exports.getIndexFileName = exports.getSignatureParameters = exports.flattenDeclarations = exports.declarationHasParent = exports.getMemberTitle = exports.KEYWORD_MAP = exports.getModifier = exports.isGroupKind = exports.isAbsoluteIndex = exports.hasIndex = exports.getProjectDisplayName = exports.getDeclarationType = void 0; | ||
const typedoc_1 = require("typedoc"); | ||
@@ -197,1 +197,5 @@ const elements_1 = require("../support/elements"); | ||
exports.getIndexFileName = getIndexFileName; | ||
function hasReadme(project) { | ||
return Boolean(project.readme); | ||
} | ||
exports.hasReadme = hasReadme; |
@@ -16,3 +16,3 @@ "use strict"; | ||
this.navigation.push({ | ||
title: 'README', | ||
title: 'Readme', | ||
url: entryFileName, | ||
@@ -19,0 +19,0 @@ }); |
@@ -19,3 +19,3 @@ import { Options, Reflection } from 'typedoc'; | ||
/** @hidden */ | ||
readmeTemplate: (page: MarkdownPageEvent<import("typedoc").DeclarationReflection | import("typedoc").ProjectReflection>) => string; | ||
readmeTemplate: (page: MarkdownPageEvent<import("typedoc").ProjectReflection>) => string; | ||
/** @hidden */ | ||
@@ -22,0 +22,0 @@ reflectionTemplate: (page: MarkdownPageEvent<import("typedoc").DeclarationReflection>) => string; |
@@ -14,6 +14,7 @@ "use strict"; | ||
if (page.url === page.project.url || | ||
page.url === context.options.getValue('entryFileName')) { | ||
(page.url === context.options.getValue('entryFileName') && | ||
page.url.split('/').length === 1)) { | ||
return ''; | ||
} | ||
md.push((0, elements_1.link)(context.options.getValue('indexPageTitle'), context.relativeURL(page.project.url))); | ||
md.push((0, elements_1.link)(page.project.name, context.relativeURL(page.project.url))); | ||
const breadcrumb = (model) => { | ||
@@ -33,4 +34,4 @@ var _a; | ||
md.push(pageName); | ||
return md.length > 1 ? `${md.join(' > ')}` : ''; | ||
return md.length > 1 ? `${md.join(' / ')}` : ''; | ||
} | ||
exports.breadcrumbs = breadcrumbs; |
@@ -11,4 +11,4 @@ "use strict"; | ||
function header(context, page) { | ||
const isMonoRepo = !Boolean(page.project.groups); | ||
if (isMonoRepo) { | ||
const isPackages = !Boolean(page.project.groups); | ||
if (isPackages) { | ||
const packageItem = findPackage(page.model); | ||
@@ -23,8 +23,5 @@ if (packageItem) { | ||
function projectHeader(context, page) { | ||
var _a; | ||
const entryFileName = context.options.getValue('entryFileName'); | ||
const indexFileName = (0, helpers_1.getIndexFileName)(page.project); | ||
const titleLink = context.options.getValue('titleLink'); | ||
const hasBreadcrumbs = !context.options.getValue('hideBreadcrumbs'); | ||
const hasReadme = !((_a = context.options.getValue('readme')) === null || _a === void 0 ? void 0 : _a.endsWith('none')); | ||
const projectName = (0, helpers_1.getProjectDisplayName)(page.project, context.options.getValue('includeVersion')); | ||
@@ -38,11 +35,25 @@ const md = []; | ||
} | ||
if (hasReadme) { | ||
md.push((0, elements_1.link)('README', context.relativeURL(entryFileName))); | ||
if ((0, helpers_1.hasReadme)(page.project)) { | ||
if (!context.options.getValue('mergeReadme')) { | ||
const links = []; | ||
links.push('('); | ||
if (page.url === entryFileName) { | ||
links.push('Readme'); | ||
links.push('\\|'); | ||
} | ||
else { | ||
links.push((0, elements_1.link)('Readme', context.relativeURL(entryFileName))); | ||
links.push('\\|'); | ||
} | ||
if (page.url !== entryFileName) { | ||
links.push('API'); | ||
} | ||
else { | ||
links.push((0, elements_1.link)('API', context.relativeURL(indexFileName))); | ||
} | ||
links.push(')'); | ||
md.push(links.join(' ')); | ||
} | ||
} | ||
if (hasReadme || !hasBreadcrumbs) { | ||
md.push((0, elements_1.link)(context.options.getValue('indexPageTitle'), hasReadme | ||
? context.relativeURL(indexFileName) | ||
: context.relativeURL(entryFileName))); | ||
} | ||
return `${md.join(' ∙ ')}\n\n***\n`; | ||
return `${md.join(' ')}\n\n***\n`; | ||
} | ||
@@ -56,14 +67,27 @@ function packageHeader(context, page) { | ||
const entryFileName = context.options.getValue('entryFileName'); | ||
const hasReadme = packageItem.readme; | ||
const hasBreadcrumbs = !context.options.getValue('hideBreadcrumbs'); | ||
md.push((0, elements_1.bold)(packageItem.name)); | ||
if (hasReadme) { | ||
md.push((0, elements_1.link)('README', context.relativeURL(`${packageItem.name}/${entryFileName}`))); | ||
if ((0, helpers_1.hasReadme)(packageItem)) { | ||
if (!context.options.getValue('mergeReadme')) { | ||
const links = []; | ||
const readmeUrl = `${packageItem.name}/${entryFileName}`; | ||
links.push('('); | ||
if (page.url === readmeUrl) { | ||
links.push('Readme'); | ||
links.push('\\|'); | ||
} | ||
else { | ||
links.push((0, elements_1.link)('Readme', context.relativeURL(readmeUrl))); | ||
links.push('\\|'); | ||
} | ||
if (page.url !== readmeUrl) { | ||
links.push('API'); | ||
} | ||
else { | ||
links.push((0, elements_1.link)('API', context.relativeURL(packageItem.url))); | ||
} | ||
links.push(')'); | ||
md.push(links.join(' ')); | ||
} | ||
} | ||
if (hasReadme || !hasBreadcrumbs) { | ||
md.push((0, elements_1.link)('API', hasReadme | ||
? context.relativeURL(packageItem.url) | ||
: context.relativeURL(packageItem.url))); | ||
} | ||
return `${md.join(' ∙ ')}\n\n***\n`; | ||
return `${md.join(' ')}\n\n***\n`; | ||
} | ||
@@ -70,0 +94,0 @@ function findPackage(model) { |
@@ -28,2 +28,3 @@ "use strict"; | ||
const path = __importStar(require("path")); | ||
const typedoc_1 = require("typedoc"); | ||
const elements_1 = require("../../../support/elements"); | ||
@@ -36,6 +37,6 @@ const utils_1 = require("../../../support/utils"); | ||
function pageIndex(context, page, headingLevel) { | ||
var _a; | ||
var _a, _b; | ||
const md = []; | ||
if (!page.model.groups) { | ||
md.push((0, elements_1.heading)(headingLevel, 'Index')); | ||
md.push((0, elements_1.heading)(headingLevel, 'Packages')); | ||
const packagesList = (_a = page.model.children) === null || _a === void 0 ? void 0 : _a.map((projectPackage) => { | ||
@@ -50,4 +51,7 @@ return `- [${(0, utils_1.escapeChars)(projectPackage.name)}](${context.relativeURL(Boolean(projectPackage.readme) | ||
if ((0, helpers_1.hasIndex)(page.model)) { | ||
md.push((0, elements_1.heading)(headingLevel, 'Index')); | ||
md.push(context.reflectionIndex(page.model, false, headingLevel + 1)); | ||
const isModules = (_b = page.project.children) === null || _b === void 0 ? void 0 : _b.every((child) => child.kindOf(typedoc_1.ReflectionKind.Module)); | ||
if (!isModules) { | ||
md.push((0, elements_1.heading)(2, 'Exports')); | ||
} | ||
md.push(context.reflectionIndex(page.model, false, isModules ? headingLevel : headingLevel + 1)); | ||
return md.join('\n\n'); | ||
@@ -54,0 +58,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.referenceMember = void 0; | ||
const typedoc_1 = require("typedoc"); | ||
/** | ||
@@ -8,6 +9,12 @@ * @category Partials | ||
function referenceMember(context, props) { | ||
const referenced = props.tryGetTargetReflectionDeep(); | ||
let referenced = props.tryGetTargetReflectionDeep(); | ||
if (!referenced) { | ||
return `Re-exports ${props.name}`; | ||
} | ||
if ((referenced === null || referenced === void 0 ? void 0 : referenced.kindOf(typedoc_1.ReflectionKind.TypeLiteral)) && referenced.parent) { | ||
referenced = referenced === null || referenced === void 0 ? void 0 : referenced.parent; | ||
} | ||
if (!(referenced === null || referenced === void 0 ? void 0 : referenced.url)) { | ||
return `Re-exports ${referenced.name}`; | ||
} | ||
if (props.name === referenced.name) { | ||
@@ -14,0 +21,0 @@ return `Re-exports [${referenced.name}](${context.urlTo(referenced)})`; |
@@ -9,27 +9,32 @@ "use strict"; | ||
function signatureMemberReturns(context, signature, headingLevel) { | ||
var _a, _b, _c; | ||
var _a, _b; | ||
const md = []; | ||
const typeDeclaration = (_a = signature.type) === null || _a === void 0 ? void 0 : _a.declaration; | ||
const showReturns = ((_b = signature.comment) === null || _b === void 0 ? void 0 : _b.blockTags.length) || | ||
(typeDeclaration === null || typeDeclaration === void 0 ? void 0 : typeDeclaration.signatures) || | ||
(typeDeclaration === null || typeDeclaration === void 0 ? void 0 : typeDeclaration.children); | ||
if (showReturns) { | ||
md.push((0, elements_1.heading)(headingLevel, 'Returns')); | ||
if ((_c = signature.comment) === null || _c === void 0 ? void 0 : _c.blockTags.length) { | ||
const tags = signature.comment.blockTags | ||
.filter((tag) => tag.tag === '@returns') | ||
.map((tag) => context.commentParts(tag.content)); | ||
md.push(tags.join('\n\n')); | ||
} | ||
if (typeDeclaration === null || typeDeclaration === void 0 ? void 0 : typeDeclaration.signatures) { | ||
typeDeclaration.signatures.forEach((signature) => { | ||
md.push((0, elements_1.blockQuoteBlock)(context.signatureMember(signature, headingLevel + 1))); | ||
}); | ||
} | ||
if (typeDeclaration === null || typeDeclaration === void 0 ? void 0 : typeDeclaration.children) { | ||
md.push((0, elements_1.blockQuoteBlock)(context.typeDeclarationMember(typeDeclaration, headingLevel))); | ||
} | ||
md.push((0, elements_1.heading)(headingLevel, 'Returns')); | ||
md.push(getReturnType(context, typeDeclaration, signature.type)); | ||
if ((_b = signature.comment) === null || _b === void 0 ? void 0 : _b.blockTags.length) { | ||
const tags = signature.comment.blockTags | ||
.filter((tag) => tag.tag === '@returns') | ||
.map((tag) => context.commentParts(tag.content)); | ||
md.push(tags.join('\n\n')); | ||
} | ||
if (typeDeclaration === null || typeDeclaration === void 0 ? void 0 : typeDeclaration.signatures) { | ||
typeDeclaration.signatures.forEach((signature) => { | ||
md.push((0, elements_1.blockQuoteBlock)(context.signatureMember(signature, headingLevel + 1))); | ||
}); | ||
} | ||
if (typeDeclaration === null || typeDeclaration === void 0 ? void 0 : typeDeclaration.children) { | ||
md.push((0, elements_1.blockQuoteBlock)(context.typeDeclarationMember(typeDeclaration, headingLevel))); | ||
} | ||
return md.join('\n\n'); | ||
} | ||
exports.signatureMemberReturns = signatureMemberReturns; | ||
function getReturnType(context, typeDeclaration, type) { | ||
if (typeDeclaration === null || typeDeclaration === void 0 ? void 0 : typeDeclaration.children) { | ||
return (0, elements_1.backTicks)('object'); | ||
} | ||
if (typeDeclaration === null || typeDeclaration === void 0 ? void 0 : typeDeclaration.signatures) { | ||
return (0, elements_1.backTicks)('function'); | ||
} | ||
return type ? context.someType(type).replace(/\n/g, ' ') : ''; | ||
} |
@@ -11,8 +11,14 @@ "use strict"; | ||
var _a; | ||
const titleTemplate = context.options.getValue('titleTemplate'); | ||
const memberPageTitle = context.options.getValue('memberPageTitle'); | ||
const name = (0, helpers_1.getMemberTitle)(page.model); | ||
const projectName = (0, helpers_1.getProjectDisplayName)(page.project, context.options.getValue('includeVersion')); | ||
if (((_a = page.model) === null || _a === void 0 ? void 0 : _a.url) === page.project.url) { | ||
return context.options.getValue('indexPageTitle'); | ||
return context.options | ||
.getValue('indexPageTitle') | ||
.replace('{projectName}', projectName); | ||
} | ||
return titleTemplate | ||
if (page.model.kindOf(typedoc_1.ReflectionKind.Module)) { | ||
return name; | ||
} | ||
return memberPageTitle | ||
.replace('{name}', name) | ||
@@ -19,0 +25,0 @@ .replace('{kind}', typedoc_1.ReflectionKind.singularString(page.model.kind)); |
@@ -1,2 +0,2 @@ | ||
import { DeclarationReflection, ProjectReflection } from 'typedoc'; | ||
import { ProjectReflection } from 'typedoc'; | ||
import { MarkdownThemeRenderContext } from '../..'; | ||
@@ -7,2 +7,2 @@ import { MarkdownPageEvent } from '../../../plugin/events'; | ||
*/ | ||
export declare function readmeTemplate(context: MarkdownThemeRenderContext, page: MarkdownPageEvent<ProjectReflection | DeclarationReflection>): string; | ||
export declare function readmeTemplate(context: MarkdownThemeRenderContext, page: MarkdownPageEvent<ProjectReflection>): string; |
@@ -12,4 +12,10 @@ "use strict"; | ||
} | ||
if (!context.options.getValue('hideBreadcrumbs')) { | ||
md.push(context.breadcrumbs(page)); | ||
} | ||
if (page.model.readme) { | ||
md.push(context.commentParts(page.model.readme)); | ||
if (context.options.getValue('mergeReadme')) { | ||
md.push(getIndexReplacer(context, page)); | ||
} | ||
} | ||
@@ -20,1 +26,10 @@ md.push(context.footer()); | ||
exports.readmeTemplate = readmeTemplate; | ||
function getIndexReplacer(context, page) { | ||
const md = []; | ||
md.push(context.pageIndex(page, 2)); | ||
if (page.model.comment) { | ||
md.push(context.comment(page.model.comment, 2)); | ||
} | ||
md.push(context.members(page.model, 2)); | ||
return md.join('\n\n'); | ||
} |
@@ -48,10 +48,12 @@ "use strict"; | ||
getUrls(project) { | ||
var _a, _b; | ||
var _a; | ||
const entryFileName = this.options.entryFileName; | ||
const indexFileName = (0, helpers_1.getIndexFileName)(project); | ||
const hasReadme = !((_a = this.options.readme) === null || _a === void 0 ? void 0 : _a.endsWith('none')); | ||
if (hasReadme) { | ||
project.url = indexFileName; | ||
const showIndex = !this.options.mergeReadme; | ||
if ((0, helpers_1.hasReadme)(project)) { | ||
project.url = showIndex ? indexFileName : entryFileName; | ||
this.urls.push(new url_mapping_1.UrlMapping(entryFileName, project, this.theme.readmeTemplate)); | ||
this.urls.push(new url_mapping_1.UrlMapping(indexFileName, project, this.theme.projectTemplate)); | ||
if (showIndex) { | ||
this.urls.push(new url_mapping_1.UrlMapping(indexFileName, project, this.theme.projectTemplate)); | ||
} | ||
} | ||
@@ -64,3 +66,3 @@ else { | ||
!Boolean(project.groups)) { | ||
(_b = project.children) === null || _b === void 0 ? void 0 : _b.forEach((projectChild) => { | ||
(_a = project.children) === null || _a === void 0 ? void 0 : _a.forEach((projectChild) => { | ||
const url = `${projectChild.name}/${Boolean(projectChild.readme) ? indexFileName : entryFileName}`; | ||
@@ -67,0 +69,0 @@ if (projectChild.readme) { |
{ | ||
"name": "typedoc-plugin-markdown", | ||
"version": "4.0.0-next.24", | ||
"version": "4.0.0-next.25", | ||
"description": "A plugin for TypeDoc that enables TypeScript API documentation to be generated in Markdown.", | ||
@@ -18,3 +18,3 @@ "main": "dist/index.js", | ||
"test:lint-mdx": "node test/__scripts__/lint.mdx.mjs", | ||
"test:jest": "jest", | ||
"test:jest": "jest --updateSnapshot", | ||
"build-and-test": "npm run build && npm run test", | ||
@@ -21,0 +21,0 @@ "api-docs": "npm run build && typedoc --options ./typedoc.api.js --out ./docs/api", |
@@ -7,3 +7,3 @@ # typedoc-plugin-markdown | ||
A plugin for [TypeDoc](https://typedoc.org) that renders TypeScript API documentation as Markdown. | ||
A plugin for [TypeDoc](https://typedoc.org) that renders TypeScript API documentation as Markdown. [MDX 2+](https://mdxjs.com/) and [GFM](https://github.github.com/gfm/) compliant. | ||
@@ -33,3 +33,3 @@ ## Contents | ||
Plugins are loaded by using the `plugin` configuration option: | ||
Plugins are loaded by using the TypeDoc `plugin` configuration option: | ||
@@ -40,45 +40,54 @@ ```bash | ||
Please see <https://typedoc.org/options/configuration>. | ||
For general TypeDoc configuration usage please see <https://typedoc.org/options/configuration>. | ||
## Options | ||
### TypeDoc options | ||
### TypeDoc Options | ||
All of TypeDoc's [Configuration](https://typedoc.org/options/configuration/), [Input](https://typedoc.org/options/input/) and [Organization](https://typedoc.org/options/organization/) options are respected as they are executed at the conversion phase of the project. | ||
TypeDoc's [Output](https://typedoc.org/options/output/) options are on the whole only relevant to the HTML theme and the majority are ignored by this plugin. Supported Output options are [`out`](https://typedoc.org/options/output/#out), `cleanOutputDir`. | ||
TypeDoc's [Output](https://typedoc.org/options/output/) options are on the whole only relevant to the HTML theme and the majority are ignored by this plugin. | ||
Supported Output options are: [`--out`](https://typedoc.org/options/output/#out), [`--cleanOutputDir`](https://typedoc.org/options/output/#cleanoutputdir). | ||
### Plugin Options | ||
This plugin exposes additional options. Please see [Options Guide](./docs/guides/options.md) for detailed usage. | ||
This plugin exposes several additional options. Please see [Plugin Options](./docs/plugin-options.md) for detailed usage. | ||
#### File output options | ||
* [`--outputFileStrategy`](./docs/guides/options.md#--outputfilestrategy) | ||
* [`--membersWithOwnFile`](./docs/guides/options.md#--memberswithownfile) | ||
* [`--entryFileName`](./docs/guides/options.md#--entryfilename) | ||
Options that configure how files are generated. | ||
* [`--outputFileStrategy`](./docs/plugin-options.md#--outputfilestrategy) | ||
* [`--membersWithOwnFile`](./docs/plugin-options.md#--memberswithownfile) | ||
* [`--entryFileName`](./docs/plugin-options.md#--entryfilename) | ||
* [`--mergeReadme`](./docs/plugin-options.md#--mergereadme) | ||
#### Structure and formatting options | ||
* [`--hidePageHeader`](./docs/guides/options.md#--hidepageheader) | ||
* [`--hidePageTitle`](./docs/guides/options.md#--hidepagetitle) | ||
* [`--hideBreadcrumbs`](./docs/guides/options.md#--hidebreadcrumbs) | ||
* [`--hideInPageTOC`](./docs/guides/options.md#--hideinpagetoc) | ||
* [`--indexPageTitle`](./docs/guides/options.md#--indexpagetitle) | ||
* [`--titleTemplate`](./docs/guides/options.md#--titletemplate) | ||
* [`--excludeGroups`](./docs/guides/options.md#--excludegroups) | ||
* [`--useCodeBlocks`](./docs/guides/options.md#--usecodeblocks) | ||
* [`--expandObjects`](./docs/guides/options.md#--expandobjects) | ||
* [`--parametersFormat`](./docs/guides/options.md#--parametersformat) | ||
* [`--propertiesFormat`](./docs/guides/options.md#--propertiesformat) | ||
* [`--enumMembersFormat`](./docs/guides/options.md#--enummembersformat) | ||
* [`--typeDeclarationFormat`](./docs/guides/options.md#--typedeclarationformat) | ||
* [`--indexFormat`](./docs/guides/options.md#--indexformat) | ||
Options that alter the format and structure of pages. | ||
* [`--hidePageHeader`](./docs/plugin-options.md#--hidepageheader) | ||
* [`--hidePageTitle`](./docs/plugin-options.md#--hidepagetitle) | ||
* [`--hideBreadcrumbs`](./docs/plugin-options.md#--hidebreadcrumbs) | ||
* [`--hideInPageTOC`](./docs/plugin-options.md#--hideinpagetoc) | ||
* [`--indexPageTitle`](./docs/plugin-options.md#--indexpagetitle) | ||
* [`--memberPageTitle`](./docs/plugin-options.md#--memberpagetitle) | ||
* [`--excludeGroups`](./docs/plugin-options.md#--excludegroups) | ||
* [`--useCodeBlocks`](./docs/plugin-options.md#--usecodeblocks) | ||
* [`--expandObjects`](./docs/plugin-options.md#--expandobjects) | ||
* [`--parametersFormat`](./docs/plugin-options.md#--parametersformat) | ||
* [`--propertiesFormat`](./docs/plugin-options.md#--propertiesformat) | ||
* [`--enumMembersFormat`](./docs/plugin-options.md#--enummembersformat) | ||
* [`--typeDeclarationFormat`](./docs/plugin-options.md#--typedeclarationformat) | ||
* [`--indexFormat`](./docs/plugin-options.md#--indexformat) | ||
#### Utility options | ||
* [`--preserveAnchorCasing`](./docs/guides/options.md#--preserveanchorcasing) | ||
* [`--anchorPrefix`](./docs/guides/options.md#--anchorprefix) | ||
* [`--namedAnchors`](./docs/guides/options.md#--namedanchors) | ||
Options that configure additional functionality. | ||
* [`--preserveAnchorCasing`](./docs/plugin-options.md#--preserveanchorcasing) | ||
* [`--anchorPrefix`](./docs/plugin-options.md#--anchorprefix) | ||
* [`--namedAnchors`](./docs/plugin-options.md#--namedanchors) | ||
## Contributing | ||
@@ -85,0 +94,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
201769
4789
97