2024-04-27 02:16:18 +08:00
|
|
|
---
|
2024-06-10 10:26:44 +08:00
|
|
|
title: 扩展
|
2024-04-27 02:16:18 +08:00
|
|
|
sidebar_position: 3
|
|
|
|
---
|
|
|
|
|
2024-05-04 16:01:03 +08:00
|
|
|
# 扩展
|
|
|
|
|
|
|
|
## 锚点
|
|
|
|
|
|
|
|
:::warning
|
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
锚点一定要先声明再使用。
|
2024-05-04 16:01:03 +08:00
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
即整个 .yml 文件从上往下设置锚点**一定要**在引用锚点之前。
|
2024-05-04 16:01:03 +08:00
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
否则会语法报错。
|
2024-05-04 16:01:03 +08:00
|
|
|
|
|
|
|
:::
|
|
|
|
|
|
|
|
### 符号
|
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
`&` 设置锚点。
|
2024-05-04 16:01:03 +08:00
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
`*` 引用锚点。
|
2024-05-04 16:01:03 +08:00
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
`<<` 合并到当前数据。
|
2024-05-04 16:01:03 +08:00
|
|
|
|
|
|
|
### 例子
|
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
这样写:
|
2024-05-04 16:01:03 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
defaults: &defaults
|
|
|
|
adapter: postgres
|
|
|
|
host: localhost
|
|
|
|
|
|
|
|
development:
|
|
|
|
database: myapp_development
|
|
|
|
<<: *defaults
|
|
|
|
|
|
|
|
test:
|
|
|
|
database: myapp_test
|
|
|
|
common: *defaults
|
|
|
|
```
|
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
相当于:
|
2024-05-04 16:01:03 +08:00
|
|
|
```
|
|
|
|
defaults:
|
|
|
|
adapter: postgres
|
|
|
|
host: localhost
|
|
|
|
|
|
|
|
development:
|
|
|
|
database: myapp_development
|
|
|
|
adapter: postgres
|
|
|
|
host: localhost
|
|
|
|
|
|
|
|
test:
|
|
|
|
common:
|
|
|
|
adapter: postgres
|
|
|
|
host: localhost
|
|
|
|
```
|
|
|
|
|
|
|
|
## 换行
|
|
|
|
|
|
|
|
### 保留换行
|
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
使用 `|` 来表示该语法,每行的缩进和行尾空白都会被去掉,而额外的缩进会被保留。
|
2024-05-04 16:01:03 +08:00
|
|
|
```YAML
|
|
|
|
lines: |
|
|
|
|
我是第一行
|
|
|
|
我是第二行
|
|
|
|
我是帅气迷人的驿站
|
|
|
|
我是第四行
|
|
|
|
我是第五行
|
|
|
|
```
|
2024-06-23 21:59:20 +08:00
|
|
|
使用 `|+` 来表示该语法,保留行尾及字符末尾的换行符。
|
2024-05-04 16:01:03 +08:00
|
|
|
```YAML
|
|
|
|
lines: |+
|
|
|
|
我是第一行
|
|
|
|
我是第二行
|
|
|
|
```
|
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
使用 `|-` 来表示该语法,保留行尾换行符,但不保留字符末尾的换行符。
|
2024-05-04 16:01:03 +08:00
|
|
|
```YAML
|
|
|
|
lines: |-
|
|
|
|
我是第一行
|
|
|
|
我是第二行
|
|
|
|
```
|
|
|
|
|
|
|
|
### 折叠换行
|
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
使用 `>` 来表示该语法,只有空白行才会被识别为换行,原来的换行符都会被转换成空格。
|
2024-05-04 16:01:03 +08:00
|
|
|
```YAML
|
|
|
|
lines: >
|
|
|
|
我是第一行
|
|
|
|
我也是第一行
|
|
|
|
我仍是第一行
|
|
|
|
我依旧是第一行
|
|
|
|
我是第二行
|
|
|
|
这么巧我也是第二行
|
|
|
|
```
|
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
使用 `>+` 来表示该语法,将行尾换行符替换成空格,保留字符末尾的换行符。
|
2024-05-04 16:01:03 +08:00
|
|
|
```YAML
|
|
|
|
lines: >+
|
|
|
|
我是第一行
|
|
|
|
我也是第一行
|
|
|
|
```
|
|
|
|
|
2024-06-23 21:59:20 +08:00
|
|
|
使用 `>-` 来表示该语法,将行尾换行符替换成空格,不保留字符末尾的换行符。
|
2024-05-04 16:01:03 +08:00
|
|
|
```YAML
|
|
|
|
lines: >-
|
|
|
|
我是第一行
|
|
|
|
我也是第一行
|
|
|
|
```
|