feat(mdx): support recma plugins (#10241)

This commit is contained in:
Sébastien Lorber 2024-06-21 19:25:32 +02:00 committed by GitHub
parent 4ad425a88f
commit cc506c8950
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 45 additions and 0 deletions

View file

@ -63,6 +63,7 @@ describe('validateOptions', () => {
markdownPluginsObjectStub,
[markdownPluginsFunctionStub, {option1: '42'}],
],
recmaPlugins: [markdownPluginsFunctionStub],
};
expect(testValidate(userOptions)).toEqual(userOptions);
});

View file

@ -250,6 +250,7 @@ export default async function pluginContentBlog(
admonitions,
rehypePlugins,
remarkPlugins,
recmaPlugins,
truncateMarker,
beforeDefaultRemarkPlugins,
beforeDefaultRehypePlugins,
@ -262,6 +263,7 @@ export default async function pluginContentBlog(
admonitions,
remarkPlugins,
rehypePlugins,
recmaPlugins,
beforeDefaultRemarkPlugins: [
footnoteIDFixer,
...beforeDefaultRemarkPlugins,

View file

@ -9,6 +9,7 @@ import {
Joi,
RemarkPluginsSchema,
RehypePluginsSchema,
RecmaPluginsSchema,
AdmonitionsSchema,
RouteBasePathSchema,
URISchema,
@ -29,6 +30,7 @@ export const DEFAULT_OPTIONS: PluginOptions = {
truncateMarker: /<!--\s*truncate\s*-->|\{\/\*\s*truncate\s*\*\/\}/,
rehypePlugins: [],
remarkPlugins: [],
recmaPlugins: [],
showReadingTime: true,
blogTagsPostsComponent: '@theme/BlogTagsPostsPage',
blogTagsListComponent: '@theme/BlogTagsListPage',
@ -93,6 +95,7 @@ const PluginOptionSchema = Joi.object<PluginOptions>({
showReadingTime: Joi.bool().default(DEFAULT_OPTIONS.showReadingTime),
remarkPlugins: RemarkPluginsSchema.default(DEFAULT_OPTIONS.remarkPlugins),
rehypePlugins: RehypePluginsSchema.default(DEFAULT_OPTIONS.rehypePlugins),
recmaPlugins: RecmaPluginsSchema.default(DEFAULT_OPTIONS.recmaPlugins),
admonitions: AdmonitionsSchema.default(DEFAULT_OPTIONS.admonitions),
editUrl: Joi.alternatives().try(URISchema, Joi.function()),
editLocalizedFiles: Joi.boolean().default(DEFAULT_OPTIONS.editLocalizedFiles),