Files
b5f007d35e docs: fix broken path links, anchors, and tab rendering from RST-to-MDX migration (#37433)
* docs: resolve cross-file anchor mismatches from RST-to-MDX migration

The Sphinx-to-Docusaurus migration converted `:ref:`/`{ref}` links using
naive text-slugification, so anchors that pointed to headings in a
different file (e.g. release-summary tables linking into their
respective changelog pages) were emitted as same-page fragments and
silently resolved to nothing.

Built a label registry from the original Sphinx `.. _label:` / `(label)=`
targets to recover the true source file for each cross-reference, then
rewrote the affected links to point at the correct file + heading
anchor. Fixes 282 broken cross-file anchors, primarily in the mobile/
desktop/server release-summary pages, plus assorted same-page anchor
mismatches caught by re-auditing after the prior admonition/anchor fix.

* docs: manually resolve remaining anchor mismatches after cross-file audit

Hand-verified fixes for anchors that fuzzy-matching alone couldn't
safely resolve (confirmed against actual heading text/context, and in a
few cases against the original RST source, before applying):

- Typos and dropped words carried over from the original Sphinx docs
  (e.g. "bot-acocunts", "auto-follow-all-new-channel-threads" ->
  "follow-all-new-channel-threads").
- Sphinx auto-generated duplicate-heading IDs (#id1/#id3/#id4) resolved
  to their real target headings.
- Numbered-step TOC links in enterprise-roll-out-checklist.mdx that
  dropped the leading "N. " used in the actual heading slugs.
- Push-notification docs pointing at the wrong file entirely
  (environment-configuration-settings instead of
  push-notification-server-configuration-settings).
- SAML "saml-enterprise" label resolved to its true cross-file target
  (authentication-configuration-settings#saml-2-0), recovered from the
  original RST label definition that the automated registry missed
  because it sat after an RST transition marker.
- sso-saml-technical references converted from broken same-page/
  malformed-path anchors to correct page links.

* docs: fix SAML 2.0 anchor slug (saml-2-0 -> saml-20)

github-slugger strips periods rather than hyphenating them, so "SAML
2.0" slugifies to saml-20, not saml-2-0 as previously fixed.

* docs: fix broken path links found during docs/main migration cleanup

* docs: convert div.tab blocks to Docusaurus Tabs/TabItem components

* docs: restore missing Kubernetes deployment architecture diagrams

The RST-to-MDX migration never copied over the AWS/Azure/Oracle
architecture diagrams referenced by the deployment-architecture-at-scale
page, leaving broken images in each Tabs/TabItem.

* docs: fix 7 anchor mismatches from the fragment/heading audit

Covers three root causes from the anchor mismatch breakdown:
- Fragment repeated the target page's own title instead of a real
  heading, so the link is simplified to point at the bare page.
- Heading exists verbatim but lives on a sibling settings page
  (experimental-configuration-settings, push-notification-server-
  configuration-settings) rather than environment-configuration-settings.
- A page path was mistakenly pasted into a same-page #fragment instead
  of being used as a real cross-page link.

* docs: fix 8 anchor slugs that were close but didn't match the real heading

Repoints links whose fragment was a plausible guess (typo, reworded
heading, or wrong section) at the actual auto-generated slug of the
target heading, confirmed by inspecting each target page directly.

* docs: merge split Tabs blocks so tabs render horizontally

The div.tab conversion script split some sibling tab groups into
separate single-item Tabs blocks whenever a stray blockquote marker
sat between them, causing them to render stacked instead of as one
horizontal tab bar. Merges the MySQL/PostgreSQL and Team/Enterprise
Edition tab groups back into single Tabs blocks.

* docs: remove Azure tab and restore Kubernetes deploy content

The Mattermost Operator, Azure, and Oracle platform tabs on the
Kubernetes deployment guide were split across two separate Tabs
blocks (rendering stacked instead of as one tab bar) and all three
tab bodies were empty because the migration never flattened the
original RST include directives. Removes the unsupported Azure tab
and restores the Mattermost Operator and Oracle content from the
pre-migration RST sources as a single merged Tabs block.

* addresscoderabbitreview

* docs: unify Linux/Kubernetes/Containers deploy pages and fix FIPS/STIG placement

Kubernetes and Containers duplicated full install content across a top-level
page (Tabs) and orphaned sidebar subpages that nothing linked to. Reworked
both to follow the Linux page's pattern: shared content on the landing page,
platform-specific instructions live once in their own subpage.

Also removed configure-fips-at-install-time.mdx, which claimed FIPS is
available for native Linux installs — FIPS/STIG in Mattermost is a container
image property (Chainguard-based build), not available outside Docker/
Kubernetes. Consolidated all FIPS/STIG references onto
containers/fips-stig.mdx and pointed the Mattermost Operator subpage (not
Oracle OKE, which doesn't expose image selection) at it.

* docs: fix review findings — image alt text, Important callout markup, typo

- Replace generic alt="image" on scaling diagrams with descriptive text
  identifying cloud provider and user scale.
- Convert raw div.important markup in deploy-containers.mdx to the
  repo's <Important> component, matching usage elsewhere in the file.
- Fix "Matermost" typo in manage-your-display-options.mdx.

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-10 14:50:13 +03:00

666 lines
20 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Format messages"
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<PlanAvailability slug="all-commercial" />
## Use the messaging formatting toolbar
From Mattermost v7.0, you can format your messages in Mattermost using the message formatting toolbar without having to specify any Markdown syntax.
![The message formatting toolbar, available from Mattermost v7.0, doesn't require Markdown syntax, and makes formatting message text fast and easy.](/images/message-formatting-toolbar.gif)
The message formatting toolbar offers the following formatting options:
<table>
<colgroup>
<col style={{width: '53%'}} />
<col style={{width: '46%'}} />
</colgroup>
<tbody>
<tr>
<td rowspan="2"><blockquote>
<p><strong>Formatting option</strong></p>
</blockquote>
<dl>
<dt>==================================================================================</dt>
<dd>
<p><a href="#use-markdown">Bold, italicize, or strike out text</a></p>
</dd>
</dl></td>
<td rowspan="2"><blockquote>
<p><strong>Icon</strong> |</p>
</blockquote>
<dl>
<dt>=========================+</dt>
<dd>
<p><a href="mm-subst:bold-icon">bold-icon</a> | <a href="mm-subst:italics-icon">italics-icon</a> | <a href="mm-subst:strikeout-icon">strikeout-icon</a> |</p>
</dd>
</dl></td>
</tr>
<tr>
</tr>
<tr>
<td>Add <a href="#headings">headings</a>, <a href="#links">links</a>, or attachments</td>
<td><a href="mm-subst:headings-icon">headings-icon</a> | <a href="mm-subst:copy-link-icon">copy-link-icon</a> | <a href="mm-subst:attachments-icon">attachments-icon</a> |</td>
</tr>
<tr>
<td>Format a numbered list, a bulleted list, quoted text, or text as code</td>
<td><a href="mm-subst:numbered-icon">numbered-icon</a> | <a href="mm-subst:bullets-icon">bullets-icon</a> | <a href="mm-subst:quotes-icon">quotes-icon</a> | <a href="mm-subst:code-icon">code-icon</a> |</td>
</tr>
<tr>
<td colspan="2"><a href="mm-doc:%2Fend-user-guide%2Fcollaborate%2Freact-with-emojis-gifs">Add emojis or GIFs</a> | <a href="mm-subst:emoji-icon">emoji-icon</a> |</td>
</tr>
<tr>
<td colspan="2"><a href="mm-doc:%2Fend-user-guide%2Fcollaborate%2Fmessage-priority">Set message priority</a> | <a href="mm-subst:message-priority-icon">message-priority-icon</a></td>
</tr>
</tbody>
</table>
Review how your message formatting will look when the message is sent by selecting the **Show/Hide Preview** <img src="/img/ui/eye-outline_F06D0.svg" alt="Review your message text formatting using the Show/Hide preview icon in the message formatting toolbar." className="theme-icon" /> icon. Return to your draft message by selecting the icon again.
<Tip>
- Hide the formatting options by selecting the **Show/Hide Formatting** <img src="/img/ui/format-letter-case_F0B34.svg" alt="Hide formatting options in the message formatting toolbar using the Show/Hide Formatting icon." className="theme-icon" /> icon. Select the icon again to show the formatting options.
- You can control whether post formatting is rendered within the message formatting editor. When disabled, raw text is shown. See the [Channels customization](/end-user-guide/preferences/manage-advanced-options) documentation for details.
</Tip>
## Use Markdown
You can also format your messages in Mattermost using Markdown to control [text styling](#text-style), [links](#links), [headings](#headings), [lists](#lists), [code blocks](#code-blocks), [in-line code](#in-line-code), [in-line images](#in-line-images), [horizontal lines](#horizontal-lines), [block quotes](#block-quotes), [tables](#tables), and [math formulas](#math-formulas). Markdown makes it easy to format messages: type a message as you normally would, then use formatting syntax to render the message a specific way. For a guide to using Markdown in Mattermost, [see this blog post](https://mattermost.com/blog/laymans-guide-to-markdown-on-mattermost/).
![Formatting markdown controls the look and feel of text messages.](/images/messagesTable1.png)
### Text style
You can use either `_` or `*` around a word or phrase to make it italic, or `__` or `**` around a word or phrase to make it bold.
<Tip>
Common formatting keyboard shortcuts are supported. Bold text by pressing <kbd>Ctrl</kbd> <kbd>B</kbd> on Windows and Linux, or <kbd>⌘</kbd> <kbd>B</kbd> on Mac. Italicize text by pressing <kbd>Ctrl</kbd> <kbd>I</kbd> on Windows or Linux, or <kbd>⌘</kbd> <kbd>I</kbd> on Mac.
</Tip>
- `*italics*` (or `_italics_`) renders as *italics*
- `**bold**` renders as **bold**
- `***bold-italic***` renders as <img src="../../images/bold_italics.png" width="100" alt="Bold Italics" />
- `~~strikethrough~~` renders as <img src="../../images/strikethrough.png" width="100" alt="Strike Through" />
### Links
<Tip>
Format selected message text as a link by pressing <kbd>Ctrl</kbd> <kbd>K</kbd> on Windows and Linux, or by pressing <kbd>⌘</kbd> <kbd>K</kbd> on Mac.
</Tip>
#### Channel links
Create a link to a public channel in a message by typing `~` followed by the channel name (e.g. `~roadmap`). Channel members see private channel names returned.
#### Labeled links
Create labeled links by putting the desired text in square brackets `[ ]` and the associated link in round brackets `( )`.
`[Check out Mattermost!](https://.mattermost.com/)`
Renders as: [Check out Mattermost!](https://mattermost.com/)
### Headings
Make a heading by typing `#` and a space before your title. For smaller headings, use more `#`'s.
``` text
## Large Heading
### Smaller Heading
#### Even Smaller Heading
```
Renders as:
![Large Heading](/images/Headings1.png)
Alternatively, you can underline the text using equal signs `===` or hyphens `---` to create headings.
``` text
Large Heading
-------------
```
Renders as:
![Smaller Heading](/images/Headings2.png)
### Lists
Create a list by using asterisks `*`, hyphens `-`, and/or plus signs `+` interchangeably as bullets. Indent bullet points by adding two spaces in front each one.
``` text
* item one
- item two
+ item two sub-point
```
Renders as:
- item one
- item two
- item two sub-point
Make an ordered list by using numbers instead:
``` text
1. Item one
1. Item two
1. item three
```
Renders as:
1. Item one
2. Item two
3. Item three
You can also start a list at any number:
``` text
4. The first list number is 4.
1. The second list number is 5.
1. The third list number is 6.
```
Renders as:
4. The first list number is 4.
5. The second list number is 5.
6. The third list number is 6.
Make a task list by including square brackets `[ ]`. Mark a task as complete by adding an `x`.
``` text
- [ ] Item one
- [ ] Item two
- [x] Completed item
```
Renders as:
![List](/images/checklist.png)
### Code blocks
Creating a fixed-width code block is recommended for pasting multi-line blocks of code or other text output because it's easier to read with fixed-width font alignment. Examples include block text snippets, ASCII tables, and log files. Rendered code blocks include a **Copy** option to copy the contents of the code block.
This can be accomplished by placing three backticks ```` ` on the line directly above and directly below your code: .. code-block:: text ``<code> this is my code block </code>`.. tip:: Type three backticks```<code>, press \`Shift \<mm-kbd:\></code>\_\_ <kbd>Enter</kbd> on Windows or Linux, or <kbd>⇧</kbd> <kbd>↵</kbd> on Mac, `<type_your_code>`, press <kbd>Shift</kbd> <kbd>Enter</kbd> on Windows or Linux, or <kbd>⇧</kbd> <kbd>↵</kbd> on Mac again, then type three more backticks ```` `. Or by indenting each line by four spaces: .. code-block:: text this is my code block ^^^^ 4x spaces Syntax highlighting ^^^^^^^^^^^^^^^^^^^^ To add syntax highlighting, type the language to be highlighted after the ````\` at the beginning of the code block. Mattermost also offers four different code themes (GitHub, Solarized Dark, Solarized Light, and Monokai) that can be changed in **Settings \> Display \> Theme \> Custom Theme \> Center Channel Styles**.
Supported languages and their aliases include:
<table width="100%" border="1" cellpadding="5px" style={{marginBottom: '20px'}}>
<tr class="row-odd">
<th class="head">Language</th>
<th class="head">Aliases</th>
</tr>
<tr class="row-odd">
<td valign="middle">ActionScript</td>
<td valign="middle">actionscript, as, as3</td>
</tr>
<tr class="row-odd">
<td valign="middle">AppleScript</td>
<td valign="middle">applescript</td>
</tr>
<tr class="row-odd">
<td valign="middle">Bash</td>
<td valign="middle">bash, sh</td>
</tr>
<tr class="row-odd">
<td valign="middle">Clojure</td>
<td valign="middle">clojure</td>
</tr>
<tr class="row-odd">
<td valign="middle">CoffeeScript</td>
<td valign="middle">coffescript, coffee, coffee-script</td>
</tr>
<tr class="row-odd">
<td valign="middle">C/C++</td>
<td valign="middle">cpp, c++, c</td>
</tr>
<tr class="row-odd">
<td valign="middle">C#</td>
<td valign="middle">cs, c#, csharp</td>
</tr>
<tr class="row-odd">
<td valign="middle">CSS</td>
<td valign="middle">css</td>
</tr>
<tr class="row-odd">
<td valign="middle">D</td>
<td valign="middle">d, dlang</td>
</tr>
<tr class="row-odd">
<td valign="middle">Dart</td>
<td valign="middle">dart</td>
</tr>
<tr class="row-odd">
<td valign="middle">Delphi</td>
<td valign="middle">delphi</td>
</tr>
<tr class="row-odd">
<td valign="middle">Diff</td>
<td valign="middle">diff, patch, udiff</td>
</tr>
<tr class="row-odd">
<td valign="middle">Django</td>
<td valign="middle">django</td>
</tr>
<tr class="row-odd">
<td valign="middle">Dockerfile</td>
<td valign="middle">dockerfile, docker</td>
</tr>
<tr class="row-odd">
<td valign="middle">Elixir</td>
<td valign="middle">elixir, ex, exs</td>
</tr>
<tr class="row-odd">
<td valign="middle">Erlang</td>
<td valign="middle">erlang, erl</td>
</tr>
<tr class="row-odd">
<td valign="middle">Fortran</td>
<td valign="middle">fortran</td>
</tr>
<tr class="row-odd">
<td valign="middle">F#</td>
<td valign="middle">fsharp</td>
</tr>
<tr class="row-odd">
<td valign="middle">G-Code</td>
<td valign="middle">gcode</td>
</tr>
<tr class="row-odd">
<td valign="middle">Go</td>
<td valign="middle">go, golang</td>
</tr>
<tr class="row-odd">
<td valign="middle">Groovy</td>
<td valign="middle">groovy</td>
</tr>
<tr class="row-odd">
<td valign="middle">Handlebars</td>
<td valign="middle">handlebars, hbs, mustache</td>
</tr>
<tr class="row-odd">
<td valign="middle">Haskell</td>
<td valign="middle">haskell, hs</td>
</tr>
<tr class="row-odd">
<td valign="middle">Haxe</td>
<td valign="middle">haxe</td>
</tr>
<tr class="row-odd">
<td valign="middle">Java</td>
<td valign="middle">java</td>
</tr>
<tr class="row-odd">
<td valign="middle">JavaScript</td>
<td valign="middle">javascript, js</td>
</tr>
<tr class="row-odd">
<td valign="middle">JSON</td>
<td valign="middle">json</td>
</tr>
<tr class="row-odd">
<td valign="middle">Julia</td>
<td valign="middle">julia, jl</td>
</tr>
<tr class="row-odd">
<td valign="middle">Kotlin</td>
<td valign="middle">kotlin</td>
</tr>
<tr class="row-odd">
<td valign="middle">LaTeX</td>
<td valign="middle">latex, tex</td>
</tr>
<tr class="row-odd">
<td valign="middle">Less</td>
<td valign="middle">less</td>
</tr>
<tr class="row-odd">
<td valign="middle">Lisp</td>
<td valign="middle">lisp</td>
</tr>
<tr class="row-odd">
<td valign="middle">Lua</td>
<td valign="middle">lua</td>
</tr>
<tr class="row-odd">
<td valign="middle">Makefile</td>
<td valign="middle">makefile, make, mf, gnumake, bsdmake</td>
</tr>
<tr class="row-odd">
<td valign="middle">Markdown</td>
<td valign="middle">markdown, md, mkd</td>
</tr>
<tr class="row-odd">
<td valign="middle">Matlab</td>
<td valign="middle">matlab, m</td>
</tr>
<tr class="row-odd">
<td valign="middle">Objective C</td>
<td valign="middle">objectivec, objective_c, objc</td>
</tr>
<tr class="row-odd">
<td valign="middle">OCaml</td>
<td valign="middle">ocaml</td>
</tr>
<tr class="row-odd">
<td valign="middle">Perl</td>
<td valign="middle">perl, pl</td>
</tr>
<tr class="row-odd">
<td valign="middle">Pascal</td>
<td valign="middle">pascal, pas</td>
</tr>
<tr class="row-odd">
<td valign="middle">PostgreSQL</td>
<td valign="middle">pgsql, postgres, postgresql</td>
</tr>
<tr class="row-odd">
<td valign="middle">PHP</td>
<td valign="middle">php, php3, php4, php5</td>
</tr>
<tr class="row-odd">
<td valign="middle">PowerShell</td>
<td valign="middle">powershell, posh</td>
</tr>
<tr class="row-odd">
<td valign="middle">Puppet</td>
<td valign="middle">puppet, pp</td>
</tr>
<tr class="row-odd">
<td valign="middle">Python</td>
<td valign="middle">python, py</td>
</tr>
<tr class="row-odd">
<td valign="middle">R</td>
<td valign="middle">r, s</td>
</tr>
<tr class="row-odd">
<td valign="middle">Ruby</td>
<td valign="middle">ruby, rb</td>
</tr>
<tr class="row-odd">
<td valign="middle">Rust</td>
<td valign="middle">rust, rs</td>
</tr>
<tr class="row-odd">
<td valign="middle">Scala</td>
<td valign="middle">scala</td>
</tr>
<tr class="row-odd">
<td valign="middle">Scheme</td>
<td valign="middle">scheme</td>
</tr>
<tr class="row-odd">
<td valign="middle">SCSS</td>
<td valign="middle">scss</td>
</tr>
<tr class="row-odd">
<td valign="middle">Smalltalk</td>
<td valign="middle">smalltalk, st, squeak</td>
</tr>
<tr class="row-odd">
<td valign="middle">SQL</td>
<td valign="middle">sql</td>
</tr>
<tr class="row-odd">
<td valign="middle">Stylus</td>
<td valign="middle">stylus, styl</td>
</tr>
<tr class="row-odd">
<td valign="middle">Swift</td>
<td valign="middle">swift</td>
</tr>
<tr class="row-odd">
<td valign="middle">Text</td>
<td valign="middle">text</td>
</tr>
<tr class="row-odd">
<td valign="middle">TypeScript</td>
<td valign="middle">typescript, ts, tsx</td>
</tr>
<tr class="row-odd">
<td valign="middle">VB.Net</td>
<td valign="middle">vbnet, vb, visualbasic</td>
</tr>
<tr class="row-odd">
<td valign="middle">VBScript</td>
<td valign="middle">vbscript</td>
</tr>
<tr class="row-odd">
<td valign="middle">Verilog</td>
<td valign="middle">verilog</td>
</tr>
<tr class="row-odd">
<td valign="middle">VHDL</td>
<td valign="middle">vhdl</td>
</tr>
<tr class="row-odd">
<td valign="middle">HTML, XML</td>
<td valign="middle">html, xml</td>
</tr>
<tr class="row-odd">
<td valign="middle">YAML</td>
<td valign="middle">yaml, yml</td>
</tr>
</table>
Example:
```` text
``` go
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
```
````
Renders as:
**GitHub Theme**
![Syntax Highlighting in GitHub](/images/syntax-highlighting-github.png)
**Solarized Dark Theme**
![Syntax Highlighting Dark](/images/syntax-highlighting-sol-dark.png)
**Solarized Light Theme**
![Syntax Highlighting Light](/images/syntax-highlighting-sol-light.png)
**Monokai Theme**
![Syntax Highlighting Monokai](/images/syntax-highlighting-monokai.png)
### In-line code
Create in-line monospaced code text by surrounding it with backticks ``<code>. Don't use single quotes </code><code>'</code>\`.
``` text
`monospace`
```
Renders as: `monospace`.
### In-line images
In-line images are images added within lines of text. You can control whether all in-line images over 100px in height are automatically collapsed or expanded in messages by setting a [user preference](/end-user-guide/preferences/manage-your-display-options), or by using the `/collapse` and `/expand` slash commands.
To add in-line images to text, use an exclamation mark `!` followed by the `alt text` in square brackets `[ ]`, then the `image URL` in round brackets `( )`. You can add hover text after the link by placing the text in quotes `" "`.
Example:
``` text
![alt text](URL of image "Hover text")
```
If the height of the original image is more than 500 pixels, Mattermost sets the image height at 500 pixels and adjusts the width to maintain the original aspect ratio.
You can set the width and height of the displayed image after the URL of the image by using an equals sign `=` followed by values for both width and height `##x##`. If you set only the width, Mattermost adjusts the height to maintain the original aspect ratio.
<Warning>
The native apps do not support fixed width and height and will display the full-size image.
</Warning>
Examples:
``` text
.. |mattermost-icon-76x76| image:: ../images/icon-76x76.png
.. |mattermost-icon-50x76| image:: ../images/icon-50x76.png
```
#### In-line image with hover text
``` text
![Mattermost](/images/icon-76x76.png "Mattermost Icon")
```
Renders as:
> ![Mattermost](/images/icon-76x76.png)
#### In-line image with link
<Note>
An extra set of square brackets `[ ]` is required around the alt text, and round brackets `( )` are required around the image link.
</Note>
``` text
[![Mattermost](/images/icon-76x76.png)](https://github.com/mattermost/mattermost)
```
Renders as:
> [![image](/images/icon-76x76.png)](https://github.com/mattermost/mattermost)
#### In-line image displayed with fixed width and height
Example: An in-line image that's 50 pixels wide and 76 pixels high.
``` text
![Mattermost](/images/icon-76x76.png =50x76 "Mattermost Icon")
```
Renders as:
> <img src="../../images/icon-50x76.png" id="Mattermost Icon" alt="Mattermost" />
#### In-line image displayed with fixed width
Example: An in-line image that's 50 pixels wide where the system adjusts the height to maintain the original aspect ratio.
``` text
![Mattermost](/images/icon-76x76.png =50 "Mattermost Icon")
```
Renders as:
> <img src="../../images/icon-76x76.png" width="50" alt="Mattermost" />
### Horizontal lines
Create a line by using three `*`, `_`, or `-`.
`***`
Renders as:
------------------------------------------------------------------------------------------------------------------------
### Block quotes
Create block quotes using `>`.
`> block quotes` renders as:
![image](/images/blockQuotes.png)
### Tables
Create a table by placing a dashed line `---` under the header row, then separating each column with using pipes `|`. The columns don’t need to line up exactly. Choose how to align table columns by including colons `:` within the header row.
``` text
| Left-Aligned | Center Aligned | Right Aligned |
| :------------ |:---------------:| -----:|
| Left column 1 | this text | $100 |
| Left column 2 | is | $10 |
| Left column 3 | centered | $1 |
```
Renders as:
![Markdown Table Sample](/images/markdownTable1.png)
<Note>
Multi-line text in a table cell isn't supported using HTML tags such as `<br />` or `<br/>`.
</Note>
### Math Formulas
<Tabs>
<TabItem value="using-inline-latex" label="Using Inline LaTeX">
You can create formulas that display inline using LaTeX. Use the dollar sign ($) symbol at the beginning and end of each formula.
<Note>
This feature is [disabled by default](/administration-guide/configure/site-configuration-settings#enable-inline-latex-rendering). Contact your system admin to enable this setting in **System Console \> Site Configuration \> Posts** to use this feature.
</Note>
``` text
$X_k = \sum_{n=0}^{2N-1} x_n \cos \left[\frac{\pi}{N} \left(n+\frac{1}{2}+\frac{N}{2}\right) \left(k+\frac{1}{2}\right) \right]$
```
Renders as:
![An inline LaTeX math equation sample.](/images/latex-inline.png)
</TabItem>
<TabItem value="using-latex-in-code-blocks" label="Using LaTeX in Code Blocks">
Create formulas as code blocks by using LaTeX in a `latex` [code blocks](#code-blocks).
<Note>
This feature is [disabled by default](/administration-guide/configure/site-configuration-settings#enable-latex-code-block-rendering). Contact your system admin to enable this setting in **System Console \> Site Configuration \> Posts** to use this feature.
</Note>
```` text
```latex
X_k = \sum_{n=0}^{2N-1} x_n \cos \left[\frac{\pi}{N} \left(n+\frac{1}{2}+\frac{N}{2}\right) \left(k+\frac{1}{2}\right) \right]
```
````
Renders as:
![A LaTeX code block math equation sample.](/images/latex-codeblock.png)
</TabItem>
</Tabs>
<PlanAvailability slug="academy-message-formatting" />