























编写 i18n 翻译文件时,使用的插件将多行文本转换成了某种从未见过的格式。
于是在查阅过程发现一个有意思的网站:YAML Multiline Strings
自觉有趣,遂作记录。
根据指示符的不同,可以将文本格式分为五种类型:
即不使用任何指示符直接定义字符串,这种方式下会尽可能保留字符,不需要也不进行转义,编写十分便利。
但相对而言,使用一些特殊字符时会有限制,如 : 和 #,需要注意其周围空格出现的时机。
换行的处理与 CommonMark 类似,回车将转换为一个空格,出现空行之后才会转换 \n,且每个空行对应一个 \n。
使用单引号 ' 包裹后,可以正常使用 : 和 #,但单引号本身需通过 '' 转义。
使用双引号 " 包裹与单引号类似,但可以使用 \ 以转义字符,如 \" \n \\ 等。
在行尾单独使用 \ 时会作为续行符,消除其后所有的换行符和空格直到遇到第一个非空字符。
使用 > 后的行为与纯文本一致,但不再限制特殊字符。
使用 | 作为指示符,在折叠块的基础上保留了所有换行符,即每次回车都视作一个 \n。
对折叠块和字面量这两种块指示符,还可以在后面添加块消耗指示符以控制末尾空行。
Clip,会保留一个 \n;- 符号视作 Strip,将去除末尾所有的 \n;+ 符号视作 Keep,将 \n 视作文本内容,一律保留。详细定义可参阅 YAML 规范文档 Block Style Productions。
同时找到了一个在线工具,可以亲自尝试验证上述内容:Transform YAML into JSON
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。