This file intentionally mixes many Markdown patterns in one document. It is designed to test parser correctness, incremental re-rendering, cursor behavior, selection mapping, and source/render mode switching.
Simple paragraph.
Paragraph with two spaces at end to force a hard line break.
Next line after hard break.
Paragraph with a soft line break next line should stay in the same paragraph unless renderer collapses it visually.
Paragraph separated by a blank line.
italic
italic
bold
bold
bold italic
bold italic
italic bold
This is bold with italic inside and more bold.
This is italic with bold inside and more italic.
Underscore inside words should not always trigger emphasis: foobarbaz.
Asterisks adjacent to punctuation: thisshouldbe tested.
Nested emphasis with escaping: *not italic* and _not italic_.
inline code
inline `code` with backticks
inline ``code`` with longer delimiter
A code span can contain punctuation: if (a < b && c > d) { return x; }
A code span can contain emphasis markers literally: *not emphasized*
A code span can contain links literally: [text](https://example.com)
Code span with leading and trailing spaces preserved by delimiter rules: spaced
Code span across line breaks:
line 1 line 2
Backticks in normal text: ` and `` and ```
Autolink-like text should stay literal when escaped: \https://example.com
- Item 1
- Item 2
- Item 3
-
Ordered item 1
-
Ordered item 2
-
Ordered item 3
-
Ordered with explicit start
-
Another ordered item
-
Next item
-
Mixed list item
- Nested bullet
- Nested bullet with paragraph
-
Item with paragraph
Continued paragraph inside list item.
-
Item with code block
let x = 1; let y = 2;
- Item with nested quote
quoted text
quoted paragraph two
-
Item with task list style syntax
- unchecked task
- checked task
-
Item with emphasis and link: bold and link
Blockquote paragraph one.
Blockquote paragraph two with bold and
code.
Nested quote level 1
Nested quote level 2
Nested quote level 3
Quote with list:
- item 1
- item 2
- nested item
Quote with code block:
fn main() { println!("hello"); }
Indented code block:
fn main() {
println!("indented code block");
}
Fenced code block with language:
fn main() {
println!("fenced code block");
}Fenced code block with info string and meta:
flowchart TD
A[Start] --> B{Decision}
B -->|Yes| C[Result]
B -->|No| D[Retry]
Fence containing backticks inside should still work:
This line contains `backticks` literally.
Longer fence to contain triple backticks:
```
nested fence content
```Additional language coverage:
echo "hello"
if [ -f ./file.txt ]; then
echo ok
fiint add(int a, int b) {
return a + b;
}class Box {
public:
int value = 1;
};class App {
static void Main() {
var value = 42;
}
}.card {
color: #fff;
display: grid;
}package main
func main() {
println("hello")
}<div class="card">
<span>Hello</span>
</div>class App {
int add(int a, int b) {
return a + b;
}
}<?php
echo "hello";
$value = 42;
?>def double(x: int) -> int:
return x * 2def hello(name)
puts "Hello, #{name}"
endservice:
name: velotype
enabled: true[package]
name = "velotype"
edition = "2024"const App = () => <button className="primary">OK</button>;type User = { id: number };
const App = (): JSX.Element => <div data-id={1}>TSX</div>;Paragraph above and below horizontal rule should remain distinct.
Another paragraph-like setext case.
HTML block with inline HTML.
Inline HTML paragraph with emphasis inside HTML.
Custom element test:
Expandable summary
Hidden content with inline code and bold.
Raw HTML comment should not render visibly:
* escaped asterisk *
_ escaped underscore _
` escaped backtick `
[ escaped bracket ]
\# escaped heading marker
\> escaped blockquote marker
© & < > "
AT&T should remain readable.
| Left | Center | Right |
|---|---|---|
| a | b | c |
| bold | code |
link |
| multiline html |
image ![]() |
text |
| Pipe in cell | Escaped pipe |
|---|---|
| A | B | literal pipe |
Table with inline formatting inside cells:
| Syntax | Example |
|---|---|
| Emphasis | italic |
| Strong | bold |
| Code | code |
| Link | text |
- Unchecked task
- Checked task
- Task with bold and
code - Task with link
- Task with nested list
- nested unchecked
- nested checked
Here is a footnote reference.1
Here is another footnote reference.2
A footnote can appear after multiple paragraphs, lists, and code blocks.
strikethrough
This is deleted text with . and boldcode
Multiple tildes: not necessarily strike in every renderer
Term 1 : Definition 1
Term 2
: Definition 2 with bold and code.
Another term : First definition paragraph.
: Second definition paragraph.
x^2^
H~2~O
Mixed: E = mc^2^ and H~2~O in the same paragraph.
😄 🚀
@user-name
#123
Inline math:
Display math:
Math with Markdown-like content inside: $ \text{Use literal markdown?} $
Note
This is a note callout.
It can include bold, code, and a list:
- item 1
- item 2
Warning
This is a warning callout with a nested blockquote:
inner quote
And a fenced code block:
console.log("warn");Paragraph with bold, italic, code, and a link inside italic outside.
Paragraph with code containing [brackets] and *stars* and _underscores_ plus text.
Paragraph with a link containing emphasis text bold label.
Paragraph with an image and link: 
Blockquote
- Ordered item
- Nested bullet
- Nested bullet with bold
- Second ordered item
print("inside blockquote and list")Paragraph after code block.
-
List item
Quote inside list item
A B 1 2 -
List item with HTML block
HTML inside list item
This reference should render correctly even with bold around it.
This shortcut reference should also work.
This fenced block contains `inline code`, **bold**, and [links](https://example.com).Outside the fence: inline code and bold and links.
Empty paragraph after blank line.
A paragraph after multiple blank lines.
A line ending with backslash for hard break.\ Next line.
A list item that starts with punctuation:
- (Optional) item text
- task syntax after punctuation
A blockquote with blank lines:
First paragraph in quote.
Second paragraph in quote.
A setext heading followed by a paragraph
Paragraph after setext heading.
A fenced code block immediately after a paragraph:
{"key":"value"}A blockquote immediately after a paragraph:
quoted immediately after paragraph
A thematic break immediately after a paragraph:
A table immediately after a paragraph:
| A | B |
|---|---|
| 1 | 2 |
Source range probe: alpha beta gamma
Delimiter density probe: a b c
Whitespace probe: left and right and center .
Mixed punctuation probe: (link) and
Important
Final mixed block that combines:
- bold
- italic
inline code- link
strike
And a table:
| k | v |
|---|---|
| a | 1 |
| b | 2 |
And a fenced code block:
export const answer = 42;And a footnote reference.3
- one
- two
End of test file.


