Skip to content

gah-code/gatsby-mdx-project-01

Repository files navigation

To do List

Step 1: Install Required Packages

You need to install the necessary packages:

npm install gatsby-plugin-theme-ui theme-ui prism-react-renderer

Step 2: Create a gatsby-plugin-theme-ui Configuration

In your Gatsby project's root directory, create a gatsby-plugin-theme-ui configuration file. You can create a theme.js file for this purpose.

// src/gatsby-plugin-theme-ui/theme.js

import prism from '@theme-ui/prism/presets/theme-ui';

const theme = {
  // Your other theme settings here...

  // Extend the base theme with Prism theme settings
  styles: {
    ...prism,
  },
};

export default theme;

In this example, we're importing the Prism theme settings from @theme-ui/prism/presets/theme-ui and extending the base theme with these settings.

Step 3: Configure the gatsby-config.js File

In your gatsby-config.js file, add the gatsby-plugin-theme-ui plugin to your plugins array. Make sure it's placed before other plugins, especially those that modify the Markdown rendering pipeline.

// gatsby-config.js

module.exports = {
  plugins: [
    // Other plugins...

    'gatsby-plugin-theme-ui', // Add this line
  ],
};

Step 4: Use Prism for Syntax Highlighting

In your Markdown or MDX files, you can now use triple backticks (```) to create code blocks, and Prism will be applied automatically with the theme you defined.

```jsx
import React from 'react';

const MyComponent = () => {
  return <div>Hello, World!</div>;
};

export default MyComponent;
```

The code block above will be syntax-highlighted using Prism with the theme you configured in `gatsby-plugin-theme-ui`.

**Step 5: Customize the Prism Theme (Optional)**

If you want to customize the Prism theme, you can do so by overriding the `prism` object in your `theme.js` file (created in Step 2). Modify the colors, fonts, or any other Prism-specific settings to match your project's design.

With these steps, you'll have integrated Prism for syntax highlighting into your Gatsby project using the `gatsby-plugin-theme-ui` package and can easily customize its appearance to fit your project's theme.

About

Styled Components for MDX

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published