documentation-formatting.mdx (Under the Hood - Formatting Tips)
Summary: A new page, which is part of the new Contributing to Documentation section (see diff D37004092 (b81fb44017))
Reviewed By: lblasa
Differential Revision: D37006489
fbshipit-source-id: e9ea74aadc5d578aa7ce21a41379546251872704
This commit is contained in:
committed by
Facebook GitHub Bot
parent
b81fb44017
commit
af1c0c5ee6
@@ -2,4 +2,164 @@
|
|||||||
id: documentation-formatting
|
id: documentation-formatting
|
||||||
title: Formatting Tips
|
title: Formatting Tips
|
||||||
---
|
---
|
||||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
||||||
|
This page provides recommendations on the use of a variety of Markdown features that help you create properly formatted documentation.
|
||||||
|
|
||||||
|
## Subsections
|
||||||
|
|
||||||
|
Use regular H2..H6 markdown headings for subsections.
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
## Level 2 title
|
||||||
|
|
||||||
|
### Level 3 title
|
||||||
|
|
||||||
|
#### Level 4 title
|
||||||
|
```
|
||||||
|
|
||||||
|
```diff
|
||||||
|
- **Testing complex components**
|
||||||
|
+ ### Testing complex components
|
||||||
|
```
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
* The page title will implicitly be formatted with H1, so start with H2.
|
||||||
|
|
||||||
|
* Headings appear in the Table of Contents, which gives the reader an overview of the page and assists with navigation.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Backticks
|
||||||
|
|
||||||
|
Use Markdown backticks ( \` \), to provide emphasis for items such as file names, classes, methods, parameters, and expressions.
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
Let's use the `TestComponent`, which has one direct child, `InnerComponent`, and one non-direct child, `Text`.
|
||||||
|
```
|
||||||
|
|
||||||
|
**Result**:
|
||||||
|
Let's use the `TestComponent`, which has one direct child, `InnerComponent`, and one non-direct child, `Text`.
|
||||||
|
|
||||||
|
## Code Snippets
|
||||||
|
|
||||||
|
For code snippets, remember to add the language tag (`javascript` is used in the following example).
|
||||||
|
|
||||||
|
````markdown
|
||||||
|
```javascript
|
||||||
|
import {addPlugin} from "react-native-flipper"
|
||||||
|
|
||||||
|
addPlugin({
|
||||||
|
getId() {
|
||||||
|
return 'ReactNativeExamplePlugin';
|
||||||
|
},
|
||||||
|
onConnect(connection) {
|
||||||
|
mammmals.forEach(({ title, pictureUrl }, index) => {
|
||||||
|
connection.send('newRow', {
|
||||||
|
id: index,
|
||||||
|
title,
|
||||||
|
url: pictureUrl
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onDisconnect() {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
````
|
||||||
|
|
||||||
|
**Result:**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
import {addPlugin} from "react-native-flipper"
|
||||||
|
|
||||||
|
addPlugin({
|
||||||
|
getId() {
|
||||||
|
return 'ReactNativeExamplePlugin';
|
||||||
|
},
|
||||||
|
onConnect(connection) {
|
||||||
|
mammmals.forEach(({ title, pictureUrl }, index) => {
|
||||||
|
connection.send('newRow', {
|
||||||
|
id: index,
|
||||||
|
title,
|
||||||
|
url: pictureUrl
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onDisconnect() {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
For more code blocks features, such as line highlighting, see the Docusaurus [Code blocks](https://docusaurus.io/docs/markdown-features/code-blocks) document.
|
||||||
|
|
||||||
|
## Links
|
||||||
|
|
||||||
|
Docusaurus supports regular Markdown links with absolute URLs, relative URLs, and relative file paths.
|
||||||
|
|
||||||
|
However, due to the [trailing slash issue](https://github.com/facebook/docusaurus/pull/4908), it's strongly recommended to link to page files (including their extension) instead of the page's URL.
|
||||||
|
|
||||||
|
```diff
|
||||||
|
- Don't link to markdown page URLs: [Create a page](create-a-page).
|
||||||
|
+ Create links using full file names: [Create a page](create-a-page.md).
|
||||||
|
other text
|
||||||
|
- [Create internal only document](contributing-documentation#internal-only-content]
|
||||||
|
+ [Create internal only document](contributing-documentation.md#internal-only-content]
|
||||||
|
```
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
Don't use absolute or internal docs links.
|
||||||
|
With relative links, the Static Docs engine will automatically use the right host depending on whether docs are accessed externally or internally.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Tabs
|
||||||
|
|
||||||
|
To organize content in tabs, Docusaurus provides the `Tabs` React component:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
|
<Tabs
|
||||||
|
groupId="platform"
|
||||||
|
defaultValue="iOS"
|
||||||
|
values={[
|
||||||
|
{label: 'iOS', value: 'ios'},
|
||||||
|
{label: 'Android', value: 'android'},
|
||||||
|
]}>
|
||||||
|
<TabItem value="ios">
|
||||||
|
Information about Flipper on iOS.
|
||||||
|
</TabItem>
|
||||||
|
<TabItem value="android">
|
||||||
|
Information about Flipper on Android.
|
||||||
|
</TabItem>
|
||||||
|
</Tabs>
|
||||||
|
```
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
|
**Result:**
|
||||||
|
<Tabs
|
||||||
|
groupId="platform"
|
||||||
|
defaultValue="ios"
|
||||||
|
values={[
|
||||||
|
{label: 'iOS', value: 'ios'},
|
||||||
|
{label: 'Android', value: 'android'},
|
||||||
|
]}>
|
||||||
|
<TabItem value="ios">
|
||||||
|
Information about Flipper on iOS.
|
||||||
|
</TabItem>
|
||||||
|
<TabItem value="android">
|
||||||
|
Information about Flipper on Android.
|
||||||
|
</TabItem>
|
||||||
|
</Tabs>
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
To sync several `Tabs` components on the website set the same `groupId` for them. More info in
|
||||||
|
Docusaurus [Tabs Syncing](https://docusaurus.io/docs/markdown-features/tabs#syncing-tab-choices) docs.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
For additional information, see the following resources:
|
||||||
|
|
||||||
|
* [StaticDocs Markdown features](https://www.internalfb.com/intern/staticdocs/staticdocs/docs/documenting/markdown-features)
|
||||||
|
* [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features)
|
||||||
|
|||||||
Reference in New Issue
Block a user