--- id: documentation-formatting title: Markdown Formatting description: Tips and guidelines for Mardown used within Static Docs documentation keywords: - flipper website formatting - flipper docs formatting --- This page provides recommendations on the use of a variety of Markdown features that help you create properly formatted documentation. For tips and guidelines on when to use the same tools, and several others, see the [Writing Guide](documentation-writing-guide.mdx). ## Structural format ### Headers * Start each main section with a level 2 header. * Sub-sections should follow a hierarchical structure and should use header levels 3 to 5. **Markdown Example**: The following example Markdown shows how to use headers. ```bash ## Level 2 header ### Level 3 header #### Level 4 header ##### Level 5 header ``` ## Markdown tools ### 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 Avoid using bare URLs in your documentation. Instead, use referenced hyperlinks, as shown in the following table. | Type | Code | Displays as | | :-- | :-- | :-- | | **Bare URL** | `Upload the video to Pixelcloud at https://www.internalfb.com/intern/px/search` | Upload the video to Pixelcloud at https://www.internalfb.com/intern/px/search | | **Referenced** | `Upload the video to [Pixelcloud](https://www.internalfb.com/intern/px/search)`| Upload the video to [Pixelcloud](https://www.internalfb.com/intern/px/search) | :::tip Notice the use of square brackets around 'PixelCloud' in the referenced hyperlink. ::: ### Tabs To organize content in tabs, Docusaurus provides the `Tabs` React component: ```javascript import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; Information about using Kotlin with Flipper. Information about using Java with Flipper. ``` import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; **Result:** Information about using Kotlin with Flipper. Information about using Java with Flipper. :::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)