diff --git a/packages/docusaurus-plugin-content-blog/src/index.ts b/packages/docusaurus-plugin-content-blog/src/index.ts index d267f41942..c7d0b5e9d0 100644 --- a/packages/docusaurus-plugin-content-blog/src/index.ts +++ b/packages/docusaurus-plugin-content-blog/src/index.ts @@ -202,6 +202,7 @@ export default async function pluginContentBlog( blogPostComponent, blogTagsListComponent, blogTagsPostsComponent, + blogArchiveComponent, routeBasePath, archiveBasePath, } = options; @@ -235,7 +236,7 @@ export default async function pluginContentBlog( ); addRoute({ path: archiveUrl, - component: '@theme/BlogArchivePage', + component: blogArchiveComponent, exact: true, modules: { archive: aliasedSource(archiveProp), diff --git a/packages/docusaurus-plugin-content-blog/src/plugin-content-blog.d.ts b/packages/docusaurus-plugin-content-blog/src/plugin-content-blog.d.ts index 618c97fb3a..02a6877cc5 100644 --- a/packages/docusaurus-plugin-content-blog/src/plugin-content-blog.d.ts +++ b/packages/docusaurus-plugin-content-blog/src/plugin-content-blog.d.ts @@ -120,6 +120,7 @@ declare module '@docusaurus/plugin-content-blog' { blogPostComponent: string; blogTagsListComponent: string; blogTagsPostsComponent: string; + blogArchiveComponent: string; blogTitle: string; blogDescription: string; blogSidebarCount: number | 'ALL'; diff --git a/packages/docusaurus-plugin-content-blog/src/pluginOptionSchema.ts b/packages/docusaurus-plugin-content-blog/src/pluginOptionSchema.ts index f0f5a5cf82..666ec5f22d 100644 --- a/packages/docusaurus-plugin-content-blog/src/pluginOptionSchema.ts +++ b/packages/docusaurus-plugin-content-blog/src/pluginOptionSchema.ts @@ -28,6 +28,7 @@ export const DEFAULT_OPTIONS: PluginOptions = { blogTagsListComponent: '@theme/BlogTagsListPage', blogPostComponent: '@theme/BlogPostPage', blogListComponent: '@theme/BlogListPage', + blogArchiveComponent: '@theme/BlogArchivePage', blogDescription: 'Blog', blogTitle: 'Blog', blogSidebarCount: 5, @@ -68,6 +69,9 @@ export const PluginOptionSchema = Joi.object({ blogTagsPostsComponent: Joi.string().default( DEFAULT_OPTIONS.blogTagsPostsComponent, ), + blogArchiveComponent: Joi.string().default( + DEFAULT_OPTIONS.blogArchiveComponent, + ), blogTitle: Joi.string().allow('').default(DEFAULT_OPTIONS.blogTitle), blogDescription: Joi.string() .allow('') diff --git a/website/docs/api/plugins/plugin-content-blog.md b/website/docs/api/plugins/plugin-content-blog.md index b456cc3125..7eda77338a 100644 --- a/website/docs/api/plugins/plugin-content-blog.md +++ b/website/docs/api/plugins/plugin-content-blog.md @@ -54,6 +54,7 @@ Accepted fields: | `blogPostComponent` | `string` | `'@theme/BlogPostPage'` | Root component of each blog post page. | | `blogTagsListComponent` | `string` | `'@theme/BlogTagsListPage'` | Root component of the tags list page | | `blogTagsPostsComponent` | `string` | `'@theme/BlogTagsPostsPage'` | Root component of the "posts containing tag" page. | +| `blogArchiveComponent` | `string` | `'@theme/BlogArchivePage'` | Root component of the blog archive page. | | `remarkPlugins` | `any[]` | `[]` | Remark plugins passed to MDX. | | `rehypePlugins` | `any[]` | `[]` | Rehype plugins passed to MDX. | | `beforeDefaultRemarkPlugins` | `any[]` | `[]` | Custom Remark plugins passed to MDX before the default Docusaurus Remark plugins. |