根据提供的官方文档,我们可以使用 useDocusaurusContext 钩子函数来访问 Docusaurus 上下文,并从中获取插件的信息。虽然文档中没有直接提及获取 Docs 插件的 ID,但我们可以尝试通过查看插件版本信息来推断插件的 ID。以下是一个示例:
import React from 'react';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
function MyComponent() {
const { siteMetadata } = useDocusaurusContext();
const { pluginVersions } = siteMetadata;
const docsPluginId = Object.keys(pluginVersions).find(
(key) => pluginVersions[key].type === 'package'
);
return (
<div>
<p>当前页面使用的 Docs 插件的 ID 为: {docsPluginId}</p>
</div>
);
}
export default function MyPage() {
return (
<Layout>
<main>
<MyComponent />
</main>
</Layout>
);
}
在上面的示例中,我们使用 useDocusaurusContext 钩子函数来获取 Docusaurus 上下文中的 siteMetadata 对象。然后,我们从 pluginVersions 属性中找到类型为 'package' 的插件版本信息,并将其作为 Docs 插件的 ID。
请注意,这种方法是一种假设性的推断,它假设 Docs 插件是以包的形式存在,并且在插件版本信息中可以找到。这种方法并不是官方支持的直接获取 Docs 插件 ID 的方式。因此,结果可能会因具体项目配置而有所不同。
这个确实可以返回插件ID