Skip to main content
Version: 3.2.1

Plugin Method References

warning

This section is a work in progress. Anchor links or even URLs are not guaranteed to be stable.

Plugin APIs are shared by themes and plugins—themes are loaded just like plugins.

Plugin module

Every plugin is imported as a module. The module is expected to have the following members:

  • A default export: the constructor function for the plugin.
  • Named exports: the static methods called before plugins are initialized.

Plugin constructor

The plugin module's default export is a constructor function with the signature (context: LoadContext, options: PluginOptions) => Plugin | Promise<Plugin>.

context

context is plugin-agnostic, and the same object will be passed into all plugins used for a Docusaurus website. The context object contains the following fields:

type LoadContext = {
siteDir: string;
generatedFilesDir: string;
siteConfig: DocusaurusConfig;
outDir: string;
baseUrl: