Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: wrap more JSX in mdx-code-block #7568

Merged
merged 1 commit into from
Jun 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion website/docs/advanced/ssg.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ ReferenceError: window is not defined

This is because during server-side rendering, the Docusaurus app isn't actually run in browser, and it doesn't know what `window` is.

```mdx-code-block
<details id="node-env">

<summary>What about <code>process.env.NODE_ENV</code>?</summary>
```

One exception to the "no Node globals" rule is `process.env.NODE_ENV`. In fact, you can use it in React, because Webpack injects this variable as a global:

Expand All @@ -58,8 +59,10 @@ During Webpack build, the `process.env.NODE_ENV` will be replaced with the value

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

```mdx-code-block
<Tabs>
<TabItem value="Development">
```

```diff
import React from 'react';
Expand All @@ -74,8 +77,10 @@ export default function expensiveComp() {
}
```

```mdx-code-block
</TabItem>
<TabItem value="Production">
```

```diff
import React from 'react';
Expand All @@ -90,9 +95,11 @@ export default function expensiveComp() {
}
```

```mdx-code-block
</TabItem>
</Tabs>
</details>
```

## Understanding SSR {#understanding-ssr}

Expand Down
6 changes: 6 additions & 0 deletions website/docs/api/plugins/plugin-debug.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,10 @@ Most Docusaurus users configure this plugin through the preset options.

:::

```mdx-code-block
<Tabs>
<TabItem value="Preset Options">
```

If you use a preset, configure this plugin through the [preset options](../../using-plugins.md#docusauruspreset-classic):

Expand All @@ -86,8 +88,10 @@ module.exports = {
};
```

```mdx-code-block
</TabItem>
<TabItem value="Plugin Options">
```

If you are using a standalone plugin, provide options directly to the plugin:

Expand All @@ -98,5 +102,7 @@ module.exports = {
};
```

```mdx-code-block
</TabItem>
</Tabs>
```
18 changes: 18 additions & 0 deletions website/docs/guides/docs/sidebar/items.md
Original file line number Diff line number Diff line change
Expand Up @@ -404,8 +404,10 @@ You can express typical sidebar items without much customization more concisely

An item with type `doc` can be simply a string representing its ID:

```mdx-code-block
<Tabs>
<TabItem value="Longhand">
```

```js title="sidebars.js"
module.exports = {
Expand All @@ -420,8 +422,10 @@ module.exports = {
};
```

```mdx-code-block
</TabItem>
<TabItem value="Shorthand">
```

```js title="sidebars.js"
module.exports = {
Expand All @@ -433,8 +437,10 @@ module.exports = {
};
```

```mdx-code-block
</TabItem>
</Tabs>
```

So it's possible to simplify the example above to:

Expand Down Expand Up @@ -472,8 +478,10 @@ module.exports = {

A category item can be represented by an object whose key is its label, and the value is an array of subitems.

```mdx-code-block
<Tabs>
<TabItem value="Longhand">
```

```js title="sidebars.js"
module.exports = {
Expand All @@ -489,8 +497,10 @@ module.exports = {
};
```

```mdx-code-block
</TabItem>
<TabItem value="Shorthand">
```

```js title="sidebars.js"
module.exports = {
Expand All @@ -504,8 +514,10 @@ module.exports = {
};
```

```mdx-code-block
</TabItem>
</Tabs>
```

This permits us to simplify that example to:

Expand Down Expand Up @@ -553,8 +565,10 @@ Note how the two consecutive category shorthands are compressed into one object

Wherever you have an array of items that is reduced to one category shorthand, you can omit that enclosing array as well.

```mdx-code-block
<Tabs>
<TabItem value="Before">
```

```js title="sidebars.js"
module.exports = {
Expand All @@ -572,8 +586,10 @@ module.exports = {
};
```

```mdx-code-block
</TabItem>
<TabItem value="After">
```

```js title="sidebars.js"
module.exports = {
Expand All @@ -587,5 +603,7 @@ module.exports = {
};
```

```mdx-code-block
</TabItem>
</Tabs>
```
6 changes: 6 additions & 0 deletions website/docs/guides/docs/versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,10 @@ When tagging a new version, the document versioning mechanism will:
1. Place the new file into the corresponding version folder.
2. Include the reference to the new file in the corresponding sidebar file according to the version number.

```mdx-code-block
<Tabs>
<TabItem value="Current version structure">
```

```bash
# The new file.
Expand All @@ -113,8 +115,10 @@ docs/new.md
sidebars.js
```

```mdx-code-block
</TabItem>
<TabItem value="Older version structure">
```

```bash
# The new file.
Expand All @@ -124,8 +128,10 @@ versioned_docs/version-1.0.0/new.md
versioned_sidebars/version-1.0.0-sidebars.json
```

```mdx-code-block
</TabItem>
</Tabs>
```

### Updating an existing version {#updating-an-existing-version}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,21 @@ Let's imagine the following file structure:

You can display images in three different ways: Markdown syntax, CJS require, or ES imports syntax.

```mdx-code-block
<Tabs>
<TabItem value="Markdown syntax">
```

Display images using simple Markdown syntax:

```md
![Example banner](./assets/docusaurus-asset-example-banner.png)
```

```mdx-code-block
</TabItem>
<TabItem value="CommonJS require">
```

Display images using inline CommonJS `require` in JSX image tag:

Expand All @@ -48,8 +52,10 @@ Display images using inline CommonJS `require` in JSX image tag:
/>
```

```mdx-code-block
</TabItem>
<TabItem value="Import statement">
```

Display images using ES `import` syntax and JSX image tag:

Expand All @@ -59,8 +65,10 @@ import myImageUrl from './assets/docusaurus-asset-example-banner.png';
<img src={myImageUrl} alt="Example banner" />;
```

```mdx-code-block
</TabItem>
</Tabs>
```

All of the above result in displaying the image:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,19 @@ function HelloCodeTitle(props) {
```
````

```mdx-code-block
<BrowserWindow>
```

```jsx title="/src/components/HelloCodeTitle.js"
function HelloCodeTitle(props) {
return <h1>Hello, {props.name}</h1>;
}
```

```mdx-code-block
</BrowserWindow>
```

## Syntax highlighting {#syntax-highlighting}

Expand Down Expand Up @@ -809,6 +813,7 @@ export default function MyReactPage() {
}
```

```mdx-code-block
<BrowserWindow>
<CodeBlock
language="jsx"
Expand All @@ -819,6 +824,7 @@ export default function MyReactPage() {
}`}
</CodeBlock>
</BrowserWindow>
```

The props accepted are `language`, `title` and `showLineNumbers`, in the same way as you write Markdown code blocks.

Expand Down
6 changes: 6 additions & 0 deletions website/docs/i18n/i18n-tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,10 @@ Locate all text labels in your React code that will be visible to your users, an

Use the one that better fits the context semantically. For example, the `<Translate>` can be used as React children, while for props that expect a string, the callback can be used.

```mdx-code-block
<Tabs>
<TabItem value="Before">
```

```jsx title="src/pages/index.js"
import React from 'react';
Expand Down Expand Up @@ -144,8 +146,10 @@ export default function Home() {
}
```

```mdx-code-block
</TabItem>
<TabItem value="After">
```

```jsx title="src/pages/index.js"
import React from 'react';
Expand Down Expand Up @@ -199,8 +203,10 @@ export default function Home() {
}
```

```mdx-code-block
</TabItem>
</Tabs>
```

:::info

Expand Down