nix-env -iA nixpkgs.jrsonnet
difftreelog
doc: add logo
2 files changed
README.adocdiffbeforeafterboth
What is it
Jsonnet is a data templating language
This Rust crate implements both jsonnet library and an alternative jsonnet executable based on it.
For more information see [bindings](#Bindings).
Install
Windows/other linux distributions
You can get latest build of jrsonnet in releases.
Build from sources
jrsonnet should build on latest stable Rust version (probably on the oldest, but there is no MSRV policy provided)
Debug build will work too, but it is much slower than release
cargo build --release
Why?
There already are multiple implementations of this standard implemented in different languages:
This implementation shows performance better than all existing implementations. For more information see benchmarks
Also, I wanted to experiment on new syntax features, and jrsonnet implements some of them. For more information see features
In the end, it’s always fun to implement something in Rust.
Install
Windows/other linux distributions
You can get latest build of jrsonnet in releases.
Build from sources
jrsonnet should build on latest stable Rust version (probably on the oldest, but there is no MSRV policy provided)
Debug build will work too, but it is much slower than release
cargo build --release
Why?
There already are multiple implementations of this standard implemented in different languages:
This implementation shows performance better than all existing implementations. For more information see benchmarks
Also, I wanted to experiment on new syntax features, and jrsonnet implements some of them. For more information see features
In the end, it’s always fun to implement something in Rust.
docs/logowide.svgdiffbeforeafterboth--- /dev/null
+++ b/docs/logowide.svg
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 28.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 2000 500" style="enable-background:new 0 0 2000 500;" xml:space="preserve">
+<path style="fill:#873A4A;stroke:#873A4A;stroke-width:0.25;stroke-miterlimit:10;" d="M1750,499.75H250
+ C112.637,499.75,0.25,387.363,0.25,250v0C0.25,112.637,112.637,0.25,250,0.25h1500c137.362,0,249.75,112.387,249.75,249.75v0
+ C1999.75,387.363,1887.363,499.75,1750,499.75z"/>
+<polygon style="fill:#E35E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="548.275,352.303 605.237,319.416
+ 548.275,286.94 548.275,318.712 "/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="434.351,352.303 434.351,417.667
+ 491.313,385.19 462.832,368.747 "/>
+<polygon style="fill:#F38066;stroke:#F48066;stroke-width:0.25;stroke-miterlimit:10;" points="516.195,370.824 491.313,385.19
+ 548.275,417.667 548.275,352.303 "/>
+<polygon style="fill:#E35E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="377.389,254.053 377.389,221.576
+ 377.389,188.689 341.258,209.289 320.427,221.166 "/>
+<polygon style="fill:#863B4A;" points="548.275,352.303 491.313,385.19 516.195,370.824 "/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M317.929,302.591
+ c-9.86-5.693-22.585-2.283-28.277,7.577v0c-5.693,9.86-2.283,22.585,7.577,28.277l80.161,46.281v-47.805L317.929,302.591z"/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M363.956,115.373
+ c-9.86-5.693-22.584-2.283-28.277,7.577v0c-5.693,9.86-2.283,22.585,7.577,28.277l49.51,28.585l41.401-23.903L363.956,115.373z"/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M261.712,270.135l-11.951-6.9
+ c-9.86-5.693-22.584-2.283-28.277,7.577l0,0c-5.693,9.86-2.283,22.584,7.577,28.277l11.951,6.9
+ c9.86,5.693,22.584,2.283,28.277-7.577h0C274.981,288.552,271.572,275.827,261.712,270.135z"/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M290.546,120.945
+ c9.86,5.693,22.585,2.283,28.277-7.577v0c5.693-9.86,2.283-22.584-7.577-28.277l0,0c-9.86-5.693-22.584-2.283-28.277,7.577h0
+ C277.277,102.527,280.687,115.252,290.546,120.945z"/>
+<path style="fill:#F9B299;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M341.258,209.289l-131.597-75.978
+ c-9.86-5.693-22.585-2.283-28.277,7.577s-2.283,22.585,7.577,28.277l131.467,75.903v-23.903L341.258,209.289z"/>
+<path style="fill:#F8B197;stroke:#F9B299;stroke-width:0.25;stroke-miterlimit:10;" d="M582.908,175.797
+ c-0.085-0.051-0.161-0.11-0.247-0.16l-83.659-48.301c-9.86-5.693-22.584-2.283-28.277,7.577h0
+ c-5.693,9.86-2.283,22.585,7.577,28.277l28.588,16.505l41.386-23.894L582.908,175.797z"/>
+<polygon style="fill:#F48066;stroke:#F48066;stroke-width:0.25;stroke-miterlimit:10;" points="434.351,286.94 434.351,221.576
+ 377.389,188.689 377.389,221.576 377.389,254.053 320.427,221.166 320.427,245.068 320.427,286.529 377.389,319.416
+ 377.389,336.921 377.389,384.726 377.389,384.78 434.351,417.667 434.351,352.303 462.832,368.747 491.313,385.19 491.313,319.827
+ "/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="491.313,385.19 548.275,352.303
+ 548.275,318.712 548.275,286.94 491.313,319.827 "/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="548.275,221.576 548.275,286.94
+ 605.237,254.053 605.237,188.689 "/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="548.275,417.667 605.237,384.78
+ 605.237,319.416 548.275,352.303 "/>
+<polygon style="fill:#CE444E;stroke:#CE444E;stroke-width:0.25;stroke-miterlimit:10;" points="434.351,286.94 491.313,254.053
+ 491.313,188.689 434.351,221.576 "/>
+<polygon style="fill:#F38066;stroke:#F48066;stroke-width:0.25;stroke-miterlimit:10;" points="491.313,188.689 491.313,254.053
+ 548.275,286.94 548.275,221.576 "/>
+<polygon style="fill:#E35E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="434.351,286.94 491.313,319.827
+ 548.275,286.94 491.313,254.053 "/>
+<polygon style="fill:#E45E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="548.275,155.802 506.89,179.696
+ 491.313,188.689 548.275,221.576 605.237,188.689 582.908,175.797 "/>
+<polygon style="fill:#E35E54;stroke:#E45E54;stroke-width:0.25;stroke-miterlimit:10;" points="491.313,188.689 434.351,155.802
+ 434.166,155.909 392.766,179.812 377.389,188.689 434.351,221.576 "/>
+<g>
+ <g>
+ <path style="fill:#F8B197;" d="M754.404,335.341c-8.601,0-16.438-1.501-23.509-4.498c-7.073-2.997-12.985-7.325-17.737-12.984
+ l18.331-21.896c3.167,4.073,6.45,7.158,9.846,9.251c3.395,2.095,6.959,3.14,10.693,3.14c9.845,0,14.767-5.713,14.767-17.144
+ v-50.921h-40.906v-26.14h74.346v75.194c0,15.391-3.904,26.903-11.713,34.542C780.714,331.522,769.342,335.341,754.404,335.341z"/>
+ <path style="fill:#F8B197;" d="M840.121,332.965V214.148h54.146c10.863,0,20.255,1.755,28.177,5.262
+ c7.919,3.509,14.003,8.572,18.247,15.191c4.243,6.62,6.365,14.401,6.365,23.339c0,9.166-2.122,16.974-6.365,23.424
+ c-4.244,6.45-10.328,11.401-18.247,14.853c-7.922,3.453-17.313,5.177-28.177,5.177h-35.646l15.107-14.258v45.829H840.121z
+ M873.729,291.039l-15.107-15.615h33.608c7.015,0,12.277-1.528,15.786-4.583c3.506-3.056,5.262-7.354,5.262-12.9
+ c0-5.317-1.756-9.532-5.262-12.646c-3.509-3.111-8.771-4.668-15.786-4.668h-33.608l15.107-15.446V291.039z M913.448,332.965
+ l-29.535-43.283h35.815l29.704,43.283H913.448z"/>
+ <path style="fill:#F8B197;" d="M1024.286,335.341c-9.845,0-19.266-1.217-28.262-3.649c-8.996-2.432-16.269-5.516-21.812-9.25
+ l11.033-24.952c5.317,3.395,11.457,6.195,18.417,8.402c6.959,2.206,13.889,3.31,20.793,3.31c4.752,0,8.513-0.395,11.287-1.188
+ c2.771-0.791,4.809-1.923,6.11-3.396c1.3-1.469,1.952-3.225,1.952-5.262c0-2.602-1.246-4.668-3.734-6.195
+ c-2.49-1.527-5.744-2.827-9.76-3.904c-4.018-1.074-8.375-2.092-13.069-3.055c-4.697-0.96-9.479-2.233-14.344-3.819
+ c-4.866-1.583-9.279-3.676-13.239-6.28c-3.962-2.602-7.158-5.997-9.59-10.185c-2.436-4.185-3.649-9.447-3.649-15.786
+ c0-7.015,1.923-13.409,5.771-19.181c3.846-5.771,9.676-10.41,17.483-13.918c7.808-3.506,17.539-5.262,29.195-5.262
+ c7.808,0,15.473,0.878,22.999,2.631c7.524,1.756,14.174,4.387,19.944,7.893l-10.185,24.782
+ c-5.659-3.167-11.261-5.487-16.804-6.959c-5.546-1.469-10.922-2.207-16.125-2.207c-4.642,0-8.376,0.509-11.203,1.528
+ c-2.83,1.018-4.866,2.32-6.11,3.904c-1.246,1.586-1.867,3.283-1.867,5.092c0,2.715,1.244,4.837,3.734,6.365
+ c2.487,1.528,5.713,2.774,9.675,3.734c3.96,0.963,8.344,1.952,13.155,2.971c4.808,1.019,9.59,2.291,14.343,3.819
+ c4.753,1.527,9.137,3.564,13.154,6.11c4.016,2.546,7.27,5.885,9.761,10.015c2.487,4.132,3.733,9.309,3.733,15.531
+ c0,6.903-1.951,13.269-5.855,19.096c-3.904,5.829-9.76,10.497-17.568,14.003C1045.843,333.586,1036.054,335.341,1024.286,335.341z
+ "/>
+ <path style="fill:#F8B197;" d="M1169.241,335.341c-9.395,0-18.136-1.527-26.225-4.583c-8.092-3.055-15.081-7.383-20.963-12.984
+ c-5.886-5.602-10.497-12.163-13.834-19.689c-3.339-7.524-5.007-15.757-5.007-24.697c0-8.826,1.668-16.974,5.007-24.442
+ c3.337-7.469,7.948-14.003,13.834-19.605c5.882-5.602,12.842-9.93,20.878-12.985c8.033-3.056,16.804-4.583,26.31-4.583
+ c9.505,0,18.273,1.527,26.31,4.583c8.033,3.055,14.992,7.357,20.878,12.9c5.882,5.546,10.494,12.052,13.833,19.52
+ c3.337,7.469,5.008,15.675,5.008,24.612c0,9.055-1.642,17.343-4.923,24.866c-3.283,7.527-7.893,14.062-13.834,19.605
+ c-5.94,5.545-12.929,9.845-20.962,12.899C1187.515,333.813,1178.746,335.341,1169.241,335.341z M1169.241,307.504
+ c4.524,0,8.741-0.79,12.646-2.376c3.903-1.584,7.299-3.875,10.184-6.875c2.886-2.997,5.148-6.562,6.79-10.693
+ c1.639-4.129,2.461-8.797,2.461-14.003c0-5.204-0.822-9.872-2.461-14.004c-1.642-4.129-3.904-7.693-6.79-10.693
+ c-2.885-2.997-6.28-5.289-10.184-6.875c-3.904-1.583-8.121-2.376-12.646-2.376c-4.527,0-8.742,0.793-12.646,2.376
+ c-3.904,1.586-7.328,3.877-10.27,6.875c-2.944,3-5.206,6.564-6.79,10.693c-1.586,4.132-2.376,8.8-2.376,14.004
+ c0,5.206,0.79,9.874,2.376,14.003c1.584,4.132,3.846,7.696,6.79,10.693c2.941,3,6.365,5.291,10.27,6.875
+ C1160.499,306.714,1164.714,307.504,1169.241,307.504z"/>
+ <path style="fill:#F8B197;" d="M1270.064,332.965V214.148h27.667l65.35,79.098h-13.07v-79.098h32.93v118.817h-27.667
+ l-65.52-79.099h13.069v79.099H1270.064z"/>
+ <path style="fill:#F8B197;" d="M1423.848,332.965V214.148h27.667l65.35,79.098h-13.07v-79.098h32.93v118.817h-27.667
+ l-65.52-79.099h13.069v79.099H1423.848z"/>
+ <path style="fill:#F8B197;" d="M1610.729,306.825h62.124v26.14h-95.223V214.148h93.017v26.14h-59.918V306.825z M1608.354,260.146
+ h55.165v24.952h-55.165V260.146z"/>
+ <path style="fill:#F8B197;" d="M1733.79,332.965v-92.168h-36.494v-26.649h106.427v26.649h-36.324v92.168H1733.79z"/>
+ </g>
+</g>
+</svg>