Aller au contenu principal
Version : 2.0.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 est appelé avec les options passées au plugin pour la validation et la normalisation.

validate

validateOptions est appelée avec la fonction validate qui prend un schéma Joi et les options comme arguments, retourne des options validées et normalisées. validate gérera automatiquement la configuration d'erreur et de validation.

astuce

Joi est recommandé pour la validation et la normalisation des options.

Pour éviter de mélanger les versions de Joi, utilisez const {Joi} = require("@docusaurus/utils-validation")

Si vous n'utilisez pas Joi pour la validation, vous pouvez lancer une erreur en cas d'options non valides et retourner des options en cas de succès.

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

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

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',
// reste des méthodes
};
}

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

validateThemeConfig({themeConfig, validate})

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

themeConfig

validateThemeConfig est appelé avec themeConfig fourni dans docusaurus.config.js pour la validation et la normalisation.

validate

validateThemeConfig est appelé avec la fonction validate qui prend un schéma Joi et themeConfig en arguments, retourne les options validées et normalisées. validate gérera automatiquement la configuration d'erreur et de validation.

astuce

Joi est recommandé pour la validation et la normalisation de la configuration du thème.

Pour éviter de mélanger les versions de Joi, utilisez const {Joi} = require("@docusaurus/utils-validation")

Si vous n'utilisez pas Joi pour la validation, vous pouvez lancer une erreur en cas d'options non valides.

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

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