<commit_before>[![mrkdwn](http://mrkdwn.org/brand/logo.png)](http://mrkdwn.org)

One Markdown To Rule Them All

**mrkdwn** combines the [original markdown specification](http://daringfireball.net/projects/markdown/) created by <NAME>, the latest and greatest flavors of markdown, and new syntax for semantic notation and improved machine readability. **mrkdwn** seeks to provide the most complete set of syntax while considering both backward compatibility and future need. While **mrkdwn** may stray from full backward compatability, it is with the goal of improving speed, reliability, and readability.

**mrkdwn**'s ultimate goal is to the be the one markdown to rule them all, the one markdown to bring them all and in the darkness bind them. With this in mind, **mrkdwn** will work to provide translation packages in all major languages as well as GUI packages for live editing, including syntax highlighting and real time output.

Try the live demo at [http://mrkdwn.org](http://mrkdwn.org)

---

Table of Contents
-----------------

- [Live Markup and Preview](#live-markup-and-preview)
- [Current Syntax](#current-syntax)
- [Javascript Errata, Bugs, and Future](#javascript-errata-bugs-and-future)

---

Live Markup and Preview
-----------------------

The javascript (browser and node.js) implementation of *mrkdwn* contains functionality to enable editing with live markup and live preview. Input from the markdown textarea is read on initiation and input change, markuped for all syntax, and output to the markup textarea and or preview element.

###### html
```
<textarea id="markdown"></textarea>
<textarea id="markup" disabled></textarea>
<div id="preview"></div>
```
###### javascript
```
// get the elements
var markdownTextarea = document.getElementById('markdown'),
    markupTextarea = document.getElementById('markup'),
    previewElement = document.getElementById('preview');
// start live markup and output
// will markup and ouput on init
mrkdwn.live.markup(markdownTextarea, markupTextarea, previewElement);

// markupTextarea can be omitted if not needed or used
// mrkdwn.live.markup(markdownTextarea, null, previewElement);

// previewElement can be omitted if not needed or used
// mrkdwn.live.markup(markdownTextarea, markupTextarea);

```

---

Current Syntax
---------------

- [Backslash Escaped Characters](#backslash-escaped-characters)
- [Comments](#comments)
- [Paragraphs](#paragraphs)
- [Phrase Formattings](#phrase-formattings)
- [Headers](#headers)
- [Horizontal Rules](#horizontal-rules)
- [Blockquotes](#blockquotes)
- [Details](#details)
- [Unordered Lists](#unordered-lists)
- [Ordered Lists](#ordered-lists)
- [Task Lists](#task-lists)
- [Accordian Lists](#accordian-lists)
- [Definition Lists](#definition-lists)
- [Nested Lists](#nested-lists)
- [Links](#links)
- [Automatic Links](#automatic-links)
- [Images](#images)
- [Macros](#macros)
- [Citations](#citations)
- [Notes](#notes)
- [Variables](#variables)
- [Abbreviations](#abbreviations)
- [Inline Codes](#inline-codes)
- [Block Pre Codes](#block-pre-codes)
- [Inline Samples](#inline-samples)
- [Block Pre Samples](#block-pre-samples)
- [Tables](#tables)
- [Metas](#metas)
- [Spans](#spans)
- [Classes](#classes)

### Backslash Escaped Characters
- Any non whitespace character can be escaped with `\` to markup the ascii representation and remove its mrkdwn meaning.
- Applied to escaped characters anywhere, without exception.

###### mrkdwn
```
\*Actual asterisk surrounded text\*
```
###### markup
```
&#42;Actual asterisk surrounded text&#42;
```


### Comments
- Pairs of three or more `/` will be removed from markup.
- Pairs of three or more `/` with a `!` will be markuped to a html comment.
- Can be applied inline or block.
- Pairs of n or more `/` can be used to comment n - 1 `/`
- Applied anywhere, without exception

###### mrkdwn
```
Hide /// the comment /// from this sentence.

///
Hide this block.
///

Put in a ///! comment ///

///!
Comment block
///

Comment out three //// /// //// slashes
```
###### markup
```
Hide  from this sentence.


Put in a <!-- comment -->

<!--
Comment Block
-->

Comment out three  slashes
```


### Paragraphs
- Text preceeded and proceeded by a blank line or block syntax will be wrapped in a paragraph.
- Line returns without following whitespace will be treated as breaks within a single paragraph.
- Text within pre block syntax or comment syntax should not be markuped.
- A blank line is a line that appears to be blank. This includes lines with no characters, lines with only spaces and tabs, and the start and end of a file.

###### mrkdwn
```
The first paragraph

This is one paragraph
with a manual break inserted
```
###### markup
```
<p>
The first paragraph
</p><commit_msg>add note to paragraphs<commit_after>[![mrkdwn](http://mrkdwn.org/brand/logo.png)](http://mrkdwn.org)

One Markdown To Rule Them All

**mrkdwn** combines the [original markdown specification](http://daringfireball.net/projects/markdown/) created by <NAME>, the latest and greatest flavors of markdown, and new syntax for semantic notation and improved machine readability. **mrkdwn** seeks to provide the most complete set of syntax while considering both backward compatibility and future need. While **mrkdwn** may stray from full backward compatability, it is with the goal of improving speed, reliability, and readability.

**mrkdwn**'s ultimate goal is to the be the one markdown to rule them all, the one markdown to bring them all and in the darkness bind them. With this in mind, **mrkdwn** will work to provide translation packages in all major languages as well as GUI packages for live editing, including syntax highlighting and real time output.

Try the live demo at [http://mrkdwn.org](http://mrkdwn.org)

---

Table of Contents
-----------------

- [Live Markup and Preview](#live-markup-and-preview)
- [Current Syntax](#current-syntax)
- [Javascript Errata, Bugs, and Future](#javascript-errata-bugs-and-future)

---

Live Markup and Preview
-----------------------

The javascript (browser and node.js) implementation of *mrkdwn* contains functionality to enable editing with live markup and live preview. Input from the markdown textarea is read on initiation and input change, markuped for all syntax, and output to the markup textarea and or preview element.

###### html
```
<textarea id="markdown"></textarea>
<textarea id="markup" disabled></textarea>
<div id="preview"></div>
```
###### javascript
```
// get the elements
var markdownTextarea = document.getElementById('markdown'),
    markupTextarea = document.getElementById('markup'),
    previewElement = document.getElementById('preview');
// start live markup and output
// will markup and ouput on init
mrkdwn.live.markup(markdownTextarea, markupTextarea, previewElement);

// markupTextarea can be omitted if not needed or used
// mrkdwn.live.markup(markdownTextarea, null, previewElement);

// previewElement can be omitted if not needed or used
// mrkdwn.live.markup(markdownTextarea, markupTextarea);

```

---

Current Syntax
---------------

- [Backslash Escaped Characters](#backslash-escaped-characters)
- [Comments](#comments)
- [Paragraphs](#paragraphs)
- [Phrase Formattings](#phrase-formattings)
- [Headers](#headers)
- [Horizontal Rules](#horizontal-rules)
- [Blockquotes](#blockquotes)
- [Details](#details)
- [Unordered Lists](#unordered-lists)
- [Ordered Lists](#ordered-lists)
- [Task Lists](#task-lists)
- [Accordian Lists](#accordian-lists)
- [Definition Lists](#definition-lists)
- [Nested Lists](#nested-lists)
- [Links](#links)
- [Automatic Links](#automatic-links)
- [Images](#images)
- [Macros](#macros)
- [Citations](#citations)
- [Notes](#notes)
- [Variables](#variables)
- [Abbreviations](#abbreviations)
- [Inline Codes](#inline-codes)
- [Block Pre Codes](#block-pre-codes)
- [Inline Samples](#inline-samples)
- [Block Pre Samples](#block-pre-samples)
- [Tables](#tables)
- [Metas](#metas)
- [Spans](#spans)
- [Classes](#classes)

### Backslash Escaped Characters
- Any non whitespace character can be escaped with `\` to markup the ascii representation and remove its mrkdwn meaning.
- Applied to escaped characters anywhere, without exception.

###### mrkdwn
```
\*Actual asterisk surrounded text\*
```
###### markup
```
&#42;Actual asterisk surrounded text&#42;
```


### Comments
- Pairs of three or more `/` will be removed from markup.
- Pairs of three or more `/` with a `!` will be markuped to a html comment.
- Can be applied inline or block.
- Pairs of n or more `/` can be used to comment n - 1 `/`
- Applied anywhere, without exception

###### mrkdwn
```
Hide /// the comment /// from this sentence.

///
Hide this block.
///

Put in a ///! comment ///

///!
Comment block
///

Comment out three //// /// //// slashes
```
###### markup
```
Hide  from this sentence.


Put in a <!-- comment -->

<!--
Comment Block
-->

Comment out three  slashes
```


### Paragraphs
- Text preceeded and proceeded by a blank line or block syntax will be wrapped in a paragraph.
- Line returns without following whitespace will be treated as breaks within a single paragraph.
- Text within pre block syntax or comment syntax should not be markuped.
- A blank line is a line that appears to be blank. This includes lines with no characters, lines with only spaces and tabs, and the start and end of a file.
- Note: diverges from daringfireball by not allowing "hard-wrapped" text paragraphs.

###### mrkdwn
```
The first paragraph

This is one paragraph
with a manual break inserted
```
###### markup
```
<p>
The first paragraph
</p>
{'fraction_non_alphanumeric': 0.1413951545530493, 'fraction_numerical': 0.0010442773600668337, 'mean_word_length': 4.160021551724138, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '274530', 'n_tokens_mistral': 2958, 'n_tokens_neox': 2682, 'n_words': 1042}