这是一篇测试文章,用于验证博客的核心渲染能力。
文本格式基础测试
标题层级
略
三级标题
Inline 格式
加粗文本:加粗文本
斜体文本:斜体文本
加粗斜体:加粗斜体
删除线:删除线
行内代码:printf("hello world")
超链接:
- 外部链接:这是一个超链接
- 内部锚点:点击跳转到一、文本格式基础测试
DLC:黑幕
这里什么有没有代码高亮专项测试
hexo自带的代码高亮太几把好看了,建议还是去高亮官网调。这里用的是棱镜Prism进行的代码高亮。
这里用最经典的杨辉三角来展示代码高亮吧。
Python
n=int(input())
nums=[[0]*n for i in range(n)]#初始化一个n*n的零阵
for i in range(n):
for j in range(n):
if j==0:
nums[i][j]=1
else:
nums[i][j]=nums[i-1][j-1]+nums[i-1][j]
if nums[i][j]!=0:
print(nums[i][j],end=' ')
print()
C/C++
#include<stdio.h>
int main(){
int map[10][10] = {0};//10*10的二维0数组为进行操作
/*分析,最左列为1,因此从第2列考虑
公式:ls[i][j]=ls[i-1][j-1]+ls[i-1][j]*/
for (int i = 0; i < 10; i++){//初始化最左列
map[i][0] = 1;
}
for (int i = 1; i < 10; i++){
for (int j = 1; j < 10; j++){
map[i][j] = map[i-1][j-1]+map[i-1][j];
}
}
for (int i = 0; i < 10; i++){
for (int j = 0; j < 10; j++){
if (map[i][j] != 0){//不输出0
printf("%5d",map[i][j]);
}
}
printf("\n");
}
return 0;
}
JavaScript
function yanghui(row) {
// 创建一维数组
var arr = new Array(row);
// 创建二维数组
for (var i = 0; i < arr.length; i++) {
arr[i] = new Array(i + 1);
}
// 循环赋值
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr[i].length; j++) {
if (j === 0 || i === j) {
arr[i][j] = 1; // 首尾赋值为1
} else {
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1]; // 中间值为上一行两个相邻数字之和
}
}
}
// 打印三角
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr[i].length; j++) {
document.write(arr[i][j] + " ");
}
document.write("<br/>");
}
}
// 调用函数,生成5行的杨辉三角
yanghui(5);
HTML + CSS 代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>代码高亮测试页面</title>
<style>
.code-block {
background-color: #f5f5f5;
border-radius: 4px;
padding: 16px;
font-family: "Consolas", monospace;
overflow-x: auto; /* 处理长代码换行 */
}
.title {
color: #2c3e50;
font-size: 24px;
font-weight: 600;
}
</style>
</head>
<body>
<h1 class="title">代码高亮演示</h1>
<div class="code-block">
// 这里是示例代码
console.log("Hello, Code Highlight!");
</div>
</body>
</html>
无语言指定代码块
井inculde 《stdio。h》
viod main(){
char【10】c=“hello world”;
pRintf(“%f”,c);
}
图片测试

列表功能测试
以下分别测试无序列表和有序列表。
2.1 无序列表
- 测试项 1:无序列表默认样式
- 测试项 2:嵌套无序列表
- 嵌套子项 A
- 嵌套子项 B
- 测试项 3:列表与段落结合
这是列表项后的补充段落,用于验证列表与正文的间距和排版是否正常。
2.2 有序列表
- 第一步:创建测试文档
- 第二步:添加各类格式内容
- 子步骤 1:插入代码块
- 子步骤 2:插入表格
- 第三步:预览并验证效果
引用与表格测试
引用功能
引用常用于引用外部观点或重要提示,测试长文本引用的换行和缩进效果:
“Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者 HTML)文档。”
—— 引自 Markdown 官方说明
表格功能
表格用于展示结构化数据,测试表头、单元格对齐及内容换行效果:
| 功能模块 | 测试内容 | 预期效果 |
|---|---|---|
| 文字格式 | 粗体、斜体、删除线 | 样式清晰,无错乱 |
| 代码高亮 | 多语言代码块 | 语法颜色区分明显 |
| 列表 | 嵌套列表、列表+段落 | 层级分明,间距合理 |
| 表格 | 多列数据、单元格换行 | 边框完整,内容居中对齐 |
数学公式
行内
$E=mc^2$
$E=mc^2$
多行
$$
m \mathbf{a} = \mathbf{F}_{total} = \mathbf{F}_{thrust} + \mathbf{F}_{gravity} + \ldots
$$
$$
m \mathbf{a} = \mathbf{F}_{total} = \mathbf{F}_{thrust} + \mathbf{F}_{gravity} + \ldots
$$
流程图
流程图是一种有效展示封闭系统运动状态的图形形式,可以帮助管理者和实现者清晰地认识系统运转流程。Markdown 的原生语法不支持绘制图形,但通过 Mermaid 扩展,我们可以将一些格式化的文字渲染成我们需要的图形。
基本语法
流程图的基本语法包含三个部分:流程图布局方向、几何图形和连接线。以下是一个简单的 Markdown 流程图示例,采用 Mermaid 语法:
flowchart LR
开始 --> 结束
复制
graph LR;:指定这是一个有向图。
节点以及节点之间的关系通过 –> 来表示。
方框中的文字表示节点的名称,例如 A[开始] 表示开始节点。
定义元素
流程图的元素包括标签、类型和内容。标签用于连接元素时使用,类型有六种:开始(start)、结束(end)、操作(operation)、子流程(subroutine)、条件(condition)和输入输出(inputoutput)。例如:
st=>start: Start
e=>end: End
op1=>operation: My Operation
cond=>condition: Yes or No?
连接元素
使用 -> 符号连接元素,例如:
st->op1->cond
cond(yes)->e
cond(no)->op1
节点形状
Mermaid 支持多种节点形状,例如圆角矩形、普通矩形、菱形等。以下是一些示例:
flowchart TB
A(圆角形节点)
B[矩形节点]
C((圆形节点))
D[(圆柱形节点)]
E{菱形节点}
连接线样式
可以对连接线进行样式设置,例如:
flowchart LR
A-->B
linkStyle 0 stroke:#ff3,stroke-width:4px,color:red
实例
以下是一个冒泡排序流程图的示例:
flowchart LR
执行1[i = 1]
执行2[j = 0]
执行3[i ++]
执行4["a = arr[j], b = arr[j + 1]"]
执行5[交换 a, b]
执行6[j ++]
判断1["i < n"]
判断2["j < n - i"]
判断3["a > b"]
开始 --> 执行1
执行1 --> 判断1
判断1 --Y--> 执行2
执行2 --> 判断2
判断2 --Y--> 执行4
判断2 --N--> 执行3
执行3 --> 判断1
执行4 --> 判断3
判断3 --N--> 判断2
判断3 --Y--> 执行5
执行5 --> 执行6
执行6 --> 判断2
判断1 --N--> 结束