Markdown与VitePress语法指南

目录

一、Markdown基础语法

1. 标题

md
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

2. 文本格式化

md
**粗体文本**
*斜体文本*
***粗斜体文本***
~~删除线文本~~
`行内代码`

粗体文本
斜体文本
粗斜体文本
删除线文本
行内代码

3. 引用

md
> 这是一个引用
> 
> > 这是嵌套引用

这是一个引用

这是嵌套引用

4. 分割线

md
---

5. 列表

无序列表

md
- 项目1
- 项目2
  - 子项目A
  - 子项目B
  • 项目1
  • 项目2
    • 子项目A
    • 子项目B

有序列表

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

任务列表

md
- [x] 已完成任务
- [ ] 未完成任务
  • [x] 已完成任务
  • [ ] 未完成任务

6. 链接

md
[链接文本](https://example.com "可选标题")

链接文本

7. 图片

md
![替代文本](图片URL "可选标题")

8. 表格

md
| 表头1 | 表头2 | 表头3 |
|:-----|:-----:|-----:|
| 左对齐 | 居中 | 右对齐 |
| 内容 | 内容 | 内容 |
表头1表头2表头3
左对齐居中右对齐
内容内容内容

9. 代码块

md
```语言名称
代码内容
```
javascript
function hello() {
  console.log("Hello, world!");
}

10. 转义字符

md
\* 星号不会被解析为斜体 \*

* 星号不会被解析为斜体 *

二、VitePress扩展功能

1. 标题锚点 标题锚

md
[点我跳转:基本功能](#基本功能)

点我跳转:基本功能

2. 图片引用 图片引用

md
<!-- 相对路径,目标文件相对于本文章所在位置 -->
![LOGO](./public/logo.png)

<!-- 绝对路径,目标文件就是真实路径在哪 -->
![LOGO](/public/logo.png)

图片引用图片引用

3. 链接 链接

md
[点我跳转:文章中的基本功能](./markdown.md#基本功能)
md
[点我跳转:百度](https://www.baidu.com)

内部链接引用 点我跳转:文章中的基本功能

外部链接引用 点我跳转:百度

4. 多媒体引用 多媒体引用

视频引用

md
<video src="./public/video.mp4" controls></video>

在线视频嵌入

html
<iframe
  style="width: 100%; aspect-ratio: 16/9; margin-top: 2em"
  src="https://www.youtube.com/embed/bzyMLoSwYvk"
  frameborder="0"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
  allowfullscreen
>
</iframe>

5. Emoji支持 Emoji

md
:smile: :tada: :100:

😄 🎉 💯

6. 目录生成 目录

md
[[toc]]
目录

7. 折叠内容 折叠语法

md
<details>
  <summary>点我展开</summary>
  Markdown默认折叠语法,Vitepress可以使用容器折叠语法,更加美观
</details>
点我展开 Markdown默认折叠语法,Vitepress可以使用容器折叠语法,更加美观

三、VitePress容器

1. 基础容器 基础容器

md
::: info
这是一条info,自定义格式:info+空格+自定义文字
:::

::: tip 提示
这是一个提示,自定义格式:tip+空格+自定义文字
:::

::: warning 警告
这是一条警告,自定义格式:warning+空格+自定义文字
:::

::: danger 危险
这是一个危险警告,自定义格式:danger+空格+自定义文字
:::

::: details 点我查看
这是一条详情,自定义格式:details+空格+自定义文字
:::

重要

这是一条info,自定义格式:info+空格+自定义文字

提示

这是一个提示,自定义格式:tip+空格+自定义文字

警告

这是一条警告,自定义格式:warning+空格+自定义文字

危险

这是一个危险警告,自定义格式:danger+空格+自定义文字

点我查看

这是一条详情,自定义格式:details+空格+自定义文字

2. GitHub风格容器 GitHub风格容器

md
> [!NOTE] 重要
> 强调用户在快速浏览文档时也不应忽略的重要信息。

> [!TIP]
> 有助于用户更顺利达成目标的建议性信息。

> [!IMPORTANT]
> 对用户达成目标至关重要的信息。

> [!WARNING]
> 因为可能存在风险,所以需要用户立即关注的关键内容。

> [!CAUTION]
> 行为可能带来的负面影响。

重要

强调用户在快速浏览文档时也不应忽略的重要信息。

TIP

有助于用户更顺利达成目标的建议性信息。

IMPORTANT

对用户达成目标至关重要的信息。

WARNING

因为可能存在风险,所以需要用户立即关注的关键内容。

CAUTION

行为可能带来的负面影响。

3. Badge徽标 Badge徽标

md
* VitePress <Badge type="info" text="info" />
* VitePress <Badge type="tip" text="tip" />
* VitePress <Badge type="warning" text="warning" />
* VitePress <Badge type="danger" text="danger" />
  • VitePress info
  • VitePress tip
  • VitePress warning
  • VitePress danger

四、VitePress代码块增强

1. 行高亮 行高亮

  • // [!code highlight]
md
```ts{2-3,5}
// ...
```
md
```ts
export default defineConfig({
  lang: 'zh-CN', 
  title: "VitePress", 
  description: "我的vitpress文档教程",
  titleTemplate: '另起标题覆盖title' , 
})
```

输出:

ts
export default defineConfig({
  lang: 'zh-CN',
  title: "VitePress",
  description: "我的vitpress文档教程",
  titleTemplate: '另起标题覆盖title' ,
})

2. 聚焦代码 聚焦代码

  • // [!code focus]
  • 聚焦连续多行,使用 // [!code focus:<lines>]
md
```ts{4}
export default defineConfig({
  lang: 'zh-CN',
  title: "VitePress",
  description: "我的vitpress文档教程", 
  titleTemplate: '另起标题覆盖title' ,
})
```

3. 增减差异 增减差异

在某一行上添加 // [!code --]// [!code ++] 注释将创建该行的差异,同时保留代码块的颜色

ts
export default defineConfig({
  lang: 'zh-CN',
  title: "VitePress",
  description: "我的vitpress文档教程", 
  titleTemplate: '另起标题覆盖title' , 
})

4. 错误和警告 错误和警告

在某一行上添加 // [!code warning]// [!code error] 注释会相应地为其着色

ts
export default defineConfig({
  lang: 'zh-CN', 
  title: "VitePress", 
  description: "我的vitpress文档教程",
  titleTemplate: '另起标题覆盖title' ,
})

5. 行号显示 行号显示

通过 ts:no-line-numbers 来临时关闭行号

ts
// 左侧不显示行号
export default defineConfig({
  lang: 'zh-CN',
  title: "VitePress",
  description: "我的vitpress文档教程",
  titleTemplate: '另起标题覆盖title' ,
})
ts
// 左侧显示行号
export default defineConfig({
  lang: 'zh-CN',
  title: "VitePress",
  description: "我的vitpress文档教程",
  titleTemplate: '另起标题覆盖title' ,
})

6. 代码组 代码组

txt
::: code-group

```sh [pnpm]
#查询pnpm版本
pnpm -v
```

```sh [yarn]
#查询yarn版本
yarn -v
```
:::
sh
#查询pnpm版本
pnpm -v
sh
#查询yarn版本
yarn -v

7. 代码块嵌套 代码块嵌套

用4个反引号 ```` ,以此类推

````
```
pnpm run docs:dev
```
````

8. 代码块带标题 代码块带标题

```objective-c [HelloWorld.mm]
#import <Foundation/Foundation.h>
@interface HelloWorld : NSObject
- (void)sayHello;
@end

@implementation HelloWorld
- (void)sayHello {
    NSLog(@"Hello World !!!");
}
@end
```
HelloWorld.mm
objective-c
#import <Foundation/Foundation.h>
@interface HelloWorld : NSObject
- (void)sayHello;
@end

@implementation HelloWorld
- (void)sayHello {
    NSLog(@"Hello World !!!");
}
@end