7 个版本
1.0.0 |
|
---|---|
0.5.0-pre95 | 2023 年 8 月 13 日 |
0.5.0-pre94 | 2023 年 7 月 26 日 |
0.5.0-pre9 | 2023 年 5 月 15 日 |
0.5.0-pre6 | 2023 年 1 月 8 日 |
#181 in 文件系统
704 每月下载量
325KB
11K SLoC
jrsonnet
++++
++++// Github 糟糕:我无法像平常那样居中那些图片: https://github.com/github/markup/issues/984 // [.text-center] // // // [.text-center] // -- // // // // --
这是什么
Jsonnet 是一种数据模板语言
这个 Rust crate 实现了 jsonnet 库及其基于它的替代 jsonnet
可执行文件。更多信息请见 绑定,绑定。
安装
NixOS
jrsonnet 已打包在 nixpkgs 中,并由 @CertainLach 维护
[来源,sh]
nix-env -iA nixpkgs.jrsonnet
MacOS
jrsonnet 已打包到 brew 中,并由 @messense 维护
[来源,sh]
brew install jrsonnet
Windows/其他 Linux 发行版
您可以在 版本 中获取 Jrsonnet 的最新构建版本。
从源代码构建
jrsonnet 应该能够在最新的稳定 Rust 版本上构建(可能是在最旧的版本上,但没有提供 MSRV 策略)
调试构建也可以工作,但比发布版本慢得多
[来源]
cargo build --release
为什么?
已经有多个用不同语言实现的该标准的实现
- C++;
- Go;
- Scala.
- [新增] 另一个 Rust 实现.
此实现表明性能优于所有现有实现。更多信息请见 [链接:./docs/benchmarks.md][benchmarks]
此外,我想尝试新的语法功能,jrsonnet 实现了一些。更多信息请见 [链接:./docs/features.adoc][features]
最后,在Rust中实现一些功能总是很有趣。
绑定 [[bindings]]
Rust
Jrsonnet是用Rust编写的,所以只需将其作为依赖项添加即可
Python
绑定由 @messense 创建和维护
C/C++
Jrsonnet提供了一个标准的 libjsonnet.so
共享库,应作为其直接替代品
其他
还提供了WASM绑定,Java绑定(JNI和WASM编译为 .class
)正在进行中
更多信息请参见链接:./bindings/[bindings]。
依赖项
~7MB
~116K SLoC