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.
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.
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é.
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.
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.
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é.
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;
}