diff --git a/.changeset/four-bugs-fail.md b/.changeset/four-bugs-fail.md
new file mode 100644
index 00000000..58272645
--- /dev/null
+++ b/.changeset/four-bugs-fail.md
@@ -0,0 +1,5 @@
+---
+"typedoc-plugin-markdown": patch
+---
+
+- Removed deprecated options.
diff --git a/.changeset/great-phones-fetch.md b/.changeset/great-phones-fetch.md
new file mode 100644
index 00000000..1c2afb2f
--- /dev/null
+++ b/.changeset/great-phones-fetch.md
@@ -0,0 +1,5 @@
+---
+"typedoc-plugin-markdown": patch
+---
+
+- Tweaked link behaviour in page header.
diff --git a/docs/pages/_meta.js b/docs/pages/_meta.js
index 25972bda..6af91522 100644
--- a/docs/pages/_meta.js
+++ b/docs/pages/_meta.js
@@ -12,10 +12,10 @@ export default {
},
docs: {
type: 'page',
- title: 'Documentation',
+ title: 'Docs',
},
plugins: {
- title: 'Related Plugins',
+ title: 'Child Plugins',
type: 'page',
},
'api-docs': {
diff --git a/docs/pages/api-docs/Class.MarkdownThemeContext.md b/docs/pages/api-docs/Class.MarkdownThemeContext.md
index 6c69d0b3..5b4b510b 100644
--- a/docs/pages/api-docs/Class.MarkdownThemeContext.md
+++ b/docs/pages/api-docs/Class.MarkdownThemeContext.md
@@ -1172,6 +1172,20 @@ Please note that partials:
`string`
+#### getPropertyDefaultValue()
+
+> **getPropertyDefaultValue**: (`model`) => `null` \| `string`
+
+##### Parameters
+
+| Parameter | Type |
+| :------ | :------ |
+| `model` | [`DeclarationReflection`](https://typedoc.org/api/classes/Models.DeclarationReflection.html) |
+
+##### Returns
+
+`null` \| `string`
+
#### getReturnType()
> **getReturnType**: (`model`?) => `string`
diff --git a/docs/pages/api-docs/Interface.PluginOptions.md b/docs/pages/api-docs/Interface.PluginOptions.md
index 5573a121..45226490 100644
--- a/docs/pages/api-docs/Interface.PluginOptions.md
+++ b/docs/pages/api-docs/Interface.PluginOptions.md
@@ -92,14 +92,6 @@ Do not print breadcrumbs.
***
-### hideInPageTOC
-
-> **hideInPageTOC**: `boolean`
-
-Do not render in-page TOC items.
-
-***
-
### hidePageHeader
> **hidePageHeader**: `boolean`
@@ -156,6 +148,26 @@ Merges the resolved readme into the project index page.
***
+### navigationModel
+
+> **navigationModel**: `object`
+
+Configures how the navigation model will be generated.
+
+#### excludeGroups
+
+> **excludeGroups**: `boolean`
+
+#### excludeCategories
+
+> **excludeCategories**: `boolean`
+
+#### excludeFolders
+
+> **excludeFolders**: `boolean`
+
+***
+
### outputFileStrategy
> **outputFileStrategy**: `"members"` \| `"modules"`
diff --git a/docs/pages/api-docs/Interface.TextContentMappings.md b/docs/pages/api-docs/Interface.TextContentMappings.md
index 0df06d8f..39424dda 100644
--- a/docs/pages/api-docs/Interface.TextContentMappings.md
+++ b/docs/pages/api-docs/Interface.TextContentMappings.md
@@ -46,6 +46,12 @@ Describes the keys available to replace static text.
***
+### label.apiIndex
+
+> **label.apiIndex**: `string`
+
+***
+
### label.defaultValue
> **label.defaultValue**: `string`
diff --git a/docs/pages/api-docs/_meta.js b/docs/pages/api-docs/_meta.js
index e8e71313..bcfb2aae 100644
--- a/docs/pages/api-docs/_meta.js
+++ b/docs/pages/api-docs/_meta.js
@@ -1,5 +1,5 @@
export default {
- "index": "Index",
+ "index": "API Index",
"Application": {
"type": "separator",
"title": "Application"
diff --git a/docs/pages/docs/_meta.js b/docs/pages/docs/_meta.js
index fc9ec4f7..c24adf55 100644
--- a/docs/pages/docs/_meta.js
+++ b/docs/pages/docs/_meta.js
@@ -17,5 +17,6 @@ export default {
type: 'separator',
title: 'Support',
},
+ examples: '',
changelog: '',
};
diff --git a/docs/pages/docs/examples.mdx b/docs/pages/docs/examples.mdx
new file mode 100644
index 00000000..374f93eb
--- /dev/null
+++ b/docs/pages/docs/examples.mdx
@@ -0,0 +1,24 @@
+import { Cards, Callout } from 'nextra/components';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faGithub } from '@fortawesome/free-brands-svg-icons';
+import { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';
+
+# Examples
+
+Here is a list of examples showcasing the output generated using the plugin. Available on GitHub .
+
+## Index
+
+| Example | Description |
+| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------ |
+| [Default options ](https://raw.githubusercontent.com/tgreyuk/typedoc-plugin-markdown-examples/main/examples/01-default-options-example/docs/README.md) | This example uses the default settings of the plugin. |
+| [Customized UX options ](https://raw.githubusercontent.com/tgreyuk/typedoc-plugin-markdown-examples/main/examples/02-ux-options-example/docs/README.md) | This example showcases how the UX can be customised. |
+| [Single page modules ](https://raw.githubusercontent.com/tgreyuk/typedoc-plugin-markdown-examples/main/examples/03-single-page-modules-example/docs/README.md) | This example demonstrates output with single page modules. |
+| [Single page docs ](https://raw.githubusercontent.com/tgreyuk/typedoc-plugin-markdown-examples/main/examples/04-single-page-docs-example/docs/README.md) | This example shows the output to a single page with a single entry point. |
+| [Packages ](https://raw.githubusercontent.com/tgreyuk/typedoc-plugin-markdown-examples/main/examples/05-packages-example/docs/README.md) | This example showcases packages mode. |
+
+## Repository
+
+For clearer viewing, these examples open on `https://raw.githubusercontent.com`.
+
+If you would like to view the configuration and source then explore the [examples GitHub repository ](https://github.com/tgreyuk/typedoc-plugin-markdown-examples) in the normal web interface.
diff --git a/docs/pages/docs/index.mdx b/docs/pages/docs/index.mdx
index 167f0b34..52c5e38a 100644
--- a/docs/pages/docs/index.mdx
+++ b/docs/pages/docs/index.mdx
@@ -1,8 +1,5 @@
import { Cards, Callout } from 'nextra/components';
import pjson from '../../../packages/typedoc-plugin-markdown/package.json';
-import Image from 'next/image';
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import { faGithub } from '@fortawesome/free-brands-svg-icons';
# typedoc-plugin-markdown
@@ -19,17 +16,5 @@ This plugin enables TypeDoc to output documentation in Markdown. Since many tool
- [MDX](https://mdxjs.com/) and [GFM](https://github.github.com/gfm/) compliant.
- Works alongside other TypeDoc plugins.
- Configurable output file structure.
-- Configurable UI options
+- Configurable UX options
- [Frontmatter](/plugins/frontmatter) and [Remark](/plugins/remark) utility plugins available.
-
-## Examples
-
-
- }
- arrow={true}
- href="https://github.com/tgreyuk/typedoc-plugin-markdown-examples/tree/main/examples/01-typedoc-plugin-markdown"
- target="_blank"
- />
-
diff --git a/docs/pages/docs/options.mdx b/docs/pages/docs/options.mdx
index 369cdaf4..85021071 100644
--- a/docs/pages/docs/options.mdx
+++ b/docs/pages/docs/options.mdx
@@ -202,7 +202,7 @@ Please note a separate modules index page will not be generated, therefore would
> Accepts a boolean value. Defaults to `false`.
-By default when a readme file is resolved, a separate readme page is created. This option prepends the readme contents into the index page so only a single root page is generated.
+By default when a readme file is resolved, a separate readme page is created. This option appends the index page to the readme so only a single root page is generated.
This option has no effect when [`readme`](https://typedoc.org/options/input/#readme) is set to `"none"`.
@@ -253,7 +253,7 @@ Ignored if `flattenOutputFiles` is set to `true`.
---
-## UI Options
+## UX Options
### hidePageHeader
@@ -297,54 +297,6 @@ Ignored if `flattenOutputFiles` is set to `true`.
---
-### ~hideInPageTOC~
-
-
- Deprecated - In-page TOC is now hidden as default.
-
-
-> Accepts a boolean value. Defaults to `false`.
-
-```json filename="typedoc.json"
-{
- "hideInPageTOC": false
-}
-```
-
----
-
-### ~indexPageTitle~
-
-Deprecated - Please use `textContentMappings`.
-
-> Accepts a string value. Defaults to `"{ProjectName}"`.
-
-Provides a mechanism to change the main project index page title.
-
-```json filename="typedoc.json"
-{
- "indexPageTitle": "{ProjectName}"
-}
-```
-
----
-
-### ~memberPageTitle~
-
-Deprecated - Please use `textContentMappings`.
-
-> Accepts a string value. Defaults to `"{kind}: {name}"`.
-
-Provides a mechanism to configure the page title of members.
-
-```json filename="typedoc.json"
-{
- "memberPageTitle": "{kind}: {name}"
-}
-```
-
----
-
### excludeGroups
@@ -552,7 +504,7 @@ Keys are categorised with the following namespace conventions:
- `header.*` defines text in the page header (if displayed).
- `breadcrumbs.*` defines breadcrumbs in page header (if displayed).
- `title.*` defines text in main page titles.
-- `label.*` other text in page content, including headings and table headers.
+- `label.*` other text in page content, including content headings and table headers.
- `kind.*` defines text mappings to TypeDoc's `ReflectionKind` definitions.
Only keys that require translation need to be added to the object.
@@ -562,11 +514,12 @@ Only keys that require translation need to be added to the object.
"textContentMappings": {
"header.title": "{projectName} {version}",
"header.readme": "Readme",
- "header.docs": "API",
+ "header.docs": "Docs",
"breadcrumbs.home": "{projectName} {version}",
"title.indexPage": "{projectName} {version}",
"title.modulePage": "{name}",
"title.memberPage": "{kind}: {name}",
+ "label.apiIndex": "API Index",
"label.defaultValue": "Default value",
"label.description": "Description",
"label.extendedBy": "Extended by",
diff --git a/docs/pages/docs/quick-start.mdx b/docs/pages/docs/quick-start.mdx
index b8d65683..17ab612c 100644
--- a/docs/pages/docs/quick-start.mdx
+++ b/docs/pages/docs/quick-start.mdx
@@ -38,5 +38,3 @@ Or:
```shell filename="CLI"
npm run docs
```
-
-For more information please see the [Using TypeDoc](/docs/using-typedoc) guide.
diff --git a/docs/pages/docs/using-typedoc.mdx b/docs/pages/docs/using-typedoc.mdx
index 1f2f0004..a0806ef7 100644
--- a/docs/pages/docs/using-typedoc.mdx
+++ b/docs/pages/docs/using-typedoc.mdx
@@ -26,11 +26,11 @@ TypeDoc's [Output](https://typedoc.org/options/output/) options are used by the
Below is a list of which TypeDoc Output options are supported or not:
- `--out` Yes ✅
-- `--theme` Yes ✅
+- `--theme` Yes ✅ (theme should be MarkdownTheme instance)
- `--cleanOutputDir` Yes ✅
- `--basePath` Yes ✅
-- `--hideParameterTypesInTitle` No ❌ (see [`--expandParameters`](/docs/options#expandparameters))
-- `--navigation` No ❌ (see [`navigation`](/docs/navigation))
+- `--hideParameterTypesInTitle` No ❌ (use [`--expandParameters`](/docs/options#expandparameters))
+- `--navigation` No ❌ (use [`--navigationModel`](/docs/options#navigationmodel))
- `--titleLink` No ❌
- `--navigationLinks` No ❌
- `--sidebarLinks` No ❌
diff --git a/docs/pages/index.mdx b/docs/pages/index.mdx
index be7159aa..a72fef0c 100644
--- a/docs/pages/index.mdx
+++ b/docs/pages/index.mdx
@@ -9,7 +9,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
typedoc-plugin-markdown
-
+ →
diff --git a/docs/pages/plugins/_meta.js b/docs/pages/plugins/_meta.js
index 3608e9a4..674291cb 100644
--- a/docs/pages/plugins/_meta.js
+++ b/docs/pages/plugins/_meta.js
@@ -1,27 +1,17 @@
export default {
- index: 'Index',
-
+ index: 'Child Plugins Index',
'-- Utils': {
type: 'separator',
title: 'Utils',
},
-
- frontmatter: 'typedoc-plugin-frontmatter',
- remark: 'typedoc-plugin-remark',
-
- '-- Themes': {
+ frontmatter: '',
+ remark: 'Remark',
+ '-- Themes & Integrations': {
type: 'separator',
- title: 'Themes',
+ title: 'Themes & Integrations',
},
-
- vitepress: 'typedoc-vitepress-theme',
- 'github-wiki': 'typedoc-github-wiki-theme',
- 'gitlab-wiki': 'typedoc-gitlab-wiki-theme',
-
- '-- Integrations': {
- type: 'separator',
- title: 'Integrations',
- },
-
- docusaurus: 'docusaurus-plugin-typedoc',
+ docusaurus: 'Docusaurus',
+ vitepress: '',
+ 'github-wiki': 'Github Wiki',
+ 'gitlab-wiki': 'Gitlab Wiki',
};
diff --git a/docs/pages/plugins/index.mdx b/docs/pages/plugins/index.mdx
index e1234b95..d65660c9 100644
--- a/docs/pages/plugins/index.mdx
+++ b/docs/pages/plugins/index.mdx
@@ -2,24 +2,19 @@ import { Cards } from 'nextra/components';
import Image from 'next/image';
import { faFileLines, faBook } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import {
- faGithub,
- faGitlab,
- faVuejs,
-} from '@fortawesome/free-brands-svg-icons';
-# Related Plugins
+# Child Plugins
-Listed here are related plugins that can be used with **typedoc-plugin-markdown** to enhance the documentation experience.
+Listed here are plugins that can be used with **typedoc-plugin-markdown** to enhance the documentation experience.
## Utils
-Utility plugins that can be used to adjust the output of the markdown files.
+Utility plugins that can be used to provide metadata or adjust the output of the markdown files.
}
+ title="Frontmatter"
+ icon={}
arrow={true}
href="plugins/frontmatter"
/>
@@ -31,40 +26,42 @@ Utility plugins that can be used to adjust the output of the markdown files.
/>
-## Themes
+## Themes & Integrations
-Theme plugins that can be used to adjust the output for specific platforms.
+Plugins that can be used to integrate and target output for specific platforms.
+
+ }
+ arrow={true}
+ href="plugins/docusaurus"
+ />
}
+ icon={
+
+ }
arrow={true}
href="plugins/vitepress"
/>
}
+ icon={}
arrow={true}
href="plugins/github-wiki"
/>
}
+ icon={}
arrow={true}
href="plugins/gitlab-wiki"
/>
-
-## Integrations
-
-Integration plugins that can be used to integrate with other tools.
-
-
- }
- arrow={true}
- href="plugins/docusaurus"
- />
-
diff --git a/docs/public/docusaurus-logo.svg b/docs/public/docusaurus-logo.svg
new file mode 100644
index 00000000..864a3140
--- /dev/null
+++ b/docs/public/docusaurus-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/public/github-logo.svg b/docs/public/github-logo.svg
new file mode 100644
index 00000000..e15fa07f
--- /dev/null
+++ b/docs/public/github-logo.svg
@@ -0,0 +1,17 @@
+
+
+
\ No newline at end of file
diff --git a/docs/public/gitlab-logo.png b/docs/public/gitlab-logo.png
new file mode 100644
index 00000000..e09b97f0
Binary files /dev/null and b/docs/public/gitlab-logo.png differ
diff --git a/docs/public/vuepress-logo.png b/docs/public/vuepress-logo.png
new file mode 100644
index 00000000..ac60d03f
Binary files /dev/null and b/docs/public/vuepress-logo.png differ
diff --git a/docs/theme.config.jsx b/docs/theme.config.jsx
index d9a51650..a0714595 100644
--- a/docs/theme.config.jsx
+++ b/docs/theme.config.jsx
@@ -58,8 +58,7 @@ export default {
<>
- typedoc-plugin-markdown •
- {title || 'Generate TypeScript API documentation as Markdown.'}
+ {`typedoc-plugin-markdown • ${title || 'Generate TypeScript API documentation as Markdown.'}`}
@@ -71,7 +70,5 @@ export default {
prev: true,
next: true,
},
- footer: {
- content: ,
- },
+ footer: false,
};
diff --git a/packages/typedoc-github-wiki-theme/src/index.ts b/packages/typedoc-github-wiki-theme/src/index.ts
index 64e0b2f5..ab05e337 100644
--- a/packages/typedoc-github-wiki-theme/src/index.ts
+++ b/packages/typedoc-github-wiki-theme/src/index.ts
@@ -58,10 +58,6 @@ export function load(app: Application) {
const sidebarHeading = sidebarOptions.heading;
const sidebarContent = getSidebar(output.navigation);
if (sidebarContent.length) {
- fs.writeFileSync(
- `${output.outputDirectory}/sidebar.json`,
- JSON.stringify(output.navigation, null, 2),
- );
fs.writeFileSync(
`${output.outputDirectory}/_Sidebar.md`,
`## ${sidebarHeading}\n\n${formatContents(
diff --git a/packages/typedoc-github-wiki-theme/test/specs/__snapshots__/github-wiki.spec.ts.snap b/packages/typedoc-github-wiki-theme/test/specs/__snapshots__/github-wiki.spec.ts.snap
index 0a84f971..65f21379 100644
--- a/packages/typedoc-github-wiki-theme/test/specs/__snapshots__/github-wiki.spec.ts.snap
+++ b/packages/typedoc-github-wiki-theme/test/specs/__snapshots__/github-wiki.spec.ts.snap
@@ -16,7 +16,6 @@ exports[`GithubWiki should get default files 1`] = `
"module-2.Interface.InterfaceA.md",
"module-2.Interface.InterfaceB.md",
"module-2.md",
- "sidebar.json",
]
`;
diff --git a/packages/typedoc-plugin-markdown/.docs/plugins/typedoc-nextra.mjs b/packages/typedoc-plugin-markdown/.docs/plugins/typedoc-nextra.mjs
index d7ea3726..bc326c5a 100644
--- a/packages/typedoc-plugin-markdown/.docs/plugins/typedoc-nextra.mjs
+++ b/packages/typedoc-plugin-markdown/.docs/plugins/typedoc-nextra.mjs
@@ -25,7 +25,7 @@ function writeMetaJsFiles(app) {
* @param {string} outputDirectory
* @param {Record} defaultValue
*/
- const metaOut = { index: 'Index' };
+ const metaOut = { index: 'API Index' };
output.navigation?.forEach((item) => {
metaOut[item.title] = { type: 'separator', title: item.title };
if (item.children) {
diff --git a/packages/typedoc-plugin-markdown/src/options/declarations.ts b/packages/typedoc-plugin-markdown/src/options/declarations.ts
index 3a31be40..1aa84433 100644
--- a/packages/typedoc-plugin-markdown/src/options/declarations.ts
+++ b/packages/typedoc-plugin-markdown/src/options/declarations.ts
@@ -178,7 +178,7 @@ export const entryModule: Partial = {
};
/**
- * By default when a readme file is resolved, a separate readme page is created. This option prepends the readme contents into the index page so only a single root page is generated.
+ * By default when a readme file is resolved, a separate readme page is created. This option appends the index page to the readme so only a single root page is generated.
*
* This option has no effect when [`readme`](https://typedoc.org/options/input/#readme) is set to `"none"`.
*
@@ -225,7 +225,7 @@ export const excludeScopesInPaths: Partial = {
};
/**
- * @category UI
+ * @category UX
*/
export const hidePageHeader: Partial = {
help: 'Do not print page header.',
@@ -234,7 +234,7 @@ export const hidePageHeader: Partial = {
};
/**
- * @category UI
+ * @category UX
*/
export const hidePageTitle: Partial = {
help: 'Do not print page title.',
@@ -243,7 +243,7 @@ export const hidePageTitle: Partial = {
};
/**
- * @category UI
+ * @category UX
*/
export const hideBreadcrumbs: Partial = {
help: 'Do not print breadcrumbs.',
@@ -251,50 +251,12 @@ export const hideBreadcrumbs: Partial = {
defaultValue: false,
};
-/**
- * @deprecated In-page TOC is now hidden as default.
- *
- * @category UI
- */
-export const hideInPageTOC: Partial = {
- help: 'Do not render in-page TOC items.',
- type: ParameterType.Boolean,
- defaultValue: false,
-};
-
-/**
- * Provides a mechanism to change the main project index page title.
- *
- * @deprecated Please use `textContentMappings`.
- *
- * @category UI
- *
- */
-export const indexPageTitle: Partial = {
- help: 'The title of project index page.',
- type: ParameterType.String,
- defaultValue: '{ProjectName}',
-};
-
-/**
- * Provides a mechanism to configure the page title of members.
- *
- * @deprecated Please use `textContentMappings`.
- *
- * @category UI
- */
-export const memberPageTitle: Partial = {
- help: 'The page title of member pages.',
- type: ParameterType.String,
- defaultValue: '{kind}: {name}',
-};
-
/**
* By default members are grouped by kind (eg Classes, Functions etc).
*
* This creates a flat structure where all members are displayed at the same heading level.
*
- * @category UI
+ * @category UX
*/
export const excludeGroups: Partial = {
help: 'Excludes grouping by kind so all members are rendered and sorted at the same level.',
@@ -309,7 +271,7 @@ export const excludeGroups: Partial = {
*
* As a work around the [`@link`](https://typedoc.org/tags/link/) tag can be be used to manually reference types.
*
- * @category UI
+ * @category UX
*/
export const useCodeBlocks: Partial = {
help: 'Wraps signatures and declarations in code blocks.',
@@ -330,7 +292,7 @@ export const useCodeBlocks: Partial = {
*
* \{ `"x"`: `string` }
*
- * @category UI
+ * @category UX
*/
export const expandObjects: Partial = {
help: 'Expand objects inside declarations.',
@@ -351,7 +313,7 @@ export const expandObjects: Partial = {
*
* `someFunction(param1: string, param2: boolean)`
*
- * @category UI
+ * @category UX
*/
export const expandParameters: Partial = {
help: 'Expand parameters in signature parentheses to display type information.',
@@ -362,7 +324,7 @@ export const expandParameters: Partial = {
/**
* This option either renders parameters for functions and class methods as a list or in tabular format.
*
- * @category UI
+ * @category UX
*/
export const parametersFormat: Partial = {
help: 'Specify the render style of parameter and type parameter groups.',
@@ -374,7 +336,7 @@ export const parametersFormat: Partial = {
/**
* This option either renders properties for classes and interfaces as a list or in tabular format.
*
- * @category UI
+ * @category UX
*
*/
export const propertiesFormat: Partial = {
@@ -387,7 +349,7 @@ export const propertiesFormat: Partial = {
/**
* This option either renders members of enums as a list or in tabular format.
*
- * @category UI
+ * @category UX
*/
export const enumMembersFormat: Partial = {
help: 'Specify the render style of enumuration members.',
@@ -399,7 +361,7 @@ export const enumMembersFormat: Partial = {
/**
* This option either renders type declrations as a list or in tabular format.
*
- * @category UI
+ * @category UX
*/
export const typeDeclarationFormat: Partial = {
help: 'Specify the render style for type declaration members.',
@@ -413,7 +375,7 @@ export const typeDeclarationFormat: Partial = {
*
* For a packages index page (when `--entryPointStrategy` equals `packages`), the package.json description will be displayed with an additional "Version" column (when `--includeVersion` equals true).
*
- * @category UI
+ * @category UX
*/
export const indexFormat: Partial = {
help: 'Specify the render format for index items.',
@@ -439,12 +401,12 @@ export const indexFormat: Partial = {
* - `header.*` defines text in the page header (if displayed).
* - `breadcrumbs.*` defines breadcrumbs in page header (if displayed).
* - `title.*` defines text in main page titles.
- * - `label.*` other text in page content, including headings and table headers.
+ * - `label.*` other text in page content, including content headings and table headers.
* - `kind.*` defines text mappings to TypeDoc's `ReflectionKind` definitions.
*
* Only keys that require translation need to be added to the object.
*
- * @category UI
+ * @category UX
*/
export const textContentMappings: Partial = {
help: 'Provides a mechanism to change the content of text used in documentation.',
diff --git a/packages/typedoc-plugin-markdown/src/options/option-types.ts b/packages/typedoc-plugin-markdown/src/options/option-types.ts
index 7e7a1fd1..9b1e610b 100644
--- a/packages/typedoc-plugin-markdown/src/options/option-types.ts
+++ b/packages/typedoc-plugin-markdown/src/options/option-types.ts
@@ -15,12 +15,9 @@ declare module 'typedoc' {
fileExtension: string;
flattenOutputFiles: boolean;
hideBreadcrumbs: boolean;
- hideInPageTOC: boolean;
hidePageHeader: boolean;
hidePageTitle: boolean;
indexFormat: 'list' | 'table';
- indexPageTitle: string;
- memberPageTitle: string;
membersWithOwnFile: (
| 'Enum'
| 'Variable'
@@ -109,11 +106,6 @@ export interface PluginOptions {
*/
hideBreadcrumbs: boolean;
- /**
- * Do not render in-page TOC items.
- */
- hideInPageTOC: boolean;
-
/**
* Do not print page header.
*/
@@ -129,16 +121,6 @@ export interface PluginOptions {
*/
indexFormat: 'list' | 'table';
- /**
- * The title of project index page.
- */
- indexPageTitle: string;
-
- /**
- * The page title of member pages.
- */
- memberPageTitle: string;
-
/**
* Determines which members are exported to their own file when `outputFileStrategy` equals `members`.
*/
@@ -229,6 +211,7 @@ export interface TextContentMappings {
'title.indexPage': string;
'title.modulePage': string;
'title.memberPage': string;
+ 'label.apiIndex': string;
'label.defaultValue': string;
'label.description': string;
'label.extendedBy': string;
diff --git a/packages/typedoc-plugin-markdown/src/options/text-mappings/text-mapping-defaults.ts b/packages/typedoc-plugin-markdown/src/options/text-mappings/text-mapping-defaults.ts
index bee67fa4..8620e035 100644
--- a/packages/typedoc-plugin-markdown/src/options/text-mappings/text-mapping-defaults.ts
+++ b/packages/typedoc-plugin-markdown/src/options/text-mappings/text-mapping-defaults.ts
@@ -3,11 +3,12 @@ import { KIND_DEFAULTS } from './kind-defaults';
export const TEXT_MAPPING_DEFAULTS = {
'header.title': '{projectName} {version}',
'header.readme': 'Readme',
- 'header.docs': 'API',
+ 'header.docs': 'Docs',
'breadcrumbs.home': '{projectName} {version}',
'title.indexPage': '{projectName} {version}',
'title.modulePage': '{name}',
'title.memberPage': '{kind}: {name}',
+ 'label.apiIndex': 'API Index',
'label.defaultValue': 'Default value',
'label.description': 'Description',
'label.extendedBy': 'Extended by',
diff --git a/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.breadcrumbs.ts b/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.breadcrumbs.ts
index 8d12b665..ea7d7565 100644
--- a/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.breadcrumbs.ts
+++ b/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.breadcrumbs.ts
@@ -29,7 +29,12 @@ export function breadcrumbs(this: MarkdownThemeContext): string {
.replace(/\s+/g, ' ')
.trim();
- md.push(link(homeLabel, this.getRelativeUrl(entryFileName)));
+ md.push(
+ link(
+ homeLabel,
+ this.getRelativeUrl(this.page?.project?.url || entryFileName),
+ ),
+ );
const breadcrumb = (model: any) => {
if (model?.parent?.parent) {
diff --git a/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.header.ts b/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.header.ts
index 252e8a08..71b6f837 100644
--- a/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.header.ts
+++ b/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.header.ts
@@ -1,4 +1,4 @@
-import { bold, link } from '@plugin/libs/markdown';
+import { link } from '@plugin/libs/markdown';
import { MarkdownThemeContext } from '@plugin/theme';
import * as path from 'path';
import {
@@ -42,8 +42,11 @@ export function header(this: MarkdownThemeContext): string {
const readmeLabel = this.getText('header.readme');
const indexLabel = this.getText('header.docs');
- md.push(bold(title));
-
+ if (this.page.url === entryFileName) {
+ md.push(title);
+ } else {
+ md.push(link(title, this.getRelativeUrl(entryFileName)));
+ }
md.push('•');
const preserveReadme =
@@ -75,23 +78,15 @@ export function header(this: MarkdownThemeContext): string {
const indexUrl = useEntryModule ? entryFileName : this.page.project.url;
- if (this.page.url === indexUrl) {
- links.push(indexLabel);
+ if (this.page.url === readMeUrl) {
+ links.push(link(indexLabel, this.getRelativeUrl(indexUrl || '')));
} else {
- if (indexUrl) {
- links.push(link(indexLabel, this.getRelativeUrl(indexUrl)));
- }
+ links.push(indexLabel);
}
md.push(`${links.join(' ')}`);
} else {
- if (useEntryModule || this.page.url === this.page.project.url) {
- md.push(indexLabel);
- } else {
- if (this.page.project.url) {
- md.push(link(indexLabel, this.getRelativeUrl(this.page.project.url)));
- }
- }
+ md.push(indexLabel);
}
return `${md.join(' ')}\n\n***\n`;
@@ -118,7 +113,13 @@ export function header(this: MarkdownThemeContext): string {
? `${packageItem.name} v${packageItem.packageVersion}`
: packageItem.name;
- md.push(bold(packageItemName));
+ const packageEntryFile = `${packageItem.name}/${entryFileName}`;
+
+ if (this.page.url === packageEntryFile) {
+ md.push(packageItemName);
+ } else {
+ md.push(link(packageItemName, this.getRelativeUrl(packageEntryFile)));
+ }
md.push('•');
@@ -127,23 +128,23 @@ export function header(this: MarkdownThemeContext): string {
if (preservePackageReadme) {
const links: string[] = [];
- const readmeUrl = `${packageItem.name}/${entryFileName}`;
- if (this.page.url === readmeUrl) {
+ if (this.page.url === packageEntryFile) {
links.push(readmeLabel);
} else {
- links.push(link(readmeLabel, this.getRelativeUrl(readmeUrl)));
+ links.push(link(readmeLabel, this.getRelativeUrl(packageEntryFile)));
}
links.push('\\|');
- if (this.page.url === packageItem.url) {
- links.push(indexLabel);
+ if (this.page.url === packageEntryFile) {
+ links.push(
+ link(indexLabel, this.getRelativeUrl(packageItem.url || '')),
+ );
} else {
- if (packageItem.url) {
- links.push(link(indexLabel, this.getRelativeUrl(packageItem.url)));
- }
+ links.push(indexLabel);
}
+
md.push(`${links.join(' ')}`);
} else {
md.push(indexLabel);
diff --git a/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.pageTtitle.ts b/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.pageTtitle.ts
index 8f782f0d..00a8241e 100644
--- a/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.pageTtitle.ts
+++ b/packages/typedoc-plugin-markdown/src/theme/resources/partials/page.pageTtitle.ts
@@ -8,9 +8,7 @@ import { MarkdownThemeContext, TextContentMappings } from '../../..';
export function pageTitle(this: MarkdownThemeContext): string {
const page = this.page;
if (page.model?.url === page.project.url) {
- const titleContent = this.options.isSet('indexPageTitle')
- ? this.options.getValue('indexPageTitle')
- : this.getText('title.indexPage');
+ const titleContent = this.getText('title.indexPage');
return titleContent
.replace('{projectName}', page.project.name)
.replace(
@@ -26,9 +24,7 @@ export function pageTitle(this: MarkdownThemeContext): string {
const textContent =
page.model.kind === ReflectionKind.Module
? this.getText('title.modulePage')
- : this.options.isSet('memberPageTitle')
- ? this.options.getValue('memberPageTitle')
- : this.getText('title.memberPage');
+ : this.getText('title.memberPage');
const kindKey = SINGULAR_KIND_KEY_MAP[
ReflectionKind.singularString(page.model.kind)
diff --git a/packages/typedoc-plugin-markdown/src/theme/resources/templates/project.ts b/packages/typedoc-plugin-markdown/src/theme/resources/templates/project.ts
index 39bda371..da39ea9c 100644
--- a/packages/typedoc-plugin-markdown/src/theme/resources/templates/project.ts
+++ b/packages/typedoc-plugin-markdown/src/theme/resources/templates/project.ts
@@ -38,7 +38,14 @@ export function project(this: MarkdownThemeContext) {
}
if (model?.groups?.some((group) => group.allChildrenHaveOwnDocument())) {
- md.push(this.partials.reflectionIndex(model, { headingLevel: 2 }));
+ if (includeReadme) {
+ md.push(heading(2, this.getText('label.apiIndex')));
+ }
+ md.push(
+ this.partials.reflectionIndex(model, {
+ headingLevel: includeReadme ? 3 : 2,
+ }),
+ );
}
const isPackages =
diff --git a/packages/typedoc-plugin-markdown/test/fixtures/config.ts b/packages/typedoc-plugin-markdown/test/fixtures/config.ts
index a1808e44..fc734957 100644
--- a/packages/typedoc-plugin-markdown/test/fixtures/config.ts
+++ b/packages/typedoc-plugin-markdown/test/fixtures/config.ts
@@ -20,7 +20,6 @@ const config: Record = {
enumMembersFormat: 'table',
useCodeBlocks: true,
expandParameters: true,
- memberPageTitle: '{name}',
navigationModel: {
excludeGroups: true,
},
@@ -90,7 +89,6 @@ const config: Record = {
excludeGroups: true,
useHTMLAnchors: true,
indexFormat: 'table',
- indexPageTitle: '{projectName}',
categorizeByGroup: false,
},
],
@@ -135,7 +133,6 @@ const config: Record = {
excludeScopesInPaths: true,
mergeReadme: true,
includeVersion: true,
- indexPageTitle: 'API',
indexFormat: 'table',
},
],
@@ -172,6 +169,7 @@ const config: Record = {
],
},
readme: {
+ only: false,
entryPoints: '/readme/index.ts',
commonOptions: {
plugin: [path.join(__dirname, 'custom-plugins', 'navigation-plugin.mjs')],
diff --git a/packages/typedoc-plugin-markdown/test/fixtures/custom-plugins/custom-theme.mjs b/packages/typedoc-plugin-markdown/test/fixtures/custom-plugins/custom-theme.mjs
index 92abb8c0..292739ef 100644
--- a/packages/typedoc-plugin-markdown/test/fixtures/custom-plugins/custom-theme.mjs
+++ b/packages/typedoc-plugin-markdown/test/fixtures/custom-plugins/custom-theme.mjs
@@ -30,11 +30,6 @@ export function load(app) {
() => '> **Generated using `page.index.end` hook**',
);
- app.renderer.markdownHooks.on(
- 'index.content.begin',
- () => '> `content.index.begin` hook',
- );
-
app.renderer.preRenderAsyncJobs.push(async (output) => {
await new Promise((r) => setTimeout(r, 5));
fs.writeFileSync(
diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/entryfiles.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/entryfiles.spec.ts.snap
index e9cb56a6..49eef0ce 100644
--- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/entryfiles.spec.ts.snap
+++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/entryfiles.spec.ts.snap
@@ -1,7 +1,7 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`EntryFiles should get entry module: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**@scope/entryfile** • [Readme](readme_.mdx) \\| API
+"@scope/entryfile • [Readme](readme_.mdx) \\| Docs
***
@@ -16,7 +16,7 @@ exports[`EntryFiles should get entry module: (Output File Strategy "members") (O
`;
exports[`EntryFiles should get entry module: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**@scope/entryfile** • API
+"@scope/entryfile • Docs
***
@@ -31,11 +31,11 @@ exports[`EntryFiles should get entry module: (Output File Strategy "members") (O
`;
exports[`EntryFiles should get module member for members: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**@scope/entryfile** • [Readme](../../readme_.mdx) \\| [API](../../README.mdx)
+"[@scope/entryfile](../../README.mdx) • [Readme](../../readme_.mdx) \\| Docs
***
-[@scope/entryfile](../../README.mdx) / ModuleClass
+[@scope/entryfile](../../modules.mdx) / ModuleClass
# Class: ModuleClass
@@ -52,11 +52,11 @@ exports[`EntryFiles should get module member for members: (Output File Strategy
`;
exports[`EntryFiles should get module member for members: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**@scope/entryfile** • API
+"[@scope/entryfile](../../index.mdx) • Docs
***
-[@scope/entryfile](../../index.mdx) / ModuleClass
+[@scope/entryfile](../../modules.mdx) / ModuleClass
# Class: ModuleClass
@@ -73,11 +73,11 @@ exports[`EntryFiles should get module member for members: (Output File Strategy
`;
exports[`EntryFiles should get readme file: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**@scope/entryfile** • Readme \\| [API](README.mdx)
+"[@scope/entryfile](README.mdx) • Readme \\| [Docs](README.mdx)
***
-[@scope/entryfile](README.mdx) / @scope/entryfile
+[@scope/entryfile](modules.mdx) / @scope/entryfile
# MY README
diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/groups.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/groups.spec.ts.snap
index 670e20dd..088effe8 100644
--- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/groups.spec.ts.snap
+++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/groups.spec.ts.snap
@@ -1,11 +1,11 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Groups should compile basic module index page: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](../index.md) \\| [API](../modules.md)
+"[typedoc-stubs](../index.md) • [Readme](../index.md) \\| Docs
***
-[typedoc-stubs](../index.md) / basic
+[typedoc-stubs](../modules.md) / basic
# basic
@@ -36,7 +36,7 @@ A basic module
`;
exports[`Groups should compile basic module index page: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](../index.md)
+"[typedoc-stubs](../index.md) • Docs
***
@@ -74,11 +74,11 @@ A basic module
`;
exports[`Groups should compile basic module index page: (Output File Strategy "modules") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](index.md) \\| [API](modules.md)
+"[typedoc-stubs](index.md) • [Readme](index.md) \\| Docs
***
-[typedoc-stubs](index.md) / basic
+[typedoc-stubs](modules.md) / basic
# basic
@@ -153,7 +153,7 @@ A basic module
`;
exports[`Groups should compile basic module index page: (Output File Strategy "modules") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](index.md)
+"[typedoc-stubs](index.md) • Docs
***
@@ -254,11 +254,11 @@ A basic module
`;
exports[`Groups should compile categories group page: (Output File Strategy "modules") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](index.md) \\| [API](modules.md)
+"[typedoc-stubs](index.md) • [Readme](index.md) \\| Docs
***
-[typedoc-stubs](index.md) / has-categories
+[typedoc-stubs](modules.md) / has-categories
# has-categories
@@ -311,7 +311,7 @@ A module that contains categories
`;
exports[`Groups should compile categories group page: (Output File Strategy "modules") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](index.md)
+"[typedoc-stubs](index.md) • Docs
***
@@ -384,11 +384,11 @@ A module that contains categories
`;
exports[`Groups should compile categories index page: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](../index.md) \\| [API](../modules.md)
+"[typedoc-stubs](../index.md) • [Readme](../index.md) \\| Docs
***
-[typedoc-stubs](../index.md) / has-categories
+[typedoc-stubs](../modules.md) / has-categories
# has-categories
@@ -431,7 +431,7 @@ A module that contains categories
`;
exports[`Groups should compile categories index page: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](../index.md)
+"[typedoc-stubs](../index.md) • Docs
***
@@ -471,11 +471,11 @@ A module that contains categories
`;
exports[`Groups should compile custom groups index page: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](../index.md) \\| [API](../modules.md)
+"[typedoc-stubs](../index.md) • [Readme](../index.md) \\| Docs
***
-[typedoc-stubs](../index.md) / has-custom-groups
+[typedoc-stubs](../modules.md) / has-custom-groups
# has-custom-groups
@@ -499,7 +499,7 @@ A module that contains custom groupings
`;
exports[`Groups should compile custom groups index page: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](../index.md)
+"[typedoc-stubs](../index.md) • Docs
***
@@ -544,7 +544,7 @@ Default grouping
`;
exports[`Groups should compile index page for project: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](index.md) \\| API
+"[typedoc-stubs](index.md) • [Readme](index.md) \\| Docs
***
@@ -565,7 +565,7 @@ exports[`Groups should compile index page for project: (Output File Strategy "me
`;
exports[`Groups should compile index page for project: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**typedoc-stubs** • API
+"typedoc-stubs • Docs
***
@@ -586,7 +586,7 @@ exports[`Groups should compile index page for project: (Output File Strategy "me
`;
exports[`Groups should compile index page for project: (Output File Strategy "modules") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](index.md) \\| API
+"[typedoc-stubs](index.md) • [Readme](index.md) \\| Docs
***
@@ -607,7 +607,7 @@ exports[`Groups should compile index page for project: (Output File Strategy "mo
`;
exports[`Groups should compile index page for project: (Output File Strategy "modules") (Option Group "2") 1`] = `
-"**typedoc-stubs** • API
+"typedoc-stubs • Docs
***
@@ -628,11 +628,11 @@ exports[`Groups should compile index page for project: (Output File Strategy "mo
`;
exports[`Groups should compile module index for a namespace: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](../../../index.md) \\| [API](../../../modules.md)
+"[typedoc-stubs](../../../index.md) • [Readme](../../../index.md) \\| Docs
***
-[typedoc-stubs](../../../index.md) / [has-namespaces](../../index.md) / \\_Namespace\\_A\\_
+[typedoc-stubs](../../../modules.md) / [has-namespaces](../../index.md) / \\_Namespace\\_A\\_
# Namespace: \\_Namespace\\_A\\_
@@ -649,7 +649,7 @@ exports[`Groups should compile module index for a namespace: (Output File Strate
`;
exports[`Groups should compile module index for a namespace: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](../../../index.md)
+"[typedoc-stubs](../../../index.md) • Docs
***
@@ -667,11 +667,11 @@ exports[`Groups should compile module index for a namespace: (Output File Strate
`;
exports[`Groups should compile module index for a namespace: (Output File Strategy "modules") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](../../../index.md) \\| [API](../../../modules.md)
+"[typedoc-stubs](../../../index.md) • [Readme](../../../index.md) \\| Docs
***
-[typedoc-stubs](../../../index.md) / [has-namespaces](../../index.md) / \\_Namespace\\_A\\_
+[typedoc-stubs](../../../modules.md) / [has-namespaces](../../index.md) / \\_Namespace\\_A\\_
# Namespace: \\_Namespace\\_A\\_
@@ -688,7 +688,7 @@ exports[`Groups should compile module index for a namespace: (Output File Strate
`;
exports[`Groups should compile module index for a namespace: (Output File Strategy "modules") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](../../../index.md)
+"[typedoc-stubs](../../../index.md) • Docs
***
@@ -709,11 +709,11 @@ exports[`Groups should compile module index for a namespace: (Output File Strate
`;
exports[`Groups should compile module index with namespaces index page: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](../index.md) \\| [API](../modules.md)
+"[typedoc-stubs](../index.md) • [Readme](../index.md) \\| Docs
***
-[typedoc-stubs](../index.md) / has-namespaces
+[typedoc-stubs](../modules.md) / has-namespaces
# has-namespaces
@@ -759,7 +759,7 @@ A module that contains namespaces
`;
exports[`Groups should compile module index with namespaces index page: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](../index.md)
+"[typedoc-stubs](../index.md) • Docs
***
@@ -839,11 +839,11 @@ A module that contains namespaces
`;
exports[`Groups should compile module index with namespaces index page: (Output File Strategy "modules") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](../index.md) \\| [API](../modules.md)
+"[typedoc-stubs](../index.md) • [Readme](../index.md) \\| Docs
***
-[typedoc-stubs](../index.md) / has-namespaces
+[typedoc-stubs](../modules.md) / has-namespaces
# has-namespaces
@@ -947,7 +947,7 @@ A module that contains namespaces
`;
exports[`Groups should compile module index with namespaces index page: (Output File Strategy "modules") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](../index.md)
+"[typedoc-stubs](../index.md) • Docs
***
@@ -1081,7 +1081,7 @@ A module that contains namespaces
`;
exports[`Groups should compile readme for a project: (Output File Strategy "modules") (Option Group "1") 1`] = `
-"**typedoc-stubs** • Readme \\| [API](modules.md)
+"typedoc-stubs • Readme \\| [Docs](modules.md)
***
@@ -1098,11 +1098,11 @@ Some text.
`;
exports[`Groups should compile references group page: (Output File Strategy "modules") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](index.md) \\| [API](modules.md)
+"[typedoc-stubs](index.md) • [Readme](index.md) \\| Docs
***
-[typedoc-stubs](index.md) / has-references
+[typedoc-stubs](modules.md) / has-references
# has-references
@@ -1135,7 +1135,7 @@ Renames and re-exports [defaultFunction](has-references.md#defaultfunction)
`;
exports[`Groups should compile references group page: (Output File Strategy "modules") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](index.md)
+"[typedoc-stubs](index.md) • Docs
***
@@ -1176,11 +1176,11 @@ Renames and re-exports [defaultFunction](has-references.md#defaultfunction)
`;
exports[`Groups should compile references index page: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**typedoc-stubs** • [Readme](../index.md) \\| [API](../modules.md)
+"[typedoc-stubs](../index.md) • [Readme](../index.md) \\| Docs
***
-[typedoc-stubs](../index.md) / has-references
+[typedoc-stubs](../modules.md) / has-references
# has-references
@@ -1213,7 +1213,7 @@ Renames and re-exports [defaultFunction](functions/defaultFunction.md)
`;
exports[`Groups should compile references index page: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**typedoc-stubs** • [API](../index.md)
+"[typedoc-stubs](../index.md) • Docs
***
diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/packages.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/packages.spec.ts.snap
index 7cf47357..94fa1f1f 100644
--- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/packages.spec.ts.snap
+++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/packages.spec.ts.snap
@@ -1,7 +1,7 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Packages should compile index for a single package: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**@scope/package-1 v1.0.0** • Readme \\| [API](packages.md)
+"@scope/package-1 v1.0.0 • Readme \\| [Docs](packages.md)
***
@@ -12,7 +12,7 @@ Readme content
`;
exports[`Packages should compile index page for packages: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**packages-example** • [Readme](index.md) \\| API
+"[packages-example](index.md) • [Readme](index.md) \\| Docs
***
@@ -32,11 +32,11 @@ exports[`Packages should compile index page for packages: (Output File Strategy
`;
exports[`Packages should compile index page for packages: (Output File Strategy "members") (Option Group "1") 2`] = `
-"**@scope/package-1 v1.0.0** • [Readme](index.md) \\| API
+"[@scope/package-1 v1.0.0](index.md) • [Readme](index.md) \\| Docs
***
-[packages-example](../../index.md) / @scope/package-1
+[packages-example](../../packages.md) / @scope/package-1
# @scope/package-1
@@ -51,11 +51,11 @@ Some more comments for package-1
`;
exports[`Packages should compile index page for packages: (Output File Strategy "members") (Option Group "1") 3`] = `
-"**package-2 v1.0.0** • [Readme](index.md) \\| API
+"[package-2 v1.0.0](index.md) • [Readme](index.md) \\| Docs
***
-[packages-example](../index.md) / package-2
+[packages-example](../packages.md) / package-2
# package-2
@@ -67,22 +67,22 @@ exports[`Packages should compile index page for packages: (Output File Strategy
`;
exports[`Packages should compile member for relative entry module package: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**package-6** • API
+"[package-6](../../index.md) • Docs
***
-[packages-example](../../../index.md) / [package-6](../../../package-6.md) / [module1](../../../package-6.md) / PackageInterface1
+[packages-example](../../../packages.md) / [package-6](../../../package-6.md) / [module1](../../../package-6.md) / PackageInterface1
# Interface: PackageInterface1
"
`;
exports[`Packages should compile member page for a single package: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**@scope/package-1 v1.0.0** • [Readme](../README.md) \\| [API](../packages.md)
+"[@scope/package-1 v1.0.0](../README.md) • [Readme](../README.md) \\| Docs
***
-[@scope/package-1 v1.0.0](../README.md) / PackageInterface
+[@scope/package-1 v1.0.0](../packages.md) / PackageInterface
# Interface: PackageInterface
@@ -95,11 +95,11 @@ exports[`Packages should compile member page for a single package: (Output File
`;
exports[`Packages should compile member page for packages: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**@scope/package-1 v1.0.0** • [Readme](../index.md) \\| [API](../globals.md)
+"[@scope/package-1 v1.0.0](../index.md) • [Readme](../index.md) \\| Docs
***
-[packages-example](../../../index.md) / [@scope/package-1](../index.md) / PackageInterface
+[packages-example](../../../packages.md) / [@scope/package-1](../index.md) / PackageInterface
# Interface: PackageInterface
@@ -112,7 +112,7 @@ exports[`Packages should compile member page for packages: (Output File Strategy
`;
exports[`Packages should compile member page for packages: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**@scope/package-1 v1.0.0** • API
+"[@scope/package-1 v1.0.0](../../@scope/package-1/README.md) • Docs
***
@@ -129,7 +129,7 @@ exports[`Packages should compile member page for packages: (Output File Strategy
`;
exports[`Packages should compile readmes for a packages: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**packages-example** • Readme \\| [API](packages.md)
+"packages-example • Readme \\| [Docs](packages.md)
***
@@ -146,11 +146,11 @@ Some text.
`;
exports[`Packages should compile readmes for a packages: (Output File Strategy "members") (Option Group "1") 2`] = `
-"**@scope/package-1 v1.0.0** • Readme \\| [API](globals.md)
+"@scope/package-1 v1.0.0 • Readme \\| [Docs](globals.md)
***
-[packages-example](../../index.md) / @scope/package-1
+[packages-example](../../packages.md) / @scope/package-1
# PACKAGE 1 README
@@ -159,7 +159,7 @@ Readme content
`;
exports[`Packages should compile readmes for a packages: (Output File Strategy "members") (Option Group "2") 1`] = `
-"**packages-example v0.0** • API
+"packages-example v0.0 • Docs
***
@@ -189,11 +189,11 @@ Some text.
`;
exports[`Packages should compile relative entry module package: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**package-6** • API
+"[package-6](package-6/index.md) • Docs
***
-[packages-example](index.md) / [package-6](package-6.md) / module1
+[packages-example](packages.md) / [package-6](package-6.md) / module1
# module1
diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/readme.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/readme.spec.ts.snap
index d531a849..c652fd60 100644
--- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/readme.spec.ts.snap
+++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/readme.spec.ts.snap
@@ -1,7 +1,7 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Readmes should get merged readme for members: (Output File Strategy "members") (Option Group "1") 1`] = `
-"**typedoc-stubs** • API
+"typedoc-stubs • Docs
***
@@ -17,14 +17,16 @@ Some text.
Module commments
-## Functions
+## API Index
+
+### Functions
- [someFunction](functions/someFunction.md)
"
`;
exports[`Readmes should get merged readme for modules: (Output File Strategy "modules") (Option Group "1") 1`] = `
-"**typedoc-stubs** • API
+"typedoc-stubs • Docs
***
diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.class.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.class.spec.ts.snap
index b22355cd..8c2c692b 100644
--- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.class.spec.ts.snap
+++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.class.spec.ts.snap
@@ -49,7 +49,7 @@ Comments for abstractMethod
`;
exports[`Class Reflection should compile abstract class: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# \`abstract\` AbstractClass
+"# Class: \`abstract\` AbstractClass
## Extended by
@@ -140,7 +140,7 @@ Comments for method
`;
exports[`Class Reflection should compile basic class: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# BasicClass
+"# Class: BasicClass
Comments for BasicClass
@@ -264,7 +264,7 @@ Param comments
`;
exports[`Class Reflection should compile class with accessors: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# ClassWithAccessors
+"# Class: ClassWithAccessors
Comments for ClassWithAccessors
@@ -400,7 +400,7 @@ Comments for someProp
`;
exports[`Class Reflection should compile class with complex props: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# ClassWithComplexProps
+"# Class: ClassWithComplexProps
Comments for ClassWithComplexProps
@@ -490,7 +490,7 @@ Comments for x string
`;
exports[`Class Reflection should compile class with constructor overloads: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# ClassWithConstructorOverloads
+"# Class: ClassWithConstructorOverloads
Comments for ClassWithConstructorOverloads
@@ -633,7 +633,7 @@ Comment for ClassWithFlags
`;
exports[`Class Reflection should compile class with flags: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# ClassWithFlags
+"# Class: ClassWithFlags
Comment for ClassWithFlags
@@ -822,7 +822,7 @@ Comment for staticMethod
`;
exports[`Class Reflection should compile class with modifiers: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# \`abstract\` ClassWithModifiers
+"# Class: \`abstract\` ClassWithModifiers
Comments for ClassWithModifiers
@@ -988,7 +988,7 @@ SomeTag
`;
exports[`Class Reflection should compile class with simple props: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# ClassWithSimpleProps
+"# Class: ClassWithSimpleProps
Comments for ClassWithSimpleProps
@@ -1045,7 +1045,7 @@ Comments for param B
`;
exports[`Class Reflection should compile class with type parameters: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# ClassWithTypeParameters\\
+"# Class: ClassWithTypeParameters\\
Comments for ClassWithTypeParameters
@@ -1157,7 +1157,7 @@ Comments for abstractMethod
`;
exports[`Class Reflection should compile derived class: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# DerivedClassA
+"# Class: DerivedClassA
Comments for DerivedClassA
diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.enum.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.enum.spec.ts.snap
index a00a5c10..1312715f 100644
--- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.enum.spec.ts.snap
+++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.enum.spec.ts.snap
@@ -32,7 +32,7 @@ Comments for MemberB
`;
exports[`Enum Reflection should compile basic enum: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# BasicEnum
+"# Enumeration: BasicEnum
Comments for enum
@@ -73,7 +73,7 @@ Comments for enum
`;
exports[`Enum Reflection should compile enum with values: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# EnumWithValues
+"# Enumeration: EnumWithValues
Comments for enum
diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.function.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.function.spec.ts.snap
index 660e94f9..033b433a 100644
--- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.function.spec.ts.snap
+++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.function.spec.ts.snap
@@ -31,7 +31,7 @@ Comments for function
`;
exports[`Function Reflection should compile function returning a function: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# functionReturningAFunction()
+"# Function: functionReturningAFunction()
\`\`\`ts
function functionReturningAFunction(): (x: string) => boolean
@@ -91,7 +91,7 @@ Return comments
`;
exports[`Function Reflection should compile function returning a promise: (Output File Strategy "members") (Option Group "2") 1`] = `
-"# functionReturningAPromise()
+"# Function: functionReturningAPromise()
\`\`\`ts
function functionReturningAPromise(): Promise