9个版本
0.5.0-pre95 | 2023年8月13日 |
---|---|
0.5.0-pre94 | 2023年7月26日 |
0.5.0-pre9 | 2023年5月15日 |
0.5.0-pre8 | 2023年4月18日 |
0.5.0-pre6 | 2023年1月8日 |
#1975 in 过程宏
每月下载量3,113
19KB
709 行
jrsonnet
++++
++++// Github sucks: I can't center those images the normal way: https://github.com/github/markup/issues/984 // [.text-center] // // // [.text-center] // -- //
//
//
// --
这是什么
Jsonnet 是一种数据模板语言
此Rust crate实现了Jsonnet库及其基于它的替代 jsonnet
可执行文件。更多详细信息请参阅 绑定,绑定。
安装
NixOS
jrsonnet被打包在nixpkgs中,由@CertainLach维护
[source,sh]
nix-env -iA nixpkgs.jrsonnet
MacOS
jrsonnet被打包到brew中,由@messense维护
[source,sh]
brew install jrsonnet
Windows/其他Linux发行版
您可以从 发布版 获取jrsonnet的最新构建版本。
从源码构建
jrsonnet应该在最新稳定版Rust上构建(可能是在最旧的版本上,但未提供MSRV策略)
调试构建也可以工作,但比发布版本慢得多
[来源]
cargo build --release
为什么?
已经有多个不同语言实现了这个标准的多个实现
- C++;
- Go;
- Scala.
- [新增] 另一种Rust实现出现。
这个实现显示了比所有现有实现更好的性能。更多信息请见链接:./docs/benchmarks.md[基准测试]
此外,我想尝试新的语法特性,jrsonnet实现了其中一些。更多信息请见链接:./docs/features.adoc[特性]
最终,在Rust中实现一些东西总是很有趣的。
绑定 [[bindings]]
Rust
Jrsonnet是用Rust编写的,所以只需将其作为依赖项添加即可
Python
绑定由@messense创建和维护
C/C++
Jrsonnet提供标准libjsonnet.so
共享库,并应该作为其直接替换品工作
其他
也提供了WASM绑定,Java绑定(JNI和编译为.class
的WASM)正在开发中
更多信息请见链接:./bindings/[bindings]
依赖项
~1.5MB
~35K SLoC