diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/options.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/options.test.ts index 2f9e0ec2f1..1d46b3d840 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/options.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/options.test.ts @@ -74,6 +74,27 @@ describe('normalizeDocsPluginOptions', () => { expect(error).toBe(undefined); }); + test('should accept admonitions false', async () => { + const admonitionsFalse = { + ...DEFAULT_OPTIONS, + admonitions: false, + }; + const {value, error} = OptionsSchema.validate(admonitionsFalse); + expect(value).toEqual(admonitionsFalse); + expect(error).toBe(undefined); + }); + + test('should reject admonitions true', async () => { + const admonitionsTrue = { + ...DEFAULT_OPTIONS, + admonitions: true, + }; + const {error} = OptionsSchema.validate(admonitionsTrue); + expect(error).toMatchInlineSnapshot( + `[ValidationError: "admonitions" contains an invalid value]`, + ); + }); + test('should reject invalid remark plugin options', () => { expect(() => { normalizePluginOptions(OptionsSchema, { diff --git a/packages/docusaurus-plugin-content-docs/src/options.ts b/packages/docusaurus-plugin-content-docs/src/options.ts index a38a9f58d4..189824535d 100644 --- a/packages/docusaurus-plugin-content-docs/src/options.ts +++ b/packages/docusaurus-plugin-content-docs/src/options.ts @@ -76,7 +76,9 @@ export const OptionsSchema = Joi.object({ beforeDefaultRehypePlugins: RehypePluginsSchema.default( DEFAULT_OPTIONS.beforeDefaultRehypePlugins, ), - admonitions: AdmonitionsSchema.default(DEFAULT_OPTIONS.admonitions), + admonitions: Joi.alternatives() + .try(AdmonitionsSchema, Joi.boolean().invalid(true)) + .default(DEFAULT_OPTIONS.admonitions), showLastUpdateTime: Joi.bool().default(DEFAULT_OPTIONS.showLastUpdateTime), showLastUpdateAuthor: Joi.bool().default( DEFAULT_OPTIONS.showLastUpdateAuthor,