정적 메소드
정적 메소드는 플러그인 인스턴스의 일부가 아니며 생성자 함수에 연결됩니다. 이 메소드는 플러그인 옵션 및 테마 구성을 검증하고 정규화하는데 사용되며 플러그인 인스턴스를 초기화하기 위한 생성자 매개변수로 사용됩니다.
validateOptions({options, validate})
플러그인에서 사용할 수 있도록 유효성을 검사하고 정규화된 옵션값을 반환합니다. 이 메소드는 플러그인이 초기화되기 전에 호출됩니다. 초기화하는 동안 플러그인이 전달되므로 옵션을 반환해주어야 합니다.
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 import {Joi} from '@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.
export default function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// rest of methods
};
}
export function validateOptions({options, validate}) {
const validatedOptions = validate(myValidationSchema, options);
return validatedOptions;
}
validateThemeConfig({themeConfig, validate})
테마에서 사용할 수 있도록 유효성을 검사하고 정규화된 설정값을 반환합니다.
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 import {Joi} from '@docusaurus/utils-validation'
If you don't use Joi for validation you can throw an Error in case of invalid options.
export default function myPlugin(context, options) {
return {
name: 'docusaurus-plugin',
// rest of methods
};
}
export function validateThemeConfig({themeConfig, validate}) {
const validatedThemeConfig = validate(myValidationSchema, options);
return validatedThemeConfig;
}