📦 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
 - pnpm
 
npm install --save @docusaurus/plugin-content-pages
yarn add @docusaurus/plugin-content-pages
pnpm add @docusaurus/plugin-content-pages
提示
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
You can configure this plugin through preset options or plugin options.
提示
Most Docusaurus users configure this plugin through the preset options.
- JavaScript
 
// Preset Options: pages
// Plugin Options: @docusaurus/plugin-content-pages
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('./my-remark-plugin')],
  rehypePlugins: [],
  beforeDefaultRemarkPlugins: [],
  beforeDefaultRehypePlugins: [],
};
Markdown front matter
Markdown pages can use the following Markdown front matter metadata fields, enclosed by a line --- on either side.
Accepted fields:
| Name | Type | Default | Description | 
|---|---|---|---|
title | string | Markdown title | The blog post title. | 
description | string | The first line of Markdown content | The description of your page, which will become the <meta name="description" content="..."/> and <meta property="og:description" content="..."/> in <head>, used by search engines. | 
keywords | string[] | undefined | Keywords meta tag, which will become the <meta name="keywords" content="keyword1,keyword2,..."/> in <head>, used by search engines. | 
image | string | undefined | Cover or thumbnail image that will be used when displaying the link to your post. | 
wrapperClassName | string | Class name to be added to the wrapper element to allow targeting specific page content. | |
hide_table_of_contents | boolean | false | Whether to hide the table of contents to the right. | 
draft | boolean | false | Draft pages will only be available during development. | 
unlisted | boolean | false | Unlisted pages will be available in both development and production. They will be "hidden" in production, not indexed, excluded from sitemaps, and can only be accessed by users having a direct link. | 
Example:
---
title: Markdown Page
description: Markdown page SEO description
wrapperClassName: markdown-page
hide_table_of_contents: false
draft: true
---
Markdown page content