Aller au contenu principal
Version : 2.4.0

Méthodes statiques

Les méthodes statiques ne font pas partie de l'instance du plugin, elles sont attachées à la fonction constructeur. Ces méthodes sont utilisées pour valider et normaliser les options du plugin et la configuration du thème, qui sont ensuite utilisés comme paramètres du constructeur pour initialiser l'instance du plugin.

validateOptions({options, validate})

Retourne les options validées et normalisées pour le plugin. Cette méthode est appelée avant l'initialisation du plugin. Vous devez retourner les options car elles seront passées au plugin lors de l'initialisation.

options

validateOptions is called with options passed to plugin for validation and normalization.

validate

validateOptions is called with validate function which takes a Joi schema and options as the arguments, returns validated and normalized options. validate will automatically handle error and validation config.

astuce

Joi is recommended for validation and normalization of options.

To avoid mixing Joi versions, use const {Joi} = require("@docusaurus/utils-validation")

If you don't use Joi for validation you can throw an Error in case of invalid options and return options in case of success.

my-plugin/src/index.js
function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// rest of methods
};
}

myPlugin.validateOptions = ({options, validate}) => {
const validatedOptions = validate(myValidationSchema, options);
return validatedOptions;
};

module.exports = myPlugin;

En TypeScript, vous pouvez également choisir d'exporter cela sous la forme d'un export nommé séparé.

my-plugin/src/index.ts
export default function (context, options) {
return {
name: 'docusaurus-plugin',
// rest of methods
};
}

export function validateOptions({options, validate}) {
const validatedOptions = validate(myValidationSchema, options);
return validatedOptions;
}

validateThemeConfig({themeConfig, validate})

Retourne une configuration validée et normalisée pour le thème.

themeConfig

validateThemeConfig is called with themeConfig provided in docusaurus.config.js for validation and normalization.

validate

validateThemeConfig is called with validate function which takes a Joi schema and themeConfig as the arguments, returns validated and normalized options. validate will automatically handle error and validation config.

astuce

Joi is recommended for validation and normalization of theme config.

To avoid mixing Joi versions, use const {Joi} = require("@docusaurus/utils-validation")

If you don't use Joi for validation you can throw an Error in case of invalid options.

my-theme/src/index.js
function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// rest of methods
};
}

myPlugin.validateThemeConfig = ({themeConfig, validate}) => {
const validatedThemeConfig = validate(myValidationSchema, options);
return validatedThemeConfig;
};

module.exports = validateThemeConfig;

En TypeScript, vous pouvez également choisir d'exporter cela sous la forme d'un export nommé séparé.

my-theme/src/index.ts
export default function (context, options) {
return {
name: 'docusaurus-plugin',
// reste des méthodes
};
}

export function validateThemeConfig({themeConfig, validate}) {
const validatedThemeConfig = validate(myValidationSchema, options);
return validatedThemeConfig;
}