From 38442e43ddc469be52318118805c7f44aad83138 Mon Sep 17 00:00:00 2001 From: tgreyuk Date: Fri, 26 Apr 2024 15:54:59 +0100 Subject: [PATCH 1/2] fix: tweaks to link behaviour in page header --- .changeset/great-phones-fetch.md | 5 ++ docs/pages/_meta.js | 4 +- .../api-docs/Class.MarkdownThemeContext.md | 14 ++++ .../pages/api-docs/Interface.PluginOptions.md | 20 +++++ .../api-docs/Interface.TextContentMappings.md | 6 ++ docs/pages/api-docs/_meta.js | 2 +- docs/pages/docs/_meta.js | 1 + docs/pages/docs/examples.mdx | 24 ++++++ docs/pages/docs/index.mdx | 17 +--- docs/pages/docs/options.mdx | 9 ++- docs/pages/docs/quick-start.mdx | 2 - docs/pages/docs/using-typedoc.mdx | 6 +- docs/pages/index.mdx | 2 +- docs/pages/plugins/_meta.js | 28 +++---- docs/pages/plugins/index.mdx | 53 ++++++------ docs/public/docusaurus-logo.svg | 1 + docs/public/github-logo.svg | 17 ++++ docs/public/gitlab-logo.png | Bin 0 -> 12763 bytes docs/public/vuepress-logo.png | Bin 0 -> 11816 bytes docs/theme.config.jsx | 7 +- .../typedoc-github-wiki-theme/src/index.ts | 4 - .../.docs/plugins/typedoc-nextra.mjs | 2 +- .../src/options/declarations.ts | 36 ++++----- .../src/options/option-types.ts | 1 + .../text-mappings/text-mapping-defaults.ts | 3 +- .../resources/partials/page.breadcrumbs.ts | 7 +- .../theme/resources/partials/page.header.ts | 49 +++++------ .../src/theme/resources/templates/project.ts | 9 ++- .../test/fixtures/config.ts | 1 + .../fixtures/custom-plugins/custom-theme.mjs | 5 -- .../__snapshots__/entryfiles.spec.ts.snap | 16 ++-- .../specs/__snapshots__/groups.spec.ts.snap | 76 +++++++++--------- .../specs/__snapshots__/packages.spec.ts.snap | 38 ++++----- .../specs/__snapshots__/readme.spec.ts.snap | 8 +- .../specs/__snapshots__/text.spec.ts.snap | 14 ++-- 35 files changed, 276 insertions(+), 211 deletions(-) create mode 100644 .changeset/great-phones-fetch.md create mode 100644 docs/pages/docs/examples.mdx create mode 100644 docs/public/docusaurus-logo.svg create mode 100644 docs/public/github-logo.svg create mode 100644 docs/public/gitlab-logo.png create mode 100644 docs/public/vuepress-logo.png 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..e12dbb02 100644 --- a/docs/pages/api-docs/Interface.PluginOptions.md +++ b/docs/pages/api-docs/Interface.PluginOptions.md @@ -156,6 +156,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..5eef6518 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 @@ -552,7 +552,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 +562,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
- TypeScript + TypeScript
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={ + VuePress + } arrow={true} href="plugins/vitepress" /> } + icon={Gitlab} arrow={true} href="plugins/github-wiki" /> } + icon={Gitlab} 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 @@ + + + + + Github-color + Created with Sketch. + + + + + + + + + + + \ 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 0000000000000000000000000000000000000000..e09b97f00445af8d2fb42501cbc4c9c548b984bc GIT binary patch literal 12763 zcmb_@V|Zmjvu^BUVmp(G?POxxwr$(C?TPJVV%z49GqJ6kne&}xA%(Ac>8lJuL418zv-mW9Rltr4q5?qGQ@F=p4KP!F zX?`G}x>(pZeeka~w4Io`BM=ZQ%HIMEl#zw`r3^Aw6E~5T2BQ3up@6`Fk%2(JB;c

xbMa4HCi{0IKk z;wCn8aHvw{g;Uqp@)$`7e_H<`FV> zG;}bxb27KJA^gj$Z(!@}#7#{6*U|qR|J6??bCdt|WaIdsVSNpd?(Z*j47Bug|HJ(S z{rOkRDeGWv{N?#CKM%vtf0qA`?mvEh(*1S*e|6@+M*2_tHB=s$pLG8-Z9FhoIy+yJ zOy?;s#INM0bM6hDrlXvG*f!p+WHBiLMFc#dp?}PpH$w~#J=3@=a}7m#QrfB)JH6L9 zc^3skyBTBMGR=M-(7Fr4Y8=Z{IJLq}lZJ(tZ9aD!C15N_2n~T;zw~1JnBxv`yrlUE zlK3dPcv)^^T8uCEoaR1y-@44X^a8kckpy)ygJ1(k`-$+8wh|J+Z z-M%Y?B@P9C_SD=ZtAI6j%u!->>!QvC_V;B}WtO~pkA*JGZgM47$|yI-KoCy`Cb~j1 z{Q;0-@fA()b0H<#HpJ<}L%dgqRsFWhQ40z~ zN>Pfdx>VvZr!M0;AGRf0W_wv;NPWO~C~8das0bIoIZsJfBdq}d>aQfbV6m7$l5IX* zwlmD3VLt{wt_AV_^3YWkXj`Db{gc_q)UGo9f{}sjAqm)+KOL8X>%g3p>R8Ss3C~ze zU7hI*o=(^*(zn2g~i+ZA&yyq-uUJmBgjrvXBAZk{AbmcG$6KR%)=DxF_)yj}nDpluA)vCASDT2Y7K{1{9 zQ7oz}+%|;`^?u(howAPZWIY2hb1Qo3XU^c=!^s8@L=t|tF18ax=`#vYQrHnAR<$Sn zeE_-Q*b*BG)ARLomH{|IBkQnPVS%zb3#`7Z@-~}ZX4;hM)`)YhtAWFbXm0CzvxQtBLp5Jj zB+oG*7XiTy3PsuGAxm=0v5wjHxrcvbp~>S9hJBr9S0T&W^RCtN-#3`KTgfk)7_FY>`thSiCZMgU@o;{u(h3((F6ukKDni;REnt$iulto`0QrfpAr>}hjag0OmdJb zPNFfEQm^1KndlpdGGIU(TIuS1VLx*Q@@>l>SPBT&gQ@^&@yfOS2Gj4q2PzYl3vX=l z7Ei$^1P{5Qkry06J?;u})n8p`p4;wE*@0;D|;| zpXNey-V<7-cnfP>10-I*(iXpWa4gVYtcT1J_&?}AkY`5lwof@)q;9w5b?}<&^B8SE zedq#D1wFf8BldxE(uHNfMn8SVqP1Iiy2TPmGyYJtVjA|2$d})JAeT^#k?=-MtTGj9 zhM#8#;4Y6gd>wXAZp!X7hh4cai~>Lj(%%SL?HyG~dQZArLi}QnYx~@2BP-LFu^*t_ z(2;1`$|{mxxj#71p97CoD&vt3)cgSV#*sHJY&?Oc6HzuQZ%zjS!UrJZ8s}0nWvFD{ z!J$A5$}5Z`I0Ec~ZCga1Rsm=6#h#>|9*$$K0VOJRASmbQr?fgDv0K(CIua8brc}AS zsOT-%g%<%BUJI&bP>6~KI3Wt)*^GJ$4ph8z3^qP*zhP6ZAI(`I6)V($^Uz9ucdfJ1 zRoEeINJvPbF!O7We*$pkXn*|(Nr=z{DM0zcpA053+vTm->m)eBjPOc5CTk2TMC$EB z76kT72**s*8DK^wn=iX6JL5;|!BuH1oV3D{ z5Cbbys@xuT-8MZ%*N=C`F(jfPwPS@YjvQp^sum+~;&zm?^|3;3Q@6RTBS{%ZS_$## zH6X$mfp#F7Oc9|(qk2MCmcDh?ZeIO{)RfY*`b+2-ZV2LMb*=6W_wKpej4BtD+X|AT z!P)}E0=n)V2SbpgOdQVGw%BoHvcw?F)zE;iWwhpr;1zYYOvqLUr{Tc|&1nsTh)5Q- zwX|7$YW!yP1f!lPT)1%qj@?gO|+UgWuP(mhelU&79raR63@^6^c2mA3;zX* zrQtvDO5isK(X7F!P4LmlF2c%o$QANs_YleF7p7i9ke-lDaFt{`ZWxZT1Ll0`QWWL!RZRmREKB$xSiQ)-CAL<0cYPi8tBn)?z~YDc&7t z5rOPR`kS)&bS1MLY3qdjz8RQER0bkvVMJ%qYDOY9aU}aNqUd&HZ}QE{1{SE1IYqFd zqExRnt4`3r9Obn*4=C#MUCN1#E$qe;=#DNg@aKX}u;nRxNCQ&$j_) z4VFM?^WUZPedJ%~YG20&l?j9BbEO6A(uKYrzC6m9MwrSn!L16$ z8DyBks)r>>$-*ljHe!lZ4Fh70#~f90Re59sA2K}i@F*EwCDhu}d{cRuW(J5g}5maOh}O{yihWKilb zc!rx=i|#2yOoI5HIl|Bp(q=3>s;Gx`a}tKZ0J(*wlg{O8U4LHyeeqPagbE*+9Q0`1 z1yDqLd*2J_2ZDHxc#!#8yy^Zlm>MFEfly@vGiWYBt$w`Ve!?^b-6wZGRUHQ8o-^L< zquf%&5m}QeJ1@*O;(Uey2asad!D#;CAh}Nb0V~>%9ua+10sbku+N)_^lGKqhxwR}o zl5p}A+md$FxajW^#l^ow__CU6P5fX}bvr7ey>`wxw%6lhkx>i;qjqDovytS;IogC| z;x*wg$(nd%gz7--Dg_=TR*q_JzQs#6(ltOui8^B!TWZb5uQ7!3BcT`s{xFdKW3^)J zg*Zy;5V2w5<{QNJUBJXP6rwr<_hee#`)PWGi6*0Gp`waVN_*xOwKhzAp-C(wZW`9+ zddZ`{m>t~aIs~h_X?`0wM_j0G1rQn9KcgaY_sC}zFokf zw;>;k3~Nwu7>w#6`OoDId&)#|nnBel!CDs6B;YZ6TSy@dn}13eJ)xvsXi^#J{ny#O z$a~b@C6gf}`oQ;`^Qfv=DR0DCb%#h?%g$iC95Jc7UsPK;w4m?7e)YcPO7;33+VA(( zZYY8MNcLh?VE_X^f9?MCU@U*k zs@_yX8~+B=E^EE|gb?*gHPSf9`C}8qTX$OyE%(o3m514pYFoaI(|qX|W;z|lskq(g zYZnd9R`}>iJH&%{uHTnv(iub`gNQmdvR6qcuA8))`2qLZYhVgV=Px%VVp*a?S`gcxUXh#u%U zzbOx@kq$+iLq=-%5(V!{v2K}c#p_6V}>w05)p7^dTWRFzGA+GP(Ix+X_oQrTd9Us&Q-YIVNsjam%E zqPjQPE}MI_Oqgb?g3;3(?2(#W&@$B@Vx%{e&O5!-xu2hXCEypgunCINXfOn(Eaf#7 ze}=)I$r7qdqxbt>_a+{Rvh4L59!#Y_Vty#OjgfiWVo%u}*jY3bMSWA| z=5WM=_3asv{-q`*QkLJ&jRDrvgv`F2*&z2cbT!3y%fXRqg2Rn-Jb@&1mToTZT=Dq0 zzElyrY%yXa+gdG5qI3t~f&o@a5IE;w=aF~(ker&>9FvMFWilhqt_ujjH*RrY`R>dO zA(9)FQ^gt4td1F_@4kVu{Hhhzu_9#@F-RvMHv=l3sal|6futK_u}1Qso)>;$XbBbP zxR1{vMtfuKz$8H?@?|MyHw62j({L=T#j1nCsAIN#0Lb!*HRgg9zQT~w;c~AjXFiY~4T;`=hIZ89heSA#m zmZcH93Dx-(9!U=0)h#+ z7P{#@b(Iyoc)qO}Jn+}k3x;QZUkho21aef^Az?$QO2i03pW zkCK)b*-u+SNNte-are1b`#3G)#UZRWdF!S7kHrQ}OQVby*H^7;gC2a}5oRhfp?pmb z-nYDIdTmaXt;Qd*W0%~Ia?j^Smzxzgko{c(s+EL1+g;|;x@F^DtlfO5@3;v^0Ocd> zN+}!z4>$={a8fEmN9+eQ4%WY$VI!2?Hg|wdxr7@jRI`offGBU1@1bkHM7AK&%vY3xY?hHfhazDZB!{a zM`6K7tp%PGe8B9~vA<**i+qBsKeGF4o>>$8U?Xt0q5iWjf2|7OZ=8!a^3|?(2^-%< z(YlFiW50UOH?z{|RHA#`k*`r|q1+nL31k*bg`RyH;RDp97ta=4p*|t1*M%e=`)IV9 z2>Wll8%MPd*VZ2y8S{hIs$LIVz>c|~g6MeNy{5z4vHJV)BS!mxdQ@MN14RSUiOnvg zdawna3U+9l+lFRrdTsXNqCtDr9X}wG7|bigA!PS=nI#`3>F(O7z#?BNOhB$m6?P7^ zP6j$;q{wC4Q0I;x<^s3VDcxz;_)zu^QwmE;E$6%wB!8X z3-NWRCkFDde+htFk6@TWE6O(Un1qV*8lvHbK4oeGX{pVlCaXKvgrHAu=(A%lj4_C+ zzFjn4i_L>!25gqX&m09XuV?v`Bno3mtcsxdJbaZ>N0?+Z&A!n^sA@4(*hneoAQ)aA zq&syMEU+YuyS?$^2|;qqSoJgv;n4yCmUI^irm+~tU(^(eEP}#AIY(_+b}VP{q6KPC zFsS`$)tOk8^~rThGAFn%d9B#J zXwe1-Lf>;zn4)uSmO(m1m`OZRpXFVBwb6lXevh^h${qRTRg(Yp81))(j0LUQuUt8+ zf64V7v|HMXeipq1Cr7uV%Xn*z3KC~C*p#Arm8omi1DEmhiQE|+RGAnW8 zYG#iHpf4RpVz4q?r?{FZw`No-e5P*i1t7xEt|1*0jmKQA_4cma4b6@_G%k=?Ct~vu z!Ld8D1sJ9*`GYf-PhnFLXuKp+?e}w_q4SO$pF6)M2+0qQ9Cj?IK0gY%gC5?mY@3o} z+y@L7p-?uTV(BXH2$)&Q5k?WCg@v+^K1!x}KEz@E|-*yp^-B`zolODmnsDWVY*EDb7uyXDr!n-5h8fRZx7jsmuXpwN>xd$ zyH@*e{;m_|57|RmwC#jN0Q9Z%4Q-O%kjv4@>oSk!`l0&BpoCR4%W12Z?ZT73pcLT| zJ-F^9{f?}%CU7(N$n~i(r^1>8*CIBoaGxd1qu#}>XA0y7JnVowgW;s#L1u_ubyzT! zw!WcbR!(PM!QAcnS7t#nD!gf}kyF;B94NRHm1>i|z!g?6hgt{x7EIm;PY!{%K*af9izSZzkSCZ@1V~%^w%>!fq7D>=RTq@l9 zZFXX57`7T>-AvQ>2~Jk1K+R^7y&A?ds3Qc{dEZ&5pGW8u(hQpzqGp#ezxt=(x$_J5 zE$Hn)3?}k;&uOX&E*e|!tcEad1jvFJ>Nrwp;U6m_>pAA2=RWH#ZD#l;2NuYtOE_Ya z0U6S15d$@rHF-<_(2gK93}`gSAOp~GklX9O9s)Cg=p=?JfI%~KO$icd?A%)WgM8T zQ0VzMkq2+~^)^C(!Ug2^UZ#Khb`LG6xA`0RtyHW3`Ecb54;7b-fe_uoQ`DvC#2)!; zjp%0uCQ+omT&ES92069NPLQ8!Qe|uAq~?jmx#@tBKRMZ7rGk1gsKjL&mVv9^&tu>F z8U5|oZs}t*ly*Y?v>N}nZ@3j`WW$5=8D=Ng^CfFFIn3iCj4wF)o*8nlXjf*nO+K>a|4UU{buVDp=`yFFc+(9wjp9nG}5MQ`J?G15cNB>lSL8DCh;M-uM zt{cO8*Dnk)`SYk?^O1UOSb0ogZ(yd@47isGhA%e766=zk1hw?~ZDJ1bud4x7J@RCA z;ar{~1@T)9c`@FLw6$m1*~iQnm8rAogog7BrGkLo<_d8g>fn#XRVjI88*7PQ(p#t# z9e=1^C%PQrRpjGepv1kwu#Ak7W|gKKuZE1|XK?`$5cdZSBKfA|W$8dUgglJ;6Y%K-f?OpHU zey7JDe+lSVOWy6UEe@?+??}>c>hbr*rg!AnH%J6|@X+U}KT`bD0tvepM9!s;cMR9T zW4|0{nx*hB6Zt0RpH}*rdOa}Zbk0lrKFTPt$KrrHeSXS;cpDO|b9YnoFdseqaEQ(# zc^u(i#Ae4TQV_0I8~gsY(wyOSda_#(zsWniv*~+k?R%zF*iXVQm)sI&v>03}j-PeJ z!WJ=cZO%B#Ya8Kh09XL_iC?33Jafd1rK&Cq-1|)VdwNIdGk6qn>Uyx#f?joeW_#*; zZ|EX74?RkT5<`>Y7wS^iLO?S8{0}J7LdX#E7*WyargkYmJR$-vL~{sE<-oj8+=>K% zdh2N_n2#?wnKfDs7C+x6uS=zS{3hZv0(vFM*UvAvtZF`*Mw=!Bf&pF=AMS1u~k z15C>>?>lGgJ2K1xt|nW|@qUuB%+K5CnA%yXjaS#HV- zS|mBefq=?&!K>?8HV>taPL9*#ItNv3nnW9(4ok2XjO{MQkO75>+o{s59AI^3ZfxE+ zWV#-{d61QhE6={3eiX|g6qh)4gu+2`(NNZ`>nrP$1!X9;omsa14@(Y?q`7-G)8oR*HuUl;2X^}^hFrF~Nb zZDje=FakR!O>S&37BP0jf4PQWIC}1RC;Kq&WHxAv1Hu>SSU7G7F>!cs#8EcIhRb(- zOF<)vQaPeXtnkcWA3cE9&{q3%sSo6lDmcL0@#04D^Jo!FBvc6PA`4|2yMXzErr%vi zhIfqf77p;dpC|XWZ6bWw+Z#iXx~btl=A{boZdZbC@Z-w2w9kYujw!t-JH=~reiw%Q zeGnT78|64kY?c*>;OgYF1H1ocm~1HCl)QGa5JU3_{*CL?gyMJw!a?%7i9&kxT`_Tp z3Iou6%C-f$$|c??jTg3Gw?LsnKSua*H8F_c`lzGv;-c^GRt0Zl8KW7D=C?U=yRG13 zbSa9k4G@0PBIxP9%bX%P=-bd5T#D7I`eE!Y@m6vz8ez-vy4;;3MJcifcZ=-U!givC zcuMTYtqXX6Ikw;PPOi@qs0`42qso@MKaRqbV{~d~;_?AUwE*?Gs%gjXE=-sVEXdD^ z+PM#$pzw6?(~^@&){81fa#d^@%BbqMaQES=PuNKyXm{Qmci7zBGRWolqf~p-7jhai z!SqX^SD&cPRH70BDDpi$QYL~B_{{aGvz#f2sy=~yQjR>sGwsq;j}GlbNv(*%wULv; z=Ca-Qk?v0(;-gIsDcX~@OJf-exGbLETAmAFYc77-inGO1{Jvki^YEOOm9y7=h2ylE z4|^obN&g}J2sjx0sjLR$k_w~y;KH%>$XphhOT3Mq84`i_?1g^tuGRDMZfAoGE@Ktld^kQSC8tc=34%ka_7^;G~m*giDS%rKQz@ep~5%8!w4% ze_Y|P;k`D%6AxUQdtKF}RHj4SBYwLC{yY|u7+il+-zS4$%4~zNuDs2iL)_Waq&AS_jPQQl4N0b*NZlcJU6m zW>lWMW=DI52n;F~p{BjwlBgqOb4Uc^HiOETb6KZLp^bhWF3o4C5788x5=Bbz8Fek# zQIJ9&g$3K>5RD2`ul8ZB(@Yw`VN1{3 zk~i*!10Sw2S=CE6-A4FKmBx*E6?{xa3v}t}dEhXI!c-sWD5vaM|UDv(bJEqxvpH&$qSJC4MYggvb=eTaZ_YH7#xEx|lvKi>0 z%u}mhbbVKs;J7n;=zZg=TBf7^VONYj{H-HoxAl_;TuF`2tOW1u=DyioYH4g}lN+#c zuUgJ{zL~Q)D-&t%^}}&0lF7dm3>1Wy^JiK~j|AC(bgAD9EbKvWn=M(L6+CaGfWwy2 zAs8;a1w{DEPs3(FXfDeZr_7|5|JSPstjL~C&iM6tQsg*eVf6}4ADm)kP}ZW8YWG_4 zh-nOr8mkd6-p&C0y=hjfb#L}KdCYz(O&q)mwXxl6Hn|($*ly?d z?g{5MU*$gnjHWEb&KS#_8~xF zn-{=6;Sl1w9wrh6oUBmAJb;DkDV=My?{2E01 zKpdJl<-0Ueyve7-73nKVO4-nB#??d(dymgL{b3+uTU!*zvU4bB`h>PHL zllPD8I<}hEd4t?HyK23MdThEf7BX;>1SN9hhpgXzwgvdD5Ks0Goc^9>*o;SZF%7Ag zxCxa4kr~H(MGSk1-hkDrvG8R>f@-Dt)wK?VNn%h55M5k5bKDD>G zN0|cP$g$I0Da0|e$Ob{V0lp98$>YVb;{<9@Dh8p9GJNKB#B|9K&kvwa*K8zHRsvG9 zX|n5R6ZH@-P*9v|SMqWQ(dZp1l!r8RSV$}Xg6(95A}=O`q}}vXCKaGRfg?%XtFl*F zt=5~_ZTQ!{Ua4&pWvyCUi8dwOZ`3f#&iKH(Xm{M3tg+;zm?rCTl+dXi4puXkBiGEV z#*!*q)GEcBf{W1Ct2wskAI$AavDRtY6B3%Y8g=B~lQUUQjO7Trjn5@vI(MlCbzXNh zibDMA<1_C|^9c!J2MnzuigR;|@QYChU67yG<@QmxCh*4WY{(B3__8-}tmuR1Lm?5j ztpL|+HRF4`+MwUgo_VDtkprJJL&3c?lLtFgsdJe^F!3iC@;WYydxaxkEOIX|m~7>_ zlCD2x*FI#6cDbT79YJ1aMhFS=?W71CeV}lJS zLpwz+8zDl4-#o{ShTcWUMU_t*8XZxpd9*aJbnZbYBI?7HzEU1;%&Rg zer^~zg6(96Pj*OmgduN{xB$Cx9wS!f*FtJmTn-vT`DZ0at;EUIB@)MfOH@CGR0 zf6lx}Mp7Ms1~){pScE#jb0tkqWp)0d!b7Q}xVWMrNQzC(VYR_}ny40Sb&XI=VpBgp zb%L502eOZJlEWc8NM$<`t1QfQ_{_VDdaL$VPRmvWK8WGsRZn&rT45K7Nj6lG0EY_; zRw*BXn`2Tjj54{98}N8^DH1cx)$#P~ntsacGa$K4+T3>~Z=sK20*pE?B5D?Y8BI{M2~fyxJ}grmOfcUzT`{(I`8_ zwzFtlHVTlnzfGdhUay}x4xGY>c_)5MJ&KCD=*PUpG_1|%?L{!TT-2yLBy8}wHG8R9 z?ksGbc`K*>-PgNuKzDUCOJa`0*er00N2n9Hcb@ipUh-Ykr#gV+J`JRK>(S{rvQcWP^57)kf2eE z#UKo@hH@7y2Dgc4jdr)earBLCo>q;jDLI$j=B11)@Ya&nB^Ee26VJ2XPwm)S0B`!EMRk+TsYp}Hu45SES zk}<6(n}0xG`*`YXzY+-86V38^jJoR!Oe#VNuDmV9dOq9NH~v(t)jD_RM|;7fOV%b%{N{G>wOD8P{VbG>laTM1-*?Kwb8tf1{J@?jfde@GAtE~7cQ7v1@ad4fb zrE=OV3W2W$Sj!TWzPE(Szk-f;br{BaAxeCtZLtyrjxcHG6CrpBc!pA{9J_BRJx^Wp z>V975pzV?rK+V@;>&(h2Q!|CSCc`n<^LZ6K0xn)kFYg2I)88FS1W?2V;LU6F27n+Z z9hnG|B_?%R#h&)KqS%sTM?hU>snnS;YIY`$!^|SB>(8-@40TaFHP-bR1(vNaG*kT5O*V@hOFB-pQp5uQwyRQ18{}EQpt1rM+JWq8ysB?Mx69VpH5Sh}>q?5o z^f8q@Sfc?cO!pj+xNUw1tY^oE!7{fZSCwiqLhI-Fm^yg>5QKY@t;uLzqOTkTj_)3K zN9y#IdUJ2{od%_T{t1i94M^#!zrQs(D;p{ghtp_Jy{e4w$_WMmb(S%f!&-WJfRb`O zEvz$n+@`01*TYO~JCFNE^QY?ups#N-MSeJ25nMxqt57;5Nxax6c6nd7vVGzVsYVdy zauPAAob+22#ZJdF<;H0UYNq-JP%4fpnS1T5D0 o;~jdBFUy_!7w4hk`u5Sv{`(G&s# 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 - 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-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..93e66c44 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.', @@ -254,7 +254,7 @@ export const hideBreadcrumbs: Partial = { /** * @deprecated In-page TOC is now hidden as default. * - * @category UI + * @category UX */ export const hideInPageTOC: Partial = { help: 'Do not render in-page TOC items.', @@ -267,7 +267,7 @@ export const hideInPageTOC: Partial = { * * @deprecated Please use `textContentMappings`. * - * @category UI + * @category UX * */ export const indexPageTitle: Partial = { @@ -281,7 +281,7 @@ export const indexPageTitle: Partial = { * * @deprecated Please use `textContentMappings`. * - * @category UI + * @category UX */ export const memberPageTitle: Partial = { help: 'The page title of member pages.', @@ -294,7 +294,7 @@ export const memberPageTitle: Partial = { * * 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 +309,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 +330,7 @@ export const useCodeBlocks: Partial = { * * \{ `"x"`: `string` } * - * @category UI + * @category UX */ export const expandObjects: Partial = { help: 'Expand objects inside declarations.', @@ -351,7 +351,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 +362,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 +374,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 +387,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 +399,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 +413,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 +439,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..8015ebd2 100644 --- a/packages/typedoc-plugin-markdown/src/options/option-types.ts +++ b/packages/typedoc-plugin-markdown/src/options/option-types.ts @@ -229,6 +229,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/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..ad9da08f 100644 --- a/packages/typedoc-plugin-markdown/test/fixtures/config.ts +++ b/packages/typedoc-plugin-markdown/test/fixtures/config.ts @@ -172,6 +172,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__/text.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/text.spec.ts.snap index e09577e9..16f73a4a 100644 --- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/text.spec.ts.snap +++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/text.spec.ts.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Text should get translations for index page: (Output File Strategy "members") (Option Group "1") 1`] = ` -"**My API - v0.0** • [My Readme](README.md) \\| Docs +"[My API - v0.0](README.md) • [My Readme](README.md) \\| Docs *** @@ -15,11 +15,11 @@ exports[`Text should get translations for index page: (Output File Strategy "mem `; exports[`Text should get translations for member page: (Output File Strategy "members") (Option Group "1") 1`] = ` -"**My API - v0.0** • [My Readme](../../README.md) \\| [Docs](../../modules.md) +"[My API - v0.0](../../README.md) • [My Readme](../../README.md) \\| Docs *** -[typedoc-stubs v0.0](../../README.md) / [module-1](../README.md) / SomeInterface +[typedoc-stubs v0.0](../../modules.md) / [module-1](../README.md) / SomeInterface # SomeInterface @@ -38,11 +38,11 @@ exports[`Text should get translations for member page: (Output File Strategy "me `; exports[`Text should get translations for module page: (Output File Strategy "members") (Option Group "1") 1`] = ` -"**My API - v0.0** • [My Readme](../README.md) \\| [Docs](../modules.md) +"[My API - v0.0](../README.md) • [My Readme](../README.md) \\| Docs *** -[typedoc-stubs v0.0](../README.md) / module-1 +[typedoc-stubs v0.0](../modules.md) / module-1 # Module - module-1 @@ -55,11 +55,11 @@ exports[`Text should get translations for module page: (Output File Strategy "me `; exports[`Text should get translations for modules page: (Output File Strategy "modules") (Option Group "1") 1`] = ` -"**My API - v0.0** • [My Readme](README.md) \\| [Docs](modules.md) +"[My API - v0.0](README.md) • [My Readme](README.md) \\| Docs *** -[typedoc-stubs v0.0](README.md) / module-2 +[typedoc-stubs v0.0](modules.md) / module-2 # Module - module-2 From 9b49bbb3ac3fa0bd48f96fc1c492523f669ae7dc Mon Sep 17 00:00:00 2001 From: tgreyuk Date: Fri, 26 Apr 2024 16:52:08 +0100 Subject: [PATCH 2/2] fix: removed deprecated options. --- .changeset/four-bugs-fail.md | 5 ++ .../pages/api-docs/Interface.PluginOptions.md | 8 ---- docs/pages/docs/options.mdx | 48 ------------------- .../__snapshots__/github-wiki.spec.ts.snap | 1 - .../src/options/declarations.ts | 38 --------------- .../src/options/option-types.ts | 18 ------- .../resources/partials/page.pageTtitle.ts | 8 +--- .../test/fixtures/config.ts | 3 -- .../reflection.class.spec.ts.snap | 20 ++++---- .../reflection.enum.spec.ts.snap | 4 +- .../reflection.function.spec.ts.snap | 30 ++++++------ .../reflection.interface.spec.ts.snap | 12 ++--- .../reflection.type-alias.spec.ts.snap | 34 ++++++------- .../reflection.variable.spec.ts.snap | 8 ++-- 14 files changed, 61 insertions(+), 176 deletions(-) create mode 100644 .changeset/four-bugs-fail.md 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/docs/pages/api-docs/Interface.PluginOptions.md b/docs/pages/api-docs/Interface.PluginOptions.md index e12dbb02..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` diff --git a/docs/pages/docs/options.mdx b/docs/pages/docs/options.mdx index 5eef6518..85021071 100644 --- a/docs/pages/docs/options.mdx +++ b/docs/pages/docs/options.mdx @@ -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 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/src/options/declarations.ts b/packages/typedoc-plugin-markdown/src/options/declarations.ts index 93e66c44..1aa84433 100644 --- a/packages/typedoc-plugin-markdown/src/options/declarations.ts +++ b/packages/typedoc-plugin-markdown/src/options/declarations.ts @@ -251,44 +251,6 @@ export const hideBreadcrumbs: Partial = { defaultValue: false, }; -/** - * @deprecated In-page TOC is now hidden as default. - * - * @category UX - */ -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 UX - * - */ -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 UX - */ -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). * diff --git a/packages/typedoc-plugin-markdown/src/options/option-types.ts b/packages/typedoc-plugin-markdown/src/options/option-types.ts index 8015ebd2..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`. */ 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/test/fixtures/config.ts b/packages/typedoc-plugin-markdown/test/fixtures/config.ts index ad9da08f..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', }, ], 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 @@ -136,7 +136,7 @@ Return comments `; exports[`Function Reflection should compile function returning a string: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionReturningAString() +"# Function: functionReturningAString() \`\`\`ts function functionReturningAString(): string @@ -176,7 +176,7 @@ Return comments `; exports[`Function Reflection should compile function returning a union: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionReturningAUnionType() +"# Function: functionReturningAUnionType() \`\`\`ts function functionReturningAUnionType(): string | boolean | "string1" | "string2" @@ -230,7 +230,7 @@ Return comments `; exports[`Function Reflection should compile function returning an object: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionReturningAnObject() +"# Function: functionReturningAnObject() \`\`\`ts function functionReturningAnObject(): object @@ -285,7 +285,7 @@ This is some numeric parameter. `; exports[`Function Reflection should compile function with a parameter: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# basicFunction() +"# Function: basicFunction() \`\`\`ts function basicFunction(someParam: number): number @@ -335,7 +335,7 @@ Function with function parmas `; exports[`Function Reflection should compile function with complex params: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionWithComplexParams() +"# Function: functionWithComplexParams() \`\`\`ts function functionWithComplexParams(paramA: (a: string) => true, paramB: object): boolean @@ -403,7 +403,7 @@ A parameter with a default null value. `; exports[`Function Reflection should compile function with default parameters: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionWithDefaultParameters() +"# Function: functionWithDefaultParameters() \`\`\`ts function functionWithDefaultParameters( @@ -488,7 +488,7 @@ A value of the object. `; exports[`Function Reflection should compile function with multiple signatures: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionWithMultipleSignatures() +"# Function: functionWithMultipleSignatures() ## functionWithMultipleSignatures(value) @@ -567,7 +567,7 @@ Another param comment `; exports[`Function Reflection should compile function with named params: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionWithNamedParams() +"# Function: functionWithNamedParams() \`\`\`ts function functionWithNamedParams(__namedParameters: object, anotherParam: string): void @@ -640,7 +640,7 @@ The context of the method call. `; exports[`Function Reflection should compile function with nested parameters: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionWithNestedParameters() +"# Function: functionWithNestedParameters() \`\`\`ts function functionWithNestedParameters( @@ -739,7 +739,7 @@ An optional parameter. `; exports[`Function Reflection should compile function with optional parameters: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionWithOptionalParameters() +"# Function: functionWithOptionalParameters() \`\`\`ts function functionWithOptionalParameters( @@ -771,7 +771,7 @@ This is a function with a parameters. `; exports[`Function Reflection should compile function with optional parameters: (Output File Strategy "members") (Option Group "2") 2`] = ` -"# functionWithOptionalParameters() +"# Function: functionWithOptionalParameters() \`\`\`ts function functionWithOptionalParameters( @@ -826,7 +826,7 @@ Function with reset parmas `; exports[`Function Reflection should compile function with rest params: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionWithRestParams() +"# Function: functionWithRestParams() \`\`\`ts function functionWithRestParams(param: string, ...restParams: string[]): boolean @@ -877,7 +877,7 @@ Comments for T `; exports[`Function Reflection should compile function with type parameters: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# functionWithTypeParameters() +"# Function: functionWithTypeParameters() \`\`\`ts function functionWithTypeParameters(): boolean diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.interface.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.interface.spec.ts.snap index 5c1ced18..9837f2d6 100644 --- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.interface.spec.ts.snap +++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.interface.spec.ts.snap @@ -232,7 +232,7 @@ Comments for nestedPropD `; exports[`Interface Reflection should compile basic interface: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# BasicInterface +"# Interface: BasicInterface Comments for BasicInterface @@ -547,7 +547,7 @@ Comments for nestedPropD `; exports[`Interface Reflection should compile extended interface: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# ExtendedInterface +"# Interface: ExtendedInterface Comments for ExtendedInterface @@ -603,7 +603,7 @@ Comments for IndexableInterface `; exports[`Interface Reflection should compile indexable interface: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# IndexableInterface +"# Interface: IndexableInterface Comments for IndexableInterface @@ -673,7 +673,7 @@ Comments for param eventParam `; exports[`Interface Reflection should compile interface with event properties: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# InterfaceWithEventProperties +"# Interface: InterfaceWithEventProperties ## Properties @@ -722,7 +722,7 @@ Comments for InterfaceWithFlags `; exports[`Interface Reflection should compile interface with flags: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# InterfaceWithFlags +"# Interface: InterfaceWithFlags Comments for InterfaceWithFlags @@ -759,7 +759,7 @@ Comments for prop `; exports[`Interface Reflection should compile interface with type parameters: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# InterfaceWithTypeParameters\\ +"# Interface: InterfaceWithTypeParameters\\ Comments for InterfaceWithTypeParameters diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.type-alias.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.type-alias.spec.ts.snap index 9dd3c158..6797e1a9 100644 --- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.type-alias.spec.ts.snap +++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.type-alias.spec.ts.snap @@ -14,7 +14,7 @@ Comments for ArrayType `; exports[`Type Alias Reflection should compile array type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# ArrayType +"# Type alias: ArrayType \`\`\`ts type ArrayType: string[]; @@ -46,7 +46,7 @@ Comments for ConditionalType `; exports[`Type Alias Reflection should compile conditional type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# ConditionalType\\ +"# Type alias: ConditionalType\\ \`\`\`ts type ConditionalType: T extends string ? "string" : T extends number ? "number" : T extends boolean ? "boolean" : T extends undefined ? "undefined" : "object"; @@ -80,7 +80,7 @@ Comments for TypeWithExternalSymbolLinkMapping `; exports[`Type Alias Reflection should compile external link symbol type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# TypeWithExternalSymbolLinkMapping +"# Type alias: TypeWithExternalSymbolLinkMapping \`\`\`ts type TypeWithExternalSymbolLinkMapping: Application; @@ -204,7 +204,7 @@ Comments for someFunction `; exports[`Type Alias Reflection should compile external literal type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# LiteralType +"# Type alias: LiteralType \`\`\`ts type LiteralType: object; @@ -248,7 +248,7 @@ Comments for ExternalReferenceType `; exports[`Type Alias Reflection should compile external reference type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# ExternalReferenceType +"# Type alias: ExternalReferenceType \`\`\`ts type ExternalReferenceType: ClassWithTypeParameters<"x", "y">; @@ -286,7 +286,7 @@ Comments for FunctionType `; exports[`Type Alias Reflection should compile function type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# FunctionType() +"# Type alias: FunctionType() \`\`\`ts type FunctionType: (name: string, value: unknown) => void; @@ -325,7 +325,7 @@ Comments for IndexAccessType `; exports[`Type Alias Reflection should compile index access type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# IndexAccessType +"# Type alias: IndexAccessType \`\`\`ts type IndexAccessType: ArrayOfStuff[number]; @@ -359,7 +359,7 @@ Comments for IntersectionType `; exports[`Type Alias Reflection should compile intersection type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# IntersectionType +"# Type alias: IntersectionType \`\`\`ts type IntersectionType: TupleType & ArrayType & object; @@ -397,7 +397,7 @@ Comments for PartialMappedType `; exports[`Type Alias Reflection should compile partial mapped type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# PartialMappedType\\ +"# Type alias: PartialMappedType\\ \`\`\`ts type PartialMappedType: { [P in keyof T]?: T[P] }; @@ -431,7 +431,7 @@ Comments for PrimitiveType `; exports[`Type Alias Reflection should compile primitive type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# PrimitiveType +"# Type alias: PrimitiveType \`\`\`ts type PrimitiveType: boolean; @@ -459,7 +459,7 @@ Comments for query type `; exports[`Type Alias Reflection should compile query type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# QueryType +"# Type alias: QueryType \`\`\`ts type QueryType: typeof someQuery; @@ -491,7 +491,7 @@ Comments for ReadonlyMapedType `; exports[`Type Alias Reflection should compile readonly mapped type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# ReadonlyMappedType\\ +"# Type alias: ReadonlyMappedType\\ \`\`\`ts type ReadonlyMappedType: { readonly [P in keyof T]: T[P] }; @@ -525,7 +525,7 @@ Comments for StringLiteralType `; exports[`Type Alias Reflection should compile string literal type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# StringLiteralType +"# Type alias: StringLiteralType \`\`\`ts type StringLiteralType: @@ -559,7 +559,7 @@ Comments for TupleType `; exports[`Type Alias Reflection should compile string tuple type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# TupleType +"# Type alias: TupleType \`\`\`ts type TupleType: [string, number]; @@ -593,7 +593,7 @@ Comments for TypeWithTypeParams `; exports[`Type Alias Reflection should compile type parameter type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# TypeWithTypeParams\\ +"# Type alias: TypeWithTypeParams\\ \`\`\`ts type TypeWithTypeParams: [T, R]; @@ -628,7 +628,7 @@ Union with template strings `; exports[`Type Alias Reflection should compile union type with template strings: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# UnionTypeWithTemplateStrings +"# Type alias: UnionTypeWithTemplateStrings \`\`\`ts type UnionTypeWithTemplateStrings: \`v\${number}\` | \`v\${number}.\${number}\` | \`v\${number}.\${number}.\${number}\`; @@ -656,7 +656,7 @@ Comments for UnionType `; exports[`Type Alias Reflection should compile union type: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# UnionType +"# Type alias: UnionType \`\`\`ts type UnionType: string | boolean | object; diff --git a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.variable.spec.ts.snap b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.variable.spec.ts.snap index 61f7665c..4045d44f 100644 --- a/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.variable.spec.ts.snap +++ b/packages/typedoc-plugin-markdown/test/specs/__snapshots__/reflection.variable.spec.ts.snap @@ -22,7 +22,7 @@ Comments for symbol `; exports[`Variable Reflection should compile object with symbol: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# objectWithSymbol +"# Variable: objectWithSymbol \`\`\`ts const objectWithSymbol: object; @@ -56,7 +56,7 @@ Comments for typeOperatorVariable `; exports[`Variable Reflection should compile type operator variable: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# typeOperatorVariable +"# Variable: typeOperatorVariable \`\`\`ts const typeOperatorVariable: unique symbol; @@ -84,7 +84,7 @@ A simple string variable `; exports[`Variable Reflection should compile variable assigned to a string: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# stringVariable +"# Variable: stringVariable \`\`\`ts const stringVariable: "stringConstWithDefaultValue" = 'stringConstWithDefaultValue'; @@ -180,7 +180,7 @@ Comments for objectLiteralVariable `; exports[`Variable Reflection should compile variable assigned to an object literal: (Output File Strategy "members") (Option Group "2") 1`] = ` -"# objectLiteralVariable +"# Variable: objectLiteralVariable \`\`\`ts const objectLiteralVariable: object;