π¦ plugin-content-pages
The default pages plugin for Docusaurus. The classic template ships with this plugin with default configurations. This plugin provides creating pages functionality.
Installation#
- npm
- Yarn
npm install --save @docusaurus/plugin-content-pages
yarn add @docusaurus/plugin-content-pages
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:
Name | Type | Default | Description |
---|---|---|---|
path | string | 'src/pages' | Path to data on filesystem relative to site dir. Components in this directory will be automatically converted to pages. |
routeBasePath | string | '/' | URL route for the pages section of your site. DO NOT include a trailing slash. |
include | string[] | ['**/*.{js,jsx,ts,tsx,md,mdx}'] | Matching files will be included and processed. |
exclude | string[] | See example configuration | No route will be created for matching files. |
mdxPageComponent | string | '@theme/MDXPage' | Component used by each MDX 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. |
beforeDefaultRehypePlugins | any[] | [] | Custom Rehype plugins passed to MDX before the default Docusaurus Rehype plugins. |
Example configuration#
Here's an example configuration object.
You can provide it as preset options or plugin options.
tip
Most Docusaurus users configure this plugin through the preset options.
const config = { path: 'src/pages', routeBasePath: '', include: ['**/*.{js,jsx,ts,tsx,md,mdx}'], exclude: [ '**/_*.{js,jsx,ts,tsx,md,mdx}', '**/_*/**', '**/*.test.{js,jsx,ts,tsx}', '**/__tests__/**', ], mdxPageComponent: '@theme/MDXPage', remarkPlugins: [require('remark-math')], rehypePlugins: [], beforeDefaultRemarkPlugins: [], beforeDefaultRehypePlugins: [],};
Preset options#
If you use a preset, configure this plugin through the preset options:
docusaurus.config.js
module.exports = { presets: [ [ '@docusaurus/preset-classic', { pages: { path: 'src/pages', // ... configuration object here }, }, ], ],};
Plugin options#
If you are using a standalone plugin, provide options directly to the plugin:
docusaurus.config.js
module.exports = { plugins: [ [ '@docusaurus/plugin-content-pages', { path: 'src/pages', // ... configuration object here }, ], ],};
i18n#
Read the i18n introduction first.
Translation files location#
- Base path:
website/i18n/<locale>/docusaurus-plugin-content-pages
- Multi-instance path:
website/i18n/<locale>/docusaurus-plugin-content-pages-<pluginId>
- JSON files: extracted with
docusaurus write-translations
- Markdown files:
website/i18n/<locale>/docusaurus-plugin-content-pages
Example file-system structure#
website/i18n/<locale>/docusaurus-plugin-content-pagesββ # translations for website/src/pagesβββ first-markdown-page.mdβββ second-markdown-page.md