# Text Block in Canvas Dashboard
> Canvas Dashboard gives greater control over the presentation of information. You can easily develop a wide range of presentations to satisfy your reporting needs, from executive dashboards, narrative reports, and beyond.
## Introduction
Text blocks allow you to incorporate context and information into your Canvas Dashboard. There are two ways to use them:
- **[Static content](#static-content)**: Add formatted text, links, images, and embedded media using Markdown and HTML.
- **[Dynamic content](#dynamic-content)**: Display live, data-driven content using [Dynamic Content Blocks](/docs/charts/dynamic-content-block).
## Static Content
Text blocks support Markdown, a markup language for formatting text in a plain text editor. You can use markdown to format text, insert links, add images, and embed external content to your dashboard.
For more information on markdown syntax, see [this guide](https://www.markdownguide.org/cheat-sheet/).
### Creating A Static Text/Markdown/HTML Block
To add a text block, click the "Text" button in the dashboard toolbar.
### Using HTML
You can use the `HTML` in the Text block to have Holistics render HTML instead of just showing plain text. Common use cases can be:
- Use HTML to style text with in-line CSS.
- use HTML's `img/video` tag to embed videos and images in your dashboard.
Here is an example code of how to add an image/video to the Holistics dashboard:
```markdown
```
#### Using Markdown inside HTML
Since our markdown engine follows the CommonMark convention if the content has markdown inside an HTML block you need to specify HTML (followed by the start condition and end condition as described [here](https://spec.commonmark.org/0.28/#html-blocks)) to ensure the content renders correctly.
Here is an example of text widget content that has a markdown inside HTML:
```markdown
# Heading level 1
```
### Examples
#### Add Table of Contents
```markdown
# Table of Contents
- [Section 1](#block-v1)
- [Section 2](#block-t1)
- [Section 3](#block-uname)
```
#### Add images
You can add **publicly hosted images** with the following syntax ``.
```markdown

```
#### Add Youtube videos
```markdown
```
#### Add Mermaid diagrams
````markdown
```mermaid
flowchart LR
%% Nodes
A("Project Idea"):::green
B("Initial Planning"):::orange
C("Detailed Design & Requirements"):::blue
D{"Decision: Continue or Stop?"}:::yellow
E("Development Phase"):::pink
F("Testing Phase"):::purple
G("Deployment"):::green
H("Feedback and Improvement"):::orange
%% Edges
A --> B --> C --> D
D -- Continue --> E --> F --> G
D -- Stop --> H
G --> H
H --> B
%% Styling
classDef green fill:#B2DFDB,stroke:#00897B,stroke-width:2px;
classDef orange fill:#FFE0B2,stroke:#FB8C00,stroke-width:2px;
classDef blue fill:#BBDEFB,stroke:#1976D2,stroke-width:2px;
classDef yellow fill:#FFF9C4,stroke:#FBC02D,stroke-width:2px;
classDef pink fill:#F8BBD0,stroke:#C2185B,stroke-width:2px;
classDef purple fill:#E1BEE7,stroke:#8E24AA,stroke-width:2px;
```
````
## Dynamic Content
To display live data that updates automatically, use [**Dynamic Content Blocks**](/docs/charts/dynamic-content-block).
Dynamic Content Blocks combine your data with HTML/Markdown templates to create data-driven content such as narrative insights, custom visualizations or dashboard controls.
### Examples
Executive summary with live metrics and conditional formatting:
Product cards grid with images and live data:
For more examples and a step-by-step guide, see [**Dynamic Content Blocks**](/docs/charts/dynamic-content-block).