mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-01 19:27:48 +02:00
docs: document global variables in MDX scope (#5900)
* Adding a note for how to access frontMatter within pages * Move documentation Co-authored-by: cd rubin <github@earthling.za.net>
This commit is contained in:
parent
caa9d923a6
commit
0fc7adfba9
1 changed files with 47 additions and 0 deletions
|
@ -5,6 +5,8 @@ description: Using the power of React in Docusaurus Markdown documents, thanks t
|
||||||
slug: /markdown-features/react
|
slug: /markdown-features/react
|
||||||
---
|
---
|
||||||
|
|
||||||
|
# MDX and React
|
||||||
|
|
||||||
```mdx-code-block
|
```mdx-code-block
|
||||||
import BrowserWindow from '@site/src/components/BrowserWindow';
|
import BrowserWindow from '@site/src/components/BrowserWindow';
|
||||||
```
|
```
|
||||||
|
@ -169,3 +171,48 @@ This way, you can reuse contents among multiple pages and avoid duplicating mate
|
||||||
The table-of-contents does not currently contain the imported Markdown headings. This is a technical limitation that we are trying to solve ([issue](https://github.com/facebook/docusaurus/issues/3915)).
|
The table-of-contents does not currently contain the imported Markdown headings. This is a technical limitation that we are trying to solve ([issue](https://github.com/facebook/docusaurus/issues/3915)).
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
## Available exports
|
||||||
|
|
||||||
|
Within the MDX page, the following variables are available as globals:
|
||||||
|
|
||||||
|
- `frontMatter`: the front matter as a record of string keys and values;
|
||||||
|
- `toc`: the table of contents, as a tree of headings. See also [Inline TOC](./markdown-features-inline-toc.mdx) for a more concrete use-case.
|
||||||
|
- `contentTitle`: the Markdown title, which is the first `h1` heading in the Markdown text. It's `undefined` if there isn't one (e.g. title specified in the front matter).
|
||||||
|
|
||||||
|
```jsx
|
||||||
|
import TOCInline from '@theme/TOCInline';
|
||||||
|
import CodeBlock from '@theme/CodeBlock';
|
||||||
|
|
||||||
|
The table of contents for this page, serialized:
|
||||||
|
|
||||||
|
<CodeBlock className="language-json">{JSON.stringify(toc, null, 2)}</CodeBlock>
|
||||||
|
|
||||||
|
The front matter of this page:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
{Object.entries(frontMatter).map(([key, value]) => <li key={key}><b>{key}</b>: {value}</li>)}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>The title of this page is: <b>{contentTitle}</b></p>
|
||||||
|
```
|
||||||
|
|
||||||
|
```mdx-code-block
|
||||||
|
import TOCInline from '@theme/TOCInline';
|
||||||
|
|
||||||
|
<BrowserWindow>
|
||||||
|
|
||||||
|
The table of contents for this page, serialized:
|
||||||
|
|
||||||
|
<CodeBlock className="language-json">{JSON.stringify(toc, null, 2)}</CodeBlock>
|
||||||
|
|
||||||
|
The front matter of this page:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
{Object.entries(frontMatter).map(([key, value]) => <li key={key}><b>{key}</b>: {value}</li>)}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>The title of this page is: <b>{contentTitle}</b></p>
|
||||||
|
|
||||||
|
</BrowserWindow>
|
||||||
|
```
|
||||||
|
|
Loading…
Add table
Reference in a new issue