Skip to content

Markdown Viewer ui-markdown ​

Try Demo

Allows for markdown to be defined within Node-RED editor and rendered into the UI. Can be used for rendering labels, headers or even full blog articles.

You can inject msg values into the markdown using:

{{ msg?.payload }}

This will be replaced with the value of msg?.payload when a message is received to the node. If you'd like to have a placeholder value before a message is received you can use:

{{ msg?.payload || 'Placeholder' }}

If you're looking for a quick cheat sheet on how to write Markdown, you can check out FlowFuse's guide here.

Properties ​

PropDynamicDescription
GroupDefines which group of the UI Dashboard this widget will render in.
ContentThe markdown to be passed to the UI and rendered

Dynamic Properties ​

Dynamic properties are those that can be overriden at runtime by sending a particular msg to the node.

Where appropriate, the underlying values set within Node-RED will be overriden by the values set in the received messages.

PropPayloadStructuresExample Values
Classmsg.classString

Example ​

Example of rendered MarkdownExample of rendered markdown in a Dashboard.

The above example is rendered using the following markdown:

md
# Markdown Content

## Secondary Header

### Third Header

Paragraph here...

inline `<code-example />` with other text either side

```js
// multiline
function () {
    console.log('hello world')
}
```

- List Item 1
- List Item 1
- List Item 1
- List Item 1

[Hyperlink](https://news.bbc.co.uk)

---

> Lorum Ipsum Quotation Over two lines 

| Header 1 | Header 2 |
|-|-|
| `msg.payload` | {{ msg.payload || 'Placeholder' }} |

Mermaid Charts Added In: v0.5.0 ​

The ui-markdown widget also supports the injection of Mermaid. To do so, you can include a mermaid chart definition inside a Markdown fenced code block, defined with the mermaid type:

md
# Here is some Markdown

and here is a definition for a Mermaid Chart:

```mermaid
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```

Dynamic Mermaid Charts ​

It is also possible to inject msg values into the mermaid chart definition using mustache templating as with the standard Markdown definition, e.g:

md
# Here is some Markdown

and here is a definition for a Mermaid Chart:

```mermaid
pie title NETFLIX
         "Time spent looking for movie" : {{ msg.payload }}
         "Time spent watching it" : 10
```

Dashboard will then render the mermaid chart in place of the code block, e.g:

Example of a Mermaid Chart in DashboardExample of a Mermaid Chart in Dashboard.

Overriding Charts ​

You can use msg to completely redefine a mermaid chart, however, you must include the initial code fence, with mermaid type in the ui-markdown editor, e.g:

md
```mermaid
{{ msg.payload }}
```

The content of msg.payload in this case can then be a definition of any Mermaid Chart, without the surrounding code fence, e.g:

pie title NETFLIX
         "Time spent looking for movie" : {{ msg.payload }}
         "Time spent watching it" : 10