如何将长描述包装在 Flutter pubspec.yaml 文件中?
How to wrap long descriptions in a Flutter pubspec.yaml file?
我注意到在使用 Pubspec Assist 插件时,它会在更新依赖项时换行 description
行。
description: Have you been turned into a newt? Would you like to be? This
package can help. It has all of the newt-transmogrification functionality you
have been looking for.
在研究这个包装时,我发现 yaml supports wrapping,但指示使用 >
(或 |
来保留换行符,这可能不推荐用于 Flutter 应用程序?) .
dart.dev 上的 pubspec
页面显示了一个使用 >-
的示例,但它自己的描述没有提及任何关于长描述或换行的内容。
description: >-
Have you been turned into a newt? Would you like to be?
This package can help. It has all of the
newt-transmogrification functionality you have been looking
for.
在 Flutter 项目中,从应用商店的角度来说,在 pubspec.yaml
文件中使用哪种方法包装长描述是否重要?我一直把它们排成一排。
包装是一种 YAML 语法功能。 Flutter 将语义应用于 YAML 文件的已解析内容。
这意味着您如何表示 YAML 标量对 Flutter 并不重要,只要结果(由您使用的 YAML 语法定义)为 Flutter 产生有效值即可。
对于一些标量,YAML 采用换行:单个换行符转换为 space,而空行转换为换行符。普通标量和折叠块标量都会发生这种情况:
droggeljug: This is a plain scalar.
It spans multiple lines but when parsed, contains a single line.
baked_beans: >-
This is a folded block scalar.
It also spans multiple lines.
The previous empty line yields a line break in the parsed value.
需要考虑一些差异:
- 普通标量以各种特殊字符结束,例如
:
(当后面跟着白色 space 时)。这应该是显而易见的,因为它形成了一个隐式密钥。
- 折叠块标量仅在遇到父节点缩进处的内容时结束。您可以轻松地将任何字符写入折叠块标量,甚至
#
否则会开始注释。
- 一些标量在作为普通标量给出时可能会被解析为非字符串。例如,
true
可能是一个布尔值,而 42
可能是一个数字。无论内容如何,折叠块标量总是产生字符串。
除此之外,还有单引号和双引号标量,以及文字块标量(以 |
开头,而不是 >
)。文字块标量按原样解析换行符。双引号标量解析转义序列。单引号标量直到遇到第二个 '
才会结束。所有这些标量类型都可以是多行的,并且除了文字块标量之外的所有类型都可以进行行折叠。您可以选择其中任何一个来编码您的字符串值。
至于你 应该 使用哪一个的问题,我会说折叠块标量 >-
是完成这项工作的正确工具:你可以写任何东西无需担心 YAML 特殊字符、转义序列等
我注意到在使用 Pubspec Assist 插件时,它会在更新依赖项时换行 description
行。
description: Have you been turned into a newt? Would you like to be? This
package can help. It has all of the newt-transmogrification functionality you
have been looking for.
在研究这个包装时,我发现 yaml supports wrapping,但指示使用 >
(或 |
来保留换行符,这可能不推荐用于 Flutter 应用程序?) .
dart.dev 上的 pubspec
页面显示了一个使用 >-
的示例,但它自己的描述没有提及任何关于长描述或换行的内容。
description: >-
Have you been turned into a newt? Would you like to be?
This package can help. It has all of the
newt-transmogrification functionality you have been looking
for.
在 Flutter 项目中,从应用商店的角度来说,在 pubspec.yaml
文件中使用哪种方法包装长描述是否重要?我一直把它们排成一排。
包装是一种 YAML 语法功能。 Flutter 将语义应用于 YAML 文件的已解析内容。
这意味着您如何表示 YAML 标量对 Flutter 并不重要,只要结果(由您使用的 YAML 语法定义)为 Flutter 产生有效值即可。
对于一些标量,YAML 采用换行:单个换行符转换为 space,而空行转换为换行符。普通标量和折叠块标量都会发生这种情况:
droggeljug: This is a plain scalar.
It spans multiple lines but when parsed, contains a single line.
baked_beans: >-
This is a folded block scalar.
It also spans multiple lines.
The previous empty line yields a line break in the parsed value.
需要考虑一些差异:
- 普通标量以各种特殊字符结束,例如
:
(当后面跟着白色 space 时)。这应该是显而易见的,因为它形成了一个隐式密钥。 - 折叠块标量仅在遇到父节点缩进处的内容时结束。您可以轻松地将任何字符写入折叠块标量,甚至
#
否则会开始注释。 - 一些标量在作为普通标量给出时可能会被解析为非字符串。例如,
true
可能是一个布尔值,而42
可能是一个数字。无论内容如何,折叠块标量总是产生字符串。
除此之外,还有单引号和双引号标量,以及文字块标量(以 |
开头,而不是 >
)。文字块标量按原样解析换行符。双引号标量解析转义序列。单引号标量直到遇到第二个 '
才会结束。所有这些标量类型都可以是多行的,并且除了文字块标量之外的所有类型都可以进行行折叠。您可以选择其中任何一个来编码您的字符串值。
至于你 应该 使用哪一个的问题,我会说折叠块标量 >-
是完成这项工作的正确工具:你可以写任何东西无需担心 YAML 特殊字符、转义序列等