jsonnet数据模板语言
有关jsonnet和文档的介绍,请访问我们的网站。
该存储库包含原始实现。您还可以尝试使用Go- jsonnet ,这是一种较新的实现,在某些情况下是更快的数量级,建议优先使用C ++版本。
访问我们的讨论论坛。
安全注意:如果您需要处理不信任的输入(不信任的jsonnet代码),则最好不要使用C ++实现,因为它不会用于该用例。预期的用例是用于评估您 /您的组织所撰写的jsonnet代码,并且信任不要恶意。
软件包
jsonnet可在Homebrew上使用:
brew install jsonnet
jsonnet可在MSYS2上找到:
pacman -S mingw-w64-clang-i686- jsonnet
pacman -S mingw-w64-clang-x86_64- jsonnet
pacman -S mingw-w64-i686- jsonnet
pacman -S mingw-w64-x86_64- jsonnet
pacman -S mingw-w64-ucrt-x86_64- jsonnet
Python结合在PYPI上:
pip install jsonnet
您还可以使用VCPKG依赖项管理器下载并安装jsonnet :
jsonnet\”>
git clone https://git*hub*.*com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
vcpkg install jsonnet
Microsoft团队成员和社区贡献者保持了VCPKG的jsonnet端口。如果该版本已过时,请在VCPKG存储库上创建问题或拉出请求。
建筑jsonnet
您可以使用GCC或Clang来构建jsonnet 。请注意,在最近版本的MacOS, /usr/bin/gcc和/usr/bin/g++上实际上是clang的,因此没有差异。
makefile
要使用GCC构建jsonnet ,请运行:
make
要与Clang构建jsonnet ,请运行:
make CC=clang CXX=clang++
要运行输出二进制,请运行:
./ jsonnet
要运行改革者,请运行:
./ jsonnet fmt
巴泽尔
也支持Bazel构建。如果尚未安装Bazel,请安装。然后,运行以下命令以使用GCC构建:
bazel build -c opt //cmd:all
要使用Clang构建,请使用以下两个选项之一:
env CC=clang CXX=clang++ bazel build -c opt //cmd:all
# OR
bazel build -c opt --action_env=CC=clang --action_env=CXX=clang++ //cmd:all
这构建了cmd/BUILD中定义的jsonnet和jsonnet fmt目标。要启动输出二进制文件,请运行:
jsonnet
bazel-bin/cmd/ jsonnet fmt\”>
bazel-bin/cmd/ jsonnet
bazel-bin/cmd/ jsonnet fmt
cmake
cmake . -Bbuild
cmake --build build --target run_tests
贡献
请参阅我们网站上的贡献页面。
开发jsonnet
运行测试
运行全面的套房:
make test
本地为网站服务
您需要一个doc/js/lib jsonnet .wasm
jsonnet .wasm\”>
wget https://**jsonnet*.org/js/lib jsonnet .wasm -O doc/js/lib jsonnet .wasm
或者,您可以自己构建它,这需要检查Go jsonnet 。有关说明,请参见该回购中的readme.md。
标准库以doc/_stdlib_gen/stdlib-content. jsonnet 。使用以下命令将HTML(Jekyll的输入)重新生成:
tools/scripts/update_web_content.sh
然后,从存储库的根部您可以使用Jekyll生成并为网站提供服务(您需要版本4.3.0或更高版本):
jekyll serve -s doc/
这应该在本地建立和服务网站,并在更改任何基础文件时自动重建。
