kizumi_header_banner_img

欢迎来到99的小站!

加载中

文章导读

GPT超级无敌全面md测试


avatar
windows9999 2026年9月26日 71

Markdown Renderer Comprehensive Test

用于全面测试 Markdown 渲染系统。 包含基础 Markdown、GFM、代码块、表格、任务列表、数学公式、HTML、脚注等常见功能。

1. 标题测试

H1 一级标题

H2 二级标题

H3 三级标题

H4 四级标题

H5 五级标题
H6 六级标题

2. 普通文本

这是一段普通文本。

这是第二段普通文本,用于测试段落之间的间距。

这一行后面有两个空格 这里应该发生软换行。

这是一段非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常长的文字,用于测试 Markdown 渲染器在长文本情况下的自动换行、最大宽度以及响应式布局。

3. 文本样式

普通文本

斜体 Italic

斜体 Italic

粗体 Bold

粗体 Bold

粗斜体 Bold Italic

粗斜体 Bold Italic

删除线 Strikethrough

粗体里面有 斜体

粗体和斜体混合

粗体删除线

行内代码

普通文字中的 const foo = "bar"; 行内代码。

4. 特殊字符

Markdown 特殊字符:

* 星号

_ 下划线

# 井号

> 大于号

– 减号

+ 加号

` 反引号

反斜杠

特殊符号:

© ® ™ € ¥ £ § ¶ † ‡

中文标点:

,。!?;:“”‘’()【】《》

Emoji:

😀 😭 🤔 🚀 🔥 ❤️ 💀 🤯 🦊 🐱

5. 分隔线

短横线写法:


星号写法:


下划线写法:


6. 无序列表

  • 项目 A
  • 项目 B
  • 项目 C

  • 星号列表

  • 星号列表
  • 星号列表

  • 加号列表

  • 加号列表
  • 加号列表

7. 嵌套无序列表

  • 第一层
  • 第二层
    • 第三层
    • 第四层
  • 第二层 B
  • 第一层 B

8. 有序列表

  1. 第一项
  2. 第二项
  3. 第三项

从其他数字开始:

  1. 第五项
  2. 第六项
  3. 第七项

Markdown 自动编号:

  1. Apple
  2. Banana
  3. Orange
  4. Watermelon

9. 混合列表

  1. 第一项
  2. 子项目 A
  3. 子项目 B
    1. 子项目 B.1
    2. 子项目 B.2
  4. 第二项
  5. 子项目 C

10. Task List

  • 已完成任务
  • 未完成任务
  • Markdown
  • GFM
  • 世界和平

嵌套任务:

  • 开发 Markdown Renderer
  • Heading
  • List
  • Code
  • Math
  • Mermaid

11. 引用

这是一级引用。

第二段引用。

多级引用:

一级引用

二级引用

三级引用

引用中包含其他 Markdown:

引用中的标题

粗体

  • List A
  • List B

print("Hello from quote")

12. 行内代码

这是一个变量:userName

这是一个命令:npm install

包含 Markdown 字符:

**这里不应该变粗**
# 这里也不是标题

13. 普通代码块

Hello World

This is a plain code block.

# NOT A MARKDOWN HEADING

**NOT BOLD**

14. Python

from dataclasses import dataclass


@dataclass
class User:
    name: str
    age: int


def hello(user: User) -> str:
    return f"Hello, {user.name}! You are {user.age} years old."


if __name__ == "__main__":
    user = User("Zhang99", 16)
    print(hello(user))

15. JavaScript

const users = [
  {
    name: "Alice",
    age: 18,
  },
  {
    name: "Bob",
    age: 20,
  },
];

users.forEach((user) => {
  console.log(`Hello ${user.name}`);
});

16. TypeScript

interface User {
  id: number;
  name: string;
  admin?: boolean;
}

const user: User = {
  id: 99,
  name: "Zhang99",
};

function hello(user: User): string {
  return `Hello, ${user.name}`;
}

17. C

#include <stdio.h>

int main(void) {
    int value = 99;

    printf("Hello Markdown!\n");
    printf("value = %d\n", value);

    return 0;
}

18. C++

#include <iostream>
#include <vector>
#include <string>

int main() {
    std::vector<std::string> users = {
        "Alice",
        "Bob",
        "Zhang99"
    };

    for (const auto& user : users) {
        std::cout << "Hello " << user << '\n';
    }

    return 0;
}

19. Java

public class Main {
    public static void main(String[] args) {
        String name = "Markdown";

        System.out.println("Hello " + name);
    }
}

20. C

using System;

public class Program
{
    public static void Main()
    {
        string name = "Markdown";

        Console.WriteLine($"Hello {name}");
    }
}

21. Rust

fn main() {
    let name = "Markdown";

    println!("Hello, {name}!");
}

22. Go

package main

import "fmt"

func main() {
    name := "Markdown"

    fmt.Printf("Hello %s\n", name)
}

23. Bash

#!/usr/bin/env bash

NAME="Markdown"

echo "Hello NAME"

for file in *.md; do
    echo "Found:file"
done

24. PowerShell

$name = "Markdown"

Write-Host "Hello $name"

Get-ChildItem -Filter "*.md" | ForEach-Object {
    Write-Host $_.Name
}

25. JSON

{
  "name": "Markdown Renderer",
  "version": "1.0.0",
  "features": [
    "heading",
    "list",
    "table",
    "code"
  ],
  "enabled": true,
  "metadata": {
    "author": "Zhang99",
    "id": 99
  }
}

26. YAML

name: Markdown Renderer
version: 1.0.0

features:
  - heading
  - list
  - table
  - code

enabled: true

metadata:
  author: Zhang99
  id: 99

27. TOML

name = "Markdown Renderer"
version = "1.0.0"
enabled = true

[metadata]
author = "Zhang99"
id = 99

28. HTML 代码

<!DOCTYPE html>

<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Markdown Test</title>
</head>
<body>
    <h1>Hello Markdown</h1>
</body>
</html>

29. CSS

.markdown-body {
    max-width: 900px;
    margin: 0 auto;
    line-height: 1.6;
}

.markdown-body code {
    font-family: "JetBrains Mono", monospace;
}

30. SQL

SELECT
    id,
    username,
    created_at
FROM users
WHERE active = TRUE
ORDER BY created_at DESC
LIMIT 100;

31. Diff

- const oldName = "Markdown";
+ const newName = "Markdown Renderer";
- console.log(oldName);
+ console.log(newName);

32. 链接

普通链接:

OpenAI

带标题:

GitHub

直接 URL:

https://github.com

自动链接:

https://github.com

邮箱:

example@example.com

33. 图片

远程图片:

带标题:

111

34. 表格

Name Language Stars
Linux C 999
React JavaScript 888
Vue TypeScript 777
Django Python 666

35. 表格对齐

左对齐 居中 右对齐
A B 100
Hello World 999
Markdown Renderer 123456

36. 表格中的 Markdown

Feature Example
Bold Bold
Italic Italic
Code console.log()
Delete Deleted
Link GitHub

37. 长表格内容

ID Description
1 短文本
2 这是一段比较长的文本,用于测试表格单元格在内容非常长时究竟会自动换行、撑开整个表格还是出现横向滚动条。
3 this_is_a_very_long_variable_name_that_might_break_layout_and_should_be_tested

38. HTML 内嵌

HTML Strong Text
HTML DIV Block
点击展开 Details

这里是隐藏内容。

  • Markdown List
  • Markdown Bold
  • Markdown Code

39. 键盘按键

HTML 扩展:

按下 Ctrl + C

按下 Ctrl + Shift + P

40. 上标和下标

如果支持 HTML:

H2O

E = mc2

Markdown 扩展可能支持:

H2O

X^2^

41. 脚注

这里有一个脚注。

这里还有一个更长的脚注。

42. Definition List

部分 Markdown 实现支持:

Markdown : 一种轻量级标记语言。

HTML : HyperText Markup Language。

CSS : Cascading Style Sheets。

43. 数学公式

行内公式:

E = mc^2

a^2 + b^2 = c^2

\frac{1}{2}

块级公式:

E = mc^2
a^2+b^2=c^2

分数:

\frac{a+b}{c+d}

根号:

x = \sqrt{a^2+b^2}

求和:

\sum_{i=1}^{n} i = \frac{n(n+1)}{2}

积分:

\int_a^b f(x),dx

极限:

\lim_{x \to 0} \frac{\sin x}{x}=1

矩阵:

A = \begin{bmatrix} 1 & 2 \ 3 & 4 \end{bmatrix}

44. Mermaid

如果 Markdown Renderer 支持 Mermaid:

flowchart TD A[用户输入 Markdown] --> B[Markdown Parser] B --> C[AST] C --> D[HTML Renderer] D --> E[最终页面] B --> F{支持扩展?} F -->|Yes| G[GFM / Math / Mermaid] F -->|No| D

45. Mermaid Sequence Diagram

sequenceDiagram participant U as User participant M as Markdown Renderer participant H as HTML U->>M: Markdown Text M->>M: Parse M->>H: Generate HTML H-->>U: Render Page

46. Mermaid Class Diagram

classDiagram class MarkdownRenderer { +parse(markdown) +render(ast) } class Parser { +tokenize(text) } class Renderer { +renderHTML(ast) } MarkdownRenderer --> Parser MarkdownRenderer --> Renderer

47. Mermaid Pie

pie title Markdown Renderer Features "Basic Markdown" : 40 "GFM" : 25 "Code Highlight" : 15 "Math" : 10 "Mermaid" : 10

48. Emoji Shortcode

部分 Renderer 支持:

🙂

:heart:

:rocket:

:fire:

:fox_face:

49. 自动链接测试

https://example.com

https://example.com/path/to/page

https://example.com/test?q=markdown&lang=zh

www.example.com

example@example.com

50. Anchor / Heading ID

测试是否自动为标题生成 ID。

例如:

My Test Heading

可能生成:

#my-test-heading

中文:

Markdown 渲染测试

测试中文标题 Anchor。

51. 转义测试

# 不是标题

*不是斜体*

**不是粗体**

- 不是列表

> 不是引用

``` 不是代码 ```

[不是链接](https://example.com)

52. 连续空格测试

普通 多空格。

HTML 空格:

A B

53. 换行测试

第一行 第二行

第一行后面两个空格 第二行

第一行后 HTML Break
第二行

54. 空行测试

上面的文本。

这里中间存在多个空行。

55. 嵌套复杂结构

Markdown Renderer

一个引用区域。

  1. Parser

  2. CommonMark

  3. GFM
  4. Extension

  5. Renderer

const markdown = "# Hello"; const html = render(markdown);

  1. Output
Input Output
Markdown HTML

56. Unicode

中文:

你好,世界!

日文:

こんにちは世界!

韩文:

안녕하세요 세계!

俄文:

Привет, мир!

阿拉伯文:

مرحبا بالعالم

希腊文:

Γειά σου Κόσμε

Emoji:

🚀🌍🦊🐱❤️🔥💻⚡

57. RTL 文本

مرحبا بالعالم هذا اختبار Markdown باللغة العربية.

58. 超长单词

测试布局是否爆炸:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

超长变量:

this_is_an_extremely_long_variable_name_designed_to_test_horizontal_overflow_behavior_inside_inline_code_elements

59. URL Overflow

https://example.com/this/is/a/very/very/very/very/very/very/very/very/very/very/very/very/long/url/designed/to/test/layout/overflow

60. Code Overflow

THIS_IS_A_VERY_LONG_LINE_WITHOUT_ANY_SPACES_OR_BREAKPOINTS______________________________________________________________________________________________________________END

61. 引号

普通引号:

“Hello World”

‘Hello World’

中文:

“你好世界”

‘你好世界’

62. Markdown Parser 边界情况

code **bold?**

bold **code** bold

delete code delete

*bold italic delete*

63. 不完整 Markdown

下面用于测试 Parser 容错:

**没有结束的粗体

*没有结束的斜体

`没有结束的代码

[没有结束的链接

正常引用

64. 空代码块


65. 代码块中的特殊字符

# Heading

**bold**

*italic*

~~delete~~

[link](https://example.com)

<script>alert("Hello")</script>

{{ template }}

${variable}

<component />

66. HTML 安全测试

渲染系统应该根据安全策略决定是否过滤 HTML。

<script>
    console.log("script test");
</script>

下面是真实 HTML:

<script> console.log(“Markdown HTML script test”); </script>

iframe:

<iframe src=”about:blank” title=”iframe test”></iframe>

67. XSS 转义测试

以下内容用于测试 Sanitizer:

<img src="x" onerror="alert('XSS')">

<a href="javascript:alert('XSS')">
    Click
</a>

<div onclick="alert('XSS')">
    Click
</div>

渲染器不应该因为展示该测试文档而意外执行不可信脚本。

68. 注释

HTML Comment:

上面存在一条 HTML 注释。

69. Front Matter

部分 Markdown 系统识别文件顶部的 YAML Front Matter:

---
title: Markdown Renderer Test
author: Zhang99
date: 2026-09-26
tags:
  - markdown
  - test
  - renderer
---

70. Admonition

部分 Renderer,例如 MkDocs,支持:

Note

这是 Note。

Warning

这是 Warning。

Danger

这是 Danger。

GitHub 风格可能支持:

Note

这是一条 Note。

Tip

这是一条 Tip。

Important

这是一条 Important。

Warning

这是一条 Warning。

Caution

这是一条 Caution。

71. Checkbox + Table + Code 综合测试

  • Parser

const parser = new Parser();

  • Renderer
Renderer Status
HTML ✅
React ✅
Terminal ❓
  • Extensions

72. Markdown 中的 HTML Table

Name Status
Markdown ✅
Math ❓

73. Details 嵌套

第一层 第一层内容。
第二层 第二层内容。
print("Nested details")

74. 图片尺寸 HTML 测试

HTML Image

75. 删除内容

HTML 删除线

HTML S 标签

Markdown 删除线

76. 文本格式 HTML

Strong

Bold

Emphasis

Italic

Underline

<mark>Highlight</mark>

<small>Small Text</small>

77. Unicode 组合字符

é

é

Å

Å

用于观察字体、Unicode Normalization 和搜索行为。

78. 中文 Markdown 混排

这是中文粗体,这是中文斜体,这是 中文代码。

中文和English混合测试。

变量 markdownRenderer 用于处理 Markdown 文本。

公式 \frac{1}{2} 也可以夹在中文句子里面。

79. 极端嵌套

  • L1
  • L2
    • L3
    • L4
      • L5
      • L6
        • L7
        • L8

80. 最终综合区域

Markdown Test

Markdown renderer should correctly process:

  • Bold
  • Italic
  • Delete
  • Code
  • Links

def markdown(): return "Hello Markdown!"

Feature Status
Markdown ✅
GFM ✅
Math ❓
Mermaid ❓
\frac{a+b}{c+d}

Test Complete

如果你能够正常看到:

  • 标题层级
  • 粗体 / 斜体 / 删除线
  • 有序和无序列表
  • Task List
  • Blockquote
  • Code Highlight
  • Table
  • Link
  • Image
  • HTML
  • Details
  • Footnotes
  • Math
  • Mermaid
  • Unicode / Emoji
  • 长文本 Overflow

那么这个 Markdown Renderer 的功能已经比较完整。

Markdown Renderer Test — END



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码
津ICP备2026002186号-1