特殊排版测试
撰写本文章的目的是测试新 Markdown 渲染器 (Shiki) 的各种高阶用法。
代码块
行内代码:console.log("Hello, World!")
正常的代码块
typescript
function getInfo(x: number): string;
function getInfo(x: string): string;
function getInfo(x: number | string): string {
if (typeof x === "number") {
return `Number: ${x}`;
} else {
return `String: ${x}`;
}
}
console.log(getInfo(10));
console.log(getInfo("TypeScript"));
带有高亮行
ts
export const getData = async (id: number) => {
try {
await new Promise(resolve => setTimeout(resolve, 1000));
return {
msg: '字符串将被高亮!',
id: id,
timestamp: new Date().toISOString(),
randomValue: Math.random().toFixed(2)
};
} catch (error) {
console.error('发生错误:', error);
return { error: '获取数据失败' };
}
};
带有 diff
ts
export const getData = async (id: number) => {
try {
await new Promise(resolve => setTimeout(resolve, 1000));
return {
status: 'ok',
msg: '仅保留 msg 和 status 字段的输出',
id: id,
timestamp: new Date().toISOString(),
randomValue: Math.random().toFixed(2)
};
} catch (error) {
console.error('发生错误:', error);
return { error: '获取数据失败' };
}
};
带有动态模糊
yaml
version: '3'
services:
caddy:
image: caddy:2
container_name: caddy-server
restart: unless-stopped
environment:
- API_KEY=18735b44-212e-45ec-8719-5b81ea9db57f
- API_URL=https://example.com
- DEBUG_MODE=true
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
volumes:
caddy_data:
caddy_config:
带有行号
ts
// 禁用行号
const line2 = 'This is line 2'
const line3 = 'This is line 3'
ts
// 启用行号
const line2 = 'This is line 2'
const line3 = 'This is line 3'
1
2
3
2
3
ts
// 启用行号,并从 5 开始计数
const line3 = 'This is line 6'
const line4 = 'This is line 7'
5
6
7
6
7
高阶语法
信息
这是一个信息容器。
提示
这是一个提示容器。
警告
这是一个警告容器。
错误
这是一个错误容器。
这是一个可伸缩的容器
这是一个容器内的代码块
ts
const str: string = 'Hello, World!'
console.log(str)
动态生成的本文目录: