Skip to main content
Version: 3.6.3

📦 plugin-content-blog

Provides the Blog feature and is the default blog plugin for Docusaurus.

some features production only

The feed feature works by extracting the build output, and is only active in production.

Installation

npm install --save @docusaurus/plugin-content-blog
tip

If you use the preset @docusaurus/preset-classic, you don't need to install this plugin as a dependency.

You can configure this plugin through the preset options.

Configuration

Accepted fields:

NameTypeDefaultDescription
pathstring'blog'Path to the blog content directory on the file system, relative to site dir.
editUrlstring | EditUrlFnundefinedBase URL to edit your site. The final URL is computed by editUrl + relativePostPath. Using a function allows more nuanced control for each file. Omitting this variable entirely will disable edit links.
editLocalizedFilesbooleanfalseThe edit URL will target the localized file, instead of the original unlocalized file. Ignored when editUrl is a function.
blogTitlestring'Blog'Blog page title for better SEO.
blogDescriptionstring'Blog'Blog page meta description for better SEO.
blogSidebarCountnumber | 'ALL'5Number of blog post elements to show in the blog sidebar. 'ALL' to show all blog posts; 0 to disable.
blogSidebarTitlestring'Recent posts'Title of the blog sidebar.
routeBasePathstring'blog'URL route for the blog section of your site. DO NOT include a trailing slash. Use / to put the blog at root path.
tagsBasePathstring'tags'URL route for the tags section of your blog. Will be appended to routeBasePath.
pageBasePathstring'page'URL route for the pages section of your blog. Will be appended to routeBasePath.
archiveBasePathstring | null'archive'URL route for the archive section of your blog. Will be appended to routeBasePath. DO NOT include a trailing slash. Use null to disable generation of archive.
authorsBasePathstring'authors'URL route for the authors pages of your blog. Will be appended to path.
includestring[]['**/*.{md,mdx}']Array of glob patterns matching Markdown files to be built, relative to the content path.
excludestring[]See example configurationArray of glob patterns matching Markdown files to be excluded. Serves as refinement based on the include option.
postsPerPagenumber | 'ALL'10Number of posts to show per page in the listing page. Use 'ALL' to display all posts on one listing page.
blogListComponentstring'@theme/BlogListPage'Root component of the blog listing page.
blogPostComponentstring'@theme/BlogPostPage'Root component of each blog post page.
blogTagsListComponentstring'@theme/BlogTagsListPage'Root component of the tags list page.
blogTagsPostsComponentstring'@theme/BlogTagsPostsPage'Root component of the "posts containing tag" page.
blogArchiveComponentstring'@theme/BlogArchivePage'Root component of the blog archive page.
blogAuthorsPostsComponentstring'@theme/Blog/Pages/BlogAuthorsPostsPage'Root component of the blog author page.
blogAuthorsListComponentstring'@theme/Blog/Pages/BlogAuthorsListPage'Root component of the blog authors page index.
remarkPluginsany[][]Remark plugins passed to MDX.
rehypePluginsany[][]Rehype plugins passed to MDX.
rehypePluginsany[][]Recma plugins passed to MDX.
beforeDefaultRemarkPluginsany[][]Custom Remark plugins passed to MDX before the default Docusaurus Remark plugins.
beforeDefaultRehypePluginsany[][]Custom Rehype plugins passed to MDX before the default Docusaurus Rehype plugins.
truncateMarkerRegExp/<!--\s*truncate\s*-->/ | \{\/\*\s*truncate\s*\*\/\}/Truncate marker marking where the summary ends.
showReadingTimebooleantrueShow estimated reading time for the blog post.
readingTimeReadingTimeFnThe default reading timeA callback to customize the reading time number displayed.
authorsMapPathstring'authors.yml'Path to the authors map file, relative to the blog content directory.
feedOptionsSee below{type: ['rss', 'atom']}Blog feed.
feedOptions.typeFeedType | FeedType[] | 'all' | nullRequiredType of feed to be generated. Use null to disable generation.
feedOptions.createFeedItemsCreateFeedItemsFn | undefinedundefinedAn optional function which can be used to transform and / or filter the items in the feed.
feedOptions.limitnumber | null | false20Limits the feed to the specified number of posts, false or null for all entries. Defaults to 20.
feedOptions.titlestringsiteConfig.titleTitle of the feed.
feedOptions.descriptionstring`${siteConfig.title} Blog`Description of the feed.
feedOptions.copyrightstringundefinedCopyright message.
feedOptions.xsltboolean | FeedXSLTOptionsundefinedCopyright message.
feedOptions.languagestring (See documentation for possible values)undefinedLanguage metadata of the feed.
sortPosts'descending' | 'ascending' 'descending'Governs the direction of blog post sorting.
processBlogPostsProcessBlogPostsFnundefinedAn optional function which can be used to transform blog posts (filter, modify, delete, etc...).
showLastUpdateAuthorboolean