16个版本

1.0.0 2020年6月27日
0.5.0-pre952023年8月13日
0.5.0-pre942023年7月26日
0.5.0-pre62023年1月8日
0.3.2 2020年11月17日

#74 in 模板引擎

Download history 4221/week @ 2024-03-14 2755/week @ 2024-03-21 1498/week @ 2024-03-28 3141/week @ 2024-04-04 2923/week @ 2024-04-11 2582/week @ 2024-04-18 1745/week @ 2024-04-25 1777/week @ 2024-05-02 1820/week @ 2024-05-09 2014/week @ 2024-05-16 2333/week @ 2024-05-23 1617/week @ 2024-05-30 1632/week @ 2024-06-06 1285/week @ 2024-06-13 818/week @ 2024-06-20 721/week @ 2024-06-27

4,650 每月下载量
14 个crate中使用了(b)(8个直接使用)

MIT 许可证

375KB
13K SLoC

jrsonnet

++++

jrsonnet logo

release license opencollective

++++

// Github sucks: I can't center those images the normal way: https://github.com/github/markup/issues/984 // [.text-center] // Interactive,470, alt=jrsonnet logo // // [.text-center] // -- // alt=release, link=https://github.com/CertainLach/jrsonnet/releases // alt=license, ./LICENSE // alt=opencollective, link=https://opencollective.com/jrsonnet // --

这是什么

Jsonnet 是一种数据模板语言

此Rustcrate实现了基于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策略)

调试构建也可以工作,但比发布版本慢得多

[source]

cargo build --release

为什么?

这个标准已经在不同的语言中有多个实现了

此实现表明其性能优于所有现有实现。更多信息请参见benchmarks链接。

此外,我还想尝试新的语法特性,jrsonnet 实现了一些。更多信息请见链接:./docs/features.adoc[特性]

最终,用 Rust 实现一些东西总是很有趣。

绑定 [[绑定]]

Rust

alt=crates.io, link=https://crates.io/crates/jrsonnet-evaluator alt=docs.rs, link=https://docs.rs/jrsonnet-evaluator

Jrsonnet 使用 Rust 编写,所以只需将其作为依赖项添加即可

Python

alt=crates.io, link=https://pypi.ac.cn/project/rjsonnet/

绑定由 @messense 创建和维护

C/C++

Jrsonnet 提供了一个标准的 libjsonnet.so 共享库,应该可以作为它的直接替代品

其他

还有 WASM 绑定,Java 绑定(包括 JNI 和编译为 .class 的 WASM)正在开发中

更多信息请见链接:./bindings/[绑定]

依赖

~5.5MB
~95K SLoC