docusaurus/website/docs/theme-classic.md
JavaScript Joe 68035cc7e3 docs(v2): update link to available prism themes (#2218)
* fix: update link to available prism themes

* fix: update link to point to prism themes
2020-01-16 01:00:08 +08:00

3.3 KiB

id title
theme-classic @docusaurus/theme-classic

⚠️ This section is a work in progress.

Common

Dark mode

To remove the ability to switch on dark mode, there is an option themeConfig.disableDarkMode, which is implicitly set to false.

// docusaurus.config.js
module.exports = {
  ...
  themeConfig: {
    disableDarkMode: false,
    ...
  },
};

Meta image

You can configure a default image that will be used for your meta tag, in particular og:image and twitter:image.

// docusaurus.config.js
module.exports = {
  ...
  themeConfig: {
    /**
     * Relative to your site's "static" directory.
     * Cannot be SVGs. Can be external URLs too.
     */
    image: 'img/docusaurus.png',
    ...
  },
}

Navbar

You can add a logo and title to the navbar via themeConfig.navbar. Logo can be placed in static folder.

// docusaurus.config.js
module.exports = {
  ...
  themeConfig: {
    navbar: {
      title: 'Site Title',
      logo: {
        alt: 'Site Logo',
        src: 'img/logo.svg',
      },
    },
    ...
  },
}

You can add links to the navbar via themeConfig.navbar.links:

// docusaurus/config.js
module.exports = {
  ...
  themeConfig: {
    navbar: {
      links: [
        {
          to: 'docs/docusaurus.config.js',
          label: 'docusaurus.config.js',
          position: 'left',
        },
        // ... other links
      ],
    },
    ...
  },
}

Outbound links automatically get target="_blank" rel="noopener noreferrer".

Auto-hide sticky navbar

You can enable this cool UI feature that automatically hides the navbar when a user starts scrolling down the page, and show it again when the user scrolls up.

// docusaurus/config.js
module.exports = {
  ...
  themeConfig: {
    navbar: {
      hideOnScroll: true,
    },
    ...
  },
}

CodeBlock

Docusaurus uses Prism React Renderer to highlight code blocks.

Theme

By default, we use Palenight as syntax highlighting theme. You can specify a custom theme from the list of available themes. If you want to use a different syntax highlighting theme when the site is in dark mode, you may also do so.

// docusaurus/config.js
module.exports = {
  themeConfig: {
    prism: {
      theme: require('prism-react-renderer/themes/github'),
      darkTheme: require('prism-react-renderer/themes/dracula'),
    },
  },
};

Note: If you use the line highlighting Markdown syntax, you might need to specify a different highlight background color for the dark mode syntax highlighting theme. Refer to the docs for guidance.

Default language

You can set a default language for code blocks if no language is added after the opening triple backticks (i.e. ```). Note that a valid language name must be passed, e.g.:

// docusaurus/config.js
module.exports = {
  ...
  themeConfig: {
    prism: {
      defaultLanguage: 'javascript',
    },
    ...
  },
};