#yaml #fs #cli #root-directory

bin+lib fsyaml

将大型的、难以管理的yaml文件存储为多个可管理的文件,分布在整个文件系统中

6 个稳定版本

1.0.5 2022年6月17日
1.0.4 2022年6月13日
1.0.2 2022年6月12日
1.0.1 2022年6月10日

#854文件系统

MIT/Apache

11KB
126

fsyaml

将大型的、难以管理的yaml文件存储为多个可管理的文件,分布在整个文件系统中。

Crates.io Crates.io GitHub License

双许可下 MITApache-2.0

先决条件

在使用此工具之前,您应该了解 yaml的基础知识

工作原理

fsyaml 允许您将大型 yaml 文件分割成多个文件,并在需要时轻松将它们编译回一个文件。

例如,考虑以下yaml

a:
  b: 1
c:
  d:
    e: 2

它可以在文件系统中重构成以下形式

root
├─a.yaml
└─c
  └─d.yaml

其中 a.yaml

b: 1

d.yaml

e: 2

这允许您分离文件,并可以使大型文件更容易维护。

要查看上述示例的实际效果,您可以访问 tests/readme_example

有关更多示例,请参阅 tests,其中每个都包含根目录和 expected.yaml 输出。

安装

一旦您设置好文件系统中的 yaml 文件,您最终需要将它们全部合并为一个。

为此,您需要安装 fsyaml

通过发布版本

一种方法是通过 最新发布版本 的二进制文件。

在 Windows 上,您可以将它添加到任何文件夹中,只要您将该文件夹添加到路径中。

在 Linux 上,只需将其添加到您的 bin 文件夹即可。

使用 Cargo

另一种方法是使用 cargo,您可以通过 遵循这些说明 来安装它。

之后,您可以在终端中运行一个简单的命令

cargo install fsyaml

用法

安装 fsyaml 之后,您可以像这样使用它

输出到文件

fsyaml path/to/root output.yaml

输出为流

fsyaml path/to/root > output.yaml

免责声明:此功能在 Windows 上无法工作,并以 UTF-16 LE 编码输出(更多信息请参阅 此处

限制

这是目前不支持的功能限制列表 fsyaml。如果您想解决其中之一,请随意提交一个 pull request!

  • 不支持按文件结构列表(只支持映射)
  • 不支持符号链接

依赖关系

~2.4–3MB
~63K SLoC