Skip to content

Commit

Permalink
docs: add heads up for Prettier users (#9471)
Browse files Browse the repository at this point in the history
* docs: add a note on the use of Prettier for MDX

* docs: add guides for Prettier users migrating to v3

* Update website/docs/guides/markdown-features/markdown-features-react.mdx

Co-authored-by: Joshua Chen <[email protected]>

* docs: Update MDX version

* Update website/docs/migration/v3.mdx

* Update v3.mdx

---------

Co-authored-by: Joshua Chen <[email protected]>
  • Loading branch information
tats-u and Josh-Cena authored Nov 23, 2023
1 parent 8dc24b6 commit 6cc29fa
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ Use the **[MDX playground](https://mdxjs.com/playground/)** to debug them and ma

:::

:::info

Prettier, the most popular formatter, [supports only the legacy MDX v1](https://github.com/prettier/prettier/issues/12209). If you get an unintentional formatting result, you may want to add `{/* prettier-ignore */}` before the problematic area, or add `*.mdx` to your `.prettierignore`, until Prettier has proper support for MDX v3. [One of the main authors of MDX recommends `remark-cli` with `remark-mdx`](https://github.com/orgs/mdx-js/discussions/2067).

:::

### Exporting components {#exporting-components}

To define any custom component within an MDX file, you have to export it: only paragraphs that start with `export` will be parsed as components instead of prose.
Expand Down
15 changes: 15 additions & 0 deletions website/docs/migration/v3.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,21 @@ If you created custom Remark or Rehype plugins, you may need to refactor those,

:::

### Formatters

Prettier, the most common formatter, supports only the legacy MDX v1, not v3 yet as of Docusaurus v3.0.0. You can add `{/* prettier-ignore */}` before the incompatible parts of your code to make it work with Prettier.

```mdx
{/* prettier-ignore */}
<SomeComponent>Some long text in the component</SomeComponent>
```

If you get tired of too many `{/* prettier-ignore */}` insertions, you can consider disabling MDX formatting by Prettier by adding the following to your `.prettierignore` file, until it starts supporting MDX v3:

```txt title=".prettierignore"
*.mdx
```

## Other Breaking Changes

Apart the MDX v3 upgrade, here is an exhaustive list of breaking changes coming with Docusaurus v3.
Expand Down

0 comments on commit 6cc29fa

Please sign in to comment.