Ngo Alex Freelance software engineer · France · engoale.com
‹ The Log · ⚡ 6 septembre 2026 · Test · p.1

Markdown Rendering Test

A comprehensive test of all markdown elements and syntax

This document tests all markdown rendering capabilities.

Headings

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Text Formatting

Regular text paragraph with bold text, italic text, bold and italic, strikethrough, and inline code.

You can also use underscores for emphasis and double underscores for strong emphasis.

Inline link Link with title https://auto-linked-url.com

Lists

Unordered List

  • First item
  • Second item
  • Third item
    • Nested item 1
    • Nested item 2
      • Deeply nested item
  • Fourth item

Ordered List

  1. First item
  2. Second item
  3. Third item
    1. Nested numbered item
    2. Another nested item
  4. Fourth item

Mixed List

  1. First ordered item
    • Unordered nested item
    • Another unordered item
  2. Second ordered item
    1. Nested ordered item
    • Mixed with unordered

Task List

  • Completed task
  • Incomplete task
  • Another completed task
    • Nested incomplete task
    • Nested completed task

Blockquotes

This is a simple blockquote.

This is a multi-line blockquote. It continues on the next line. And keeps going.

Blockquotes can be nested.

This is a nested blockquote.

Even deeper nesting.

Blockquotes can contain formatting and code.

They can also contain multiple paragraphs.

Code

Inline Code

Use const variable = value for inline code snippets.

Code Blocks

Plain code block without syntax highlighting:

function example() {
  return "no highlighting"
}

JavaScript:

function greet(name) {
  console.log(`Hello, ${name}!`);
  return true;
}

const arrow = (x) => x * 2;

TypeScript:

interface User {
  id: number;
  name: string;
  email?: string;
}

function getUser(id: number): User {
  return { id, name: "John" };
}

Python:

def fibonacci(n: int) -> int:
    """Calculate fibonacci number."""
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

class Example:
    def __init__(self, value):
        self.value = value

Bash:

#!/bin/bash
echo "Hello, World!"
ls -la /home
grep -r "pattern" .

JSON:

{
  "name": "test",
  "version": "1.0.0",
  "dependencies": {
    "astro": "^4.0.0"
  },
  "nested": {
    "array": [1, 2, 3]
  }
}

CSS:

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(to right, #667eea, #764ba2);
}

@media (max-width: 768px) {
  .container {
    flex-direction: column;
  }
}

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Test Page</title>
</head>
<body>
  <div class="container">
    <h1>Hello World</h1>
  </div>
</body>
</html>

Tables

Simple Table

Column 1Column 2Column 3
Row 1DataMore
Row 2DataMore
Row 3DataMore

Aligned Table

Left AlignedCenter AlignedRight Aligned
LeftCenterRight
TextTextText
MoreMoreMore

Table with Formatting

FeatureSyntaxExample
Bold**text**bold
Italic*text*italic
Code`code`code
Link[text](url)link

Horizontal Rules

Three or more dashes:


Three or more asterisks:


Three or more underscores:


Images

Alt text for image

Small image

Nested Elements

  1. First ordered item
    • Unordered nested
    • Another unordered

      A blockquote within a list

      With multiple lines

    • Back to list
      // Code block in a list
      const x = 42;
  2. Second ordered item

Special Characters and Escaping

Backslash escaping: * _ # [ ] ( )

Automatic escaping: AT&T, 4 < 5, 5 > 4

Definition Lists

Term 1 : Definition of term 1

Term 2 : Definition of term 2 : Another definition of term 2

Footnotes

Here’s a sentence with a footnote reference.1

Here’s another with a longer footnote.2

Line Breaks

This line ends with two spaces. So this starts on a new line.

This line ends with a backslash.
Also starts on a new line.

Edge Cases

Empty Lines and Spacing

Paragraph 1

Paragraph 2 with multiple blank lines above

Long Lines

This is a very long line of text that should wrap automatically in most renderers and demonstrates how the markdown parser handles extremely long continuous text without any line breaks or formatting which can sometimes cause issues in certain implementations but should work fine in most modern markdown renderers.

Mixed Content

Quote containing a list:

  • Item 1
  • Item 2

And a code block:

code here

And a table:

Col 1Col 2
AB

Unicode and Emoji

Emoji: 🎉 🚀 ✨ 💻 📝

Unicode: café, résumé, naïve, Zürich

Math symbols: ∞ ≈ ≠ ± × ÷

Arrows: → ← ↑ ↓ ⇒ ⇐

HTML in Markdown

HTML block with mixed content
Click to expand

Hidden content in a details element.

  • Can contain markdown
  • Lists, formatting, etc.
const code = "works too";

Complex Nesting Example

  1. First level

    Quote in list

    • Nested list
      def nested_code():
          return "in list"
    • Back to nested list
      TableIn
      ListItem
  2. Second level

    1. Nested ordered
      • Mixed with unordered

        Quote in nested list

        Double nested quote

    2. Continue ordered

End

This concludes the markdown rendering test.

Footnotes

  1. This is the first footnote. ↩

  2. This is a longer footnote with multiple paragraphs.

    Indent paragraphs to include them in the footnote.

    You can add as many as you like. ↩