# Markdown

The Markdown node converts between Markdown and HTML formats.

## Options

You can configure the node's output using **Options**. Click **Add Option** to view and select your options.

### Markdown to HTML

| Option | Description | Default |
|  --- | --- | --- |
| **Add Blank To Links** | Whether to open links a new window (enabled) or not (disabled). | Disabled |
| **Automatic Linking To URLs** | Whether to automatically link to URLs (enabled) or not (disabled). If enabled, Mosaic Workflows converts any string that it identifies as a URL to a link. | Disabled |
| **Backslash Escapes HTML Tags** | Whether to allow backslash escaping of HTML tags (enabled) or not (disabled). When enabled, Mosaic Workflows escapes any `<` or `>` prefaced with `\`. For example, `\<div\>` renders as `&lt;div&gt;`. | Disabled |
| **Complete HTML Document** | Whether to output a complete HTML document (enabled) or an HTML fragment (disabled). A complete HTML document includes the `<DOCTYPE HTML>` declaration, `<html>` and `<body>` tags, and the `<head>` element. | Disabled |
| **Customized Header ID** | Whether to support custom heading IDs (enabled) or not (disabled). When enabled, you can add custom heading IDs using `{header ID here}` after the heading text. | Disabled |
| **Emoji Support** | Whether to support emojis (enabled) or not (disabled). | Disabled. |
| **Encode Emails** | Whether to transform ASCII character emails into their equivalent decimal entities (enabled) or not (disabled). | Enabled |
| **Exclude Trailing Punctuation From URLs** | Whether to exclude trailing punctuation from automatically linked URLs (enabled) or not (disabled). For use with **Automatic Linking To URLs**. | Disabled |
| **GitHub Code Blocks** | Whether to enable GitHub Flavored Markdown code blocks (enabled) or not (disabled). | Enabled |
| **GitHub Compatible Header IDs** | Whether to generate GitHub Flavored Markdown heading IDs (enabled) or not (disabled). GitHub Flavored Markdown generates heading IDs with `>`0 in place of spaces and removes non-alphanumeric characters. | Disabled |
| **GitHub Mention Link** | Change the link used with **GitHub Mentions**. | Disabled |
| **GitHub Mentions** | Whether to support tagging GitHub users with `>`1 (enabled) or not (disabled). When enabled, Mosaic Workflows replaces `>`2 with `>`3. | Disabled |
| **GitHub Task Lists** | Whether to support GitHub Flavored Markdown task lists (enabled) or not (disabled). | Disabled |
| **Header Level Start** | Number. Set the start level for headers. For example, changing this field to `>`4 causes Mosaic Workflows to treat `>`5 as `>`6, `>`7 as `>`8, and so on. | 1 |
| **Mandatory Space Before Header** | Whether to make a space between `>`5 and heading text required (enabled) or not (disabled). When enabled, Mosaic Workflows renders a heading written as `\`0 literally (it doesn't turn it into a heading element) | Disabled |
| **Middle Word Asterisks** | Whether Mosaic Workflows should treat asterisks in words as Markdown (disabled) or render them as literal asterisks (enabled). | Disabled |
| **Middle Word Underscores** | Whether Mosaic Workflows should treat underscores in words as Markdown (disabled) or render them as literal underscores (enabled). | Disabled |
| **No Header ID** | Disable automatic generation of header IDs (enabled). | Disabled |
| **Parse Image Dimensions** | Support setting maximum image dimensions in Markdown syntax (enabled). | Disabled |
| **Prefix Header ID** | Define a prefix to add to header IDs. | None |
| **Raw Header ID** | Whether to remove spaces, `\`1, and `\`2 from header IDs, including prefixes, replacing them with `>`0 (enabled) or not (disabled). | Disabled |
| **Raw Prefix Header ID** | Whether to prevent Mosaic Workflows from modifying header prefixes (enabled) or not (disabled) | Disabled |
| **Simple Line Breaks** | Whether to create line breaks without a double space at the end of a line (enabled) or not (disabled). | Disabled |
| **Smart Indentation Fix** | Whether to try to smartly fix indentation problems related to ES6 template strings in indented code blocks (enabled) or not (disabled). | Disabled |
| **Spaces Indented Sublists** | Whether to remove the requirement to indent sublists four spaces (enabled) or not (disabled). | Disabled |
| **Split Adjacent Blockquotes** | Whether to split adjacent blockquote blocks (enabled) or not (disabled). If you don't enable this, Mosaic Workflows treats quotes (indicated by `>` at the start of the line) on separate lines as a single blockquote, even when separated by an empty line. | Disabled |
| **Strikethrough** | Whether to support strikethrough syntax (enabled) or not (disabled). When enabled, you can add a strikethrough effect using `\`5 around the word or phrase. | Disabled |
| **Tables Header ID** | Whether to add an ID to table header tags (enabled) or not (disabled). | Disabled |
| **Tables Support** | Whether to support tables (enabled) or not (disabled). | Disabled |


### HTML to Markdown

| Option | Description | Default |
|  --- | --- | --- |
| **Bullet Marker** | Specify the character to use for unordered lists. | * |
| **Code Block Fence** | Specify the characters to use for code blocks. | `\`6`\`7`\`8. |
| **Style For Code Block** | Specify the styling for code blocks. Options are **Fence** and **Indented**. | Fence |
| **Text Replacement Pattern** | Define a text replacement pattern using regex. | None |
| **Treat As Blocks** | Specify HTML elements to treat as blocks (surround with blank lines) | None |


## Parsers

Mosaic Workflows uses the following parsers:

* To convert from HTML to Markdown: [node-html-markdown](https://www.npmjs.com/package/node-html-markdown)
* To convert from Markdown to HTML: [Showdown](https://www.npmjs.com/package/showdown). Some options allow you to extend your Markdown with [GitHub Flavored Markdown](https://github.github.com/gfm/).