|
--- |
|
sidebar_position: 4 |
|
--- |
|
|
|
# Markdown Features |
|
|
|
Docusaurus supports **[Markdown](https://daringfireball.net/projects/markdown/syntax)** and a few **additional features**. |
|
|
|
## Front Matter |
|
|
|
Markdown documents have metadata at the top called [Front Matter](https://jekyllrb.com/docs/front-matter/): |
|
|
|
```text title="my-doc.md" |
|
// highlight-start |
|
--- |
|
id: my-doc-id |
|
title: My document title |
|
description: My document description |
|
slug: /my-custom-url |
|
--- |
|
// highlight-end |
|
|
|
## Markdown heading |
|
|
|
Markdown text with [links](./hello.md) |
|
``` |
|
|
|
## Links |
|
|
|
Regular Markdown links are supported, using url paths or relative file paths. |
|
|
|
```md |
|
Let's see how to [Create a page](/create-a-page). |
|
``` |
|
|
|
```md |
|
Let's see how to [Create a page](./create-a-page.md). |
|
``` |
|
|
|
**Result:** Let's see how to [Create a page](./create-a-page.md). |
|
|
|
## Images |
|
|
|
Regular Markdown images are supported. |
|
|
|
You can use absolute paths to reference images in the static directory (`static/img/docusaurus.png`): |
|
|
|
```md |
|
![Docusaurus logo](/img/docusaurus.png) |
|
``` |
|
|
|
![Docusaurus logo](/img/docusaurus.png) |
|
|
|
You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them: |
|
|
|
```md |
|
![Docusaurus logo](./img/docusaurus.png) |
|
``` |
|
|
|
## Code Blocks |
|
|
|
Markdown code blocks are supported with Syntax highlighting. |
|
|
|
```jsx title="src/components/HelloDocusaurus.js" |
|
function HelloDocusaurus() { |
|
return ( |
|
<h1>Hello, Docusaurus!</h1> |
|
) |
|
} |
|
``` |
|
|
|
```jsx title="src/components/HelloDocusaurus.js" |
|
function HelloDocusaurus() { |
|
return <h1>Hello, Docusaurus!</h1>; |
|
} |
|
``` |
|
|
|
## Admonitions |
|
|
|
Docusaurus has a special syntax to create admonitions and callouts: |
|
|
|
:::tip My tip |
|
|
|
Use this awesome feature option |
|
|
|
::: |
|
|
|
:::danger Take care |
|
|
|
This action is dangerous |
|
|
|
::: |
|
|
|
:::tip My tip |
|
|
|
Use this awesome feature option |
|
|
|
::: |
|
|
|
:::danger Take care |
|
|
|
This action is dangerous |
|
|
|
::: |
|
|
|
## MDX and React Components |
|
|
|
[MDX](https://mdxjs.com/) can make your documentation more **interactive** and allows using any **React components inside Markdown**: |
|
|
|
```jsx |
|
export const Highlight = ({children, color}) => ( |
|
<span |
|
style={{ |
|
backgroundColor: color, |
|
borderRadius: '20px', |
|
color: '#fff', |
|
padding: '10px', |
|
cursor: 'pointer', |
|
}} |
|
onClick={() => { |
|
alert(`You clicked the color ${color} with label ${children}`) |
|
}}> |
|
{children} |
|
</span> |
|
); |
|
|
|
This is <Highlight color="#25c2a0">Docusaurus green</Highlight> ! |
|
|
|
This is <Highlight color="#1877F2">Facebook blue</Highlight> ! |
|
``` |
|
|
|
export const Highlight = ({children, color}) => ( |
|
<span |
|
style={{ |
|
backgroundColor: color, |
|
borderRadius: '20px', |
|
color: '#fff', |
|
padding: '10px', |
|
cursor: 'pointer', |
|
}} |
|
onClick={() => { |
|
alert(`You clicked the color ${color} with label ${children}`); |
|
}}> |
|
{children} |
|
</span> |
|
); |
|
|
|
This is <Highlight color="#25c2a0">Docusaurus green</Highlight> ! |
|
|
|
This is <Highlight color="#1877F2">Facebook blue</Highlight> ! |
|
|