diff --git a/.gitignore b/.gitignore index 68516a8b5..33a4bcbb1 100644 --- a/.gitignore +++ b/.gitignore @@ -44,4 +44,4 @@ coverage .nyc_output package-lock.json build -typedoc +typedoc_out diff --git a/package.json b/package.json index 18f157006..a7527c5d0 100644 --- a/package.json +++ b/package.json @@ -56,6 +56,6 @@ "readme:toc": "doctoc ./README.md", "postinstall": "husky install", "website": "yarn --cwd website/ run start", - "typedoc": "typedoc packages/mongodb-memory-server-core/src/index.ts --out typedoc --tsconfig packages/mongodb-memory-server-core/tsconfig.build.json" + "typedoc": "typedoc packages/mongodb-memory-server-core/src/index.ts --out typedoc_out --tsconfig packages/mongodb-memory-server-core/tsconfig.build.json" } } diff --git a/scripts/ghPagesDeploy.js b/scripts/ghPagesDeploy.js index 1c032e40e..52b7fee2b 100644 --- a/scripts/ghPagesDeploy.js +++ b/scripts/ghPagesDeploy.js @@ -7,7 +7,7 @@ const path = require('node:path'); /* Constants / Config */ /** keep ".git", ".github", "website" and "scripts" */ -const keepRegex = /^(?:\.git|website|scripts|versions|typedoc)/; +const keepRegex = /^(?:\.git|website|scripts|versions|typedoc_out)/; /** Regex to filter and get versions output from git ls-tree */ const versionsFilter = /^versions\/(\d+\.x|beta)\/?$/; /** Which branch to deploy to */ @@ -98,7 +98,7 @@ function main() { // move typedoc to "deployAs" { - const from = 'typedoc'; + const from = 'typedoc_out'; const to = path.join(deployInfo.deployPath, 'typedoc'); console.log('rename', from, '->', to); // always log what is renamed fs.renameSync(from, to); diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index 8f829ade2..eaf46240c 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -59,6 +59,13 @@ module.exports = { label: 'API', position: 'right', }, + { + type: 'custom-link', + href: 'typedoc/index.html', + prependBaseUrlToHref: true, + label: 'Typedoc', + position: 'right', + }, { href: 'https://github.com/nodkz/mongodb-memory-server/blob/master/CHANGELOG.md', label: 'Changelog', diff --git a/website/src/components/NavbarExternalLink.js b/website/src/components/NavbarExternalLink.js new file mode 100644 index 000000000..29414ad78 --- /dev/null +++ b/website/src/components/NavbarExternalLink.js @@ -0,0 +1,15 @@ +import React from 'react'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +// this is a workaround, because without this non-absolute links will be seen as routable links by react +// see https://github.com/facebook/docusaurus/discussions/9376 + +export default function NavbarLinkNoReact({ href, label }) { + const normalizedHref = useBaseUrl(href, { forcePrependBaseUrl: true }); + + return ( + + {label} + + ); +} diff --git a/website/src/theme/NavbarItem/ComponentTypes.js b/website/src/theme/NavbarItem/ComponentTypes.js index df9554b2b..0fe4a11ac 100644 --- a/website/src/theme/NavbarItem/ComponentTypes.js +++ b/website/src/theme/NavbarItem/ComponentTypes.js @@ -1,10 +1,12 @@ import OriginalComponentTypes from '@theme-original/NavbarItem/ComponentTypes'; import NavbarVersionsSelector from '../../components/NavbarVersionsSelector'; import NavbarBetaNotice from '../../components/NavbarBetaNotice'; +import NavbarLinkNoReact from '../../components/NavbarExternalLink'; const ComponentTypes = { ...OriginalComponentTypes, 'custom-versions-selector': NavbarVersionsSelector, 'custom-beta-notice': NavbarBetaNotice, + 'custom-link': NavbarLinkNoReact, }; export default ComponentTypes;