Markdown 全语法样式测试

覆盖标题、文本修饰、列表、引用、链接、图片、表格、代码、数学公式、脚注与 HTML 扩展的 Markdown 样式测试文章

一级标题:Markdown 样式实验室

这是一篇专门用于检查文章排版的测试内容。它没有严肃主题,但会尽量覆盖本站支持的 Markdown、GFM、数学公式与少量原生 HTML。

一级标题(Setext 写法)

二级标题(Setext 写法)

二级标题:基础文本

三级标题:强调与行内元素

普通文本包含中文、English、数字 0123456789,以及全角标点:“你好,世界!”

这是 斜体(星号),这是 斜体(下划线);这是 粗体(星号),这是 粗体(下划线);这是 粗斜体,这是 删除线,这是 粗体中的 斜体code

行内代码示例:pnpm buildconst answer = 42<section class="prose">。双反引号可以包住反引号:const token = `value`;

以下是原生 HTML 行内元素:高亮下划线插入文本删除文本、H2O、x2Ctrl + KBuild completenHTML短引用虚构作品小号说明

实体与符号:© ® ™ & <tag> → ← —  结束。价格中的美元符号可写成 $19.99。

转义字符:*这不是斜体*、# 这不是标题、[这不是链接]、反斜杠本身 \

四种换行

这两行在源码中只是普通换行, 渲染时通常仍属于同一个段落。

这一行末尾有两个空格。
所以这里是硬换行。

这一行末尾有反斜杠。
这里同样是硬换行。

空行会创建一个新段落。长文本用于观察阅读宽度、字距和自动换行:清晨的测试员把最后一杯咖啡放到窗边,随后逐项检查窄屏、宽屏、浅色、深色,以及那些只会在很长很长的句子中出现的边界情况。

四级标题

四级标题下方的一小段正文,用于比较标题与段落之间的垂直节奏。

五级标题

五级标题通常适合较深层的小节。

六级标题(尾部井号)

六级标题用于检查最小标题字号、行高和字重。

列表

无序与嵌套列表

  • 第一项是紧凑列表。
  • 第二项包含 粗体链接inline code
    • 第二层使用短句。
      • 第三层用于检查缩进。
        1. 无序列表中的有序列表。
        2. 第二个嵌套编号项。
  • 最后一项。
  • 星号也可以作为项目符号。
  • 渲染结果应与减号一致。
  • 加号同样可以作为项目符号。
  • 这一项用于覆盖第三种写法。

宽松列表

  • 第一项包含一个完整段落。

    同一列表项的第二个段落,用于检查段间距和缩进。

  • 第二项也包含多个块。

    列表项内部还可以放置引用块。

有序列表

  1. 列表从数字 3 开始。
  2. Markdown 源码中的序号会生成正确的起始值。
    1. 这是嵌套的第一项。
    2. 这是嵌套的第二项。
  3. 最后一个有序项。

任务列表(GFM)

  • 已完成:检查桌面端
  • 已完成:检查移动端
  • 待完成:检查超长内容
    • 嵌套的已完成任务
    • 嵌套的未完成任务

描述列表(HTML)

Markdown
一种轻量级标记语言。
GFM
GitHub Flavored Markdown,增加了表格、任务列表等语法。

引用块

设计不是把所有东西都放进去,而是让每个元素都处在正确的位置。

引用块可以包含第二个段落、强调文本代码链接

这是二级嵌套引用。

  • 嵌套引用中的列表项一
  • 嵌套引用中的列表项二
const message = '引用块中的代码';
console.log(message);

— 一位虚构的排版测试员

链接、自动链接与双向链接

图片

标准 Markdown 图片:

站点头像

引用式图片:

站点图标

可点击图片:

点击图片返回首页

带图注的原生 HTML 图片:

用于测试图注样式的站点头像
图 1:使用 figure 与 figcaption 生成的图片说明。

表格

左对齐居中对齐右对齐默认对齐
粗体斜体code删除线
中文内容42¥1,024.00单元格中的 | 竖线
链接H2Ox2x^2第一行
第二行
很长很长很长的单元格,用于观察窄屏横向滚动99.9%nowrap?

代码

行内、缩进与围栏代码

下面是四空格缩进代码块:

function indentedCode() {
  return '没有指定语言';
}

带语言标识的 TypeScript 代码块:

interface Article {
  title: string;
  tags: string[];
  draft?: boolean;
}

const article: Article = {
  title: 'Markdown 全语法样式测试',
  tags: ['Markdown', 'GFM', 'KaTeX'],
  draft: false,
};

console.log(article.title);

使用波浪号围栏的 JSON:

{
  "name": "style-test",
  "enabled": true,
  "breakpoints": [320, 768, 1440]
}

Diff 高亮:

- const theme = 'light';
+ const theme = 'dark';

Shell 高亮与长行测试:

pnpm check
pnpm test
printf '%s\n' '这是一条刻意写得非常长的命令输出,用于确认代码块在窄屏设备上能够正确横向滚动或换行,而不会撑破文章容器。'

用四个反引号包裹含有三个反引号的 Markdown 示例:

```css
.card {
  border-radius: 1rem;
}
```

没有语言标识的围栏代码:

plain text
<not-rendered-as-html>
**not bold**

数学公式

行内公式:质能方程 E=mc2E = mc^2,勾股定理 a2+b2=c2a^2 + b^2 = c^2,以及求和 sumi=1ni=n(n+1)2sum_{i=1}^{n} i = \frac{n(n+1)}{2}

独立公式:

ex2dx=π\int_{-\infty}^{\infty} e^{-x^2}\,dx = \sqrt{\pi}

多行对齐公式:

f(x)=x2+2x+1=(x+1)2\begin{aligned} f(x) &= x^2 + 2x + 1 \\ &= (x + 1)^2 \end{aligned}

矩阵与分段函数:

A=(1234),g(x)={x,x0x,x<0A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \qquad g(x) = \begin{cases} x, & x \ge 0 \\ -x, & x < 0 \end{cases}

脚注

这句话带有一个普通脚注。1 同一句还带有一个较长脚注。2 再次引用第一个脚注。1

原生 HTML 块

点击展开 details 内容

折叠区域中包含段落、高亮和键盘按键 Enter

  • 原生 HTML 列表项
  • 第二个列表项

هذا سطر عربي من اليمين إلى اليسار لاختبار اتجاه النص.

hàn 字包含 ruby 注音;进度示例:72%

分隔线

下面三条分隔线分别使用三种 Markdown 写法。




综合嵌套测试

  1. 第一层有序列表

    • 第二层无序列表包含一个脚注引用3

    • 第二项包含引用:

      嵌套在列表中的引用块。

      F=maF = ma
  2. 第二个有序列表项包含代码:

    .prose > * + * {
      margin-block-start: 1em;
    }

超长内容与特殊字符

超长英文单词用于测试断行:pneumonoultramicroscopicsilicovolcanoconiosis-and-an-even-longer-suffix-for-overflow-testing。

超长 URL 用于测试溢出:https://example.com/a/very/long/path/that/keeps/going/without/a/convenient/breakpoint?source=markdown-style-test&viewport=mobile

Unicode 集合:😀 🎉 🚀 ❤️ | α β γ Ω | 你好 | こんにちは | 안녕하세요 | café naïve résumé | ① ② ③ | ✓ ✗ ± × ÷ ≠ ≤ ≥。

结束

如果标题、正文、链接、图片、表格、代码、公式、脚注和嵌套块都能正常显示,这篇样式测试文章就完成了它的任务。

Footnotes

  1. 这是一个简短脚注,用于检查编号、回链和脚注分隔线。 2

  2. 这是一个包含多个句子的长脚注。它还带有 粗体行内代码外部链接,用于测试脚注区域中的混合样式。

  3. 这是从嵌套列表中引用的脚注。