From 70ec28a1bc8e8505bdf5f7c4128dfc9920670d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Wed, 13 May 2026 16:44:51 +0200 Subject: [PATCH 1/2] feat: add shared `ApiLink` component --- apify-docs-theme/src/theme/ApiLink/index.jsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 apify-docs-theme/src/theme/ApiLink/index.jsx diff --git a/apify-docs-theme/src/theme/ApiLink/index.jsx b/apify-docs-theme/src/theme/ApiLink/index.jsx new file mode 100644 index 0000000000..8042f94a93 --- /dev/null +++ b/apify-docs-theme/src/theme/ApiLink/index.jsx @@ -0,0 +1,19 @@ +import Link from '@docusaurus/Link'; +import { useDocsVersion } from '@docusaurus/plugin-content-docs/client'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import { usePluginData } from '@docusaurus/useGlobalData'; +import React from 'react'; + +export default function ApiLink({ to, children }) { + const { version, isLast } = useDocsVersion(); + const { siteConfig } = useDocusaurusContext(); + const typedocData = usePluginData('docusaurus-plugin-typedoc-api'); + const routeBasePath = (typedocData?.routeBasePath ?? 'api').replace(/^\/+|\/+$/g, ''); + + if (siteConfig.presets[0][1].docs.disableVersioning || isLast) { + return {children}; + } + + const versionSlug = version === 'current' ? 'next' : version; + return {children}; +} From d3230fddfdb1608fdd45b357fc017cb3528a4626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jind=C5=99ich=20B=C3=A4r?= Date: Thu, 14 May 2026 15:33:02 +0200 Subject: [PATCH 2/2] chore: address PR comments --- apify-docs-theme/src/theme/ApiLink/index.jsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apify-docs-theme/src/theme/ApiLink/index.jsx b/apify-docs-theme/src/theme/ApiLink/index.jsx index 8042f94a93..fe22fd5a59 100644 --- a/apify-docs-theme/src/theme/ApiLink/index.jsx +++ b/apify-docs-theme/src/theme/ApiLink/index.jsx @@ -1,16 +1,14 @@ import Link from '@docusaurus/Link'; import { useDocsVersion } from '@docusaurus/plugin-content-docs/client'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import { usePluginData } from '@docusaurus/useGlobalData'; import React from 'react'; export default function ApiLink({ to, children }) { const { version, isLast } = useDocsVersion(); - const { siteConfig } = useDocusaurusContext(); const typedocData = usePluginData('docusaurus-plugin-typedoc-api'); const routeBasePath = (typedocData?.routeBasePath ?? 'api').replace(/^\/+|\/+$/g, ''); - if (siteConfig.presets[0][1].docs.disableVersioning || isLast) { + if (isLast) { return {children}; }