#语法 #解析器 #插值 #注释 #文本 #应用 #变量

envja

用于解析/应用类似Jinja2语法的库

2个不稳定版本

0.2.0 2019年3月25日
0.1.0 2019年3月19日

#274 in 值格式化


用于 envja-cli

MIT 许可证

13KB
374

Envja

Codefresh build status

在Jinja2-lite语法中执行环境变量插值。

包含CLI和库组件。

如何安装CLI

通过 cargo

cargo install envja

简单示例

直接

envja direct '{% if VAL %}VAL={{VAL}}{% endif %}'

应该返回空字符串,因为VAL环境变量不存在。

VAL=hello envja direct '{% if VAL %}VAL={{VAL}}{% endif %}'

应该返回 VAL=hello

通过STDIN直接

设置与直接类似

echo -n '{% if VAL %}VAL={{VAL}}{% endif %}' | envja direct
echo -n '{% if VAL %}VAL={{VAL}}{% endif %}' | VAL=hello envja direct

通过文件

设置与直接类似

echo -n '{% if VAL %}VAL={{VAL}}{% endif %}' > test.tmpl
envja file test.tmpl
rm test.tmpl
echo -n '{% if VAL %}VAL={{VAL}}{% endif %}' > test.tmpl
VAL=hello envja file test.tmpl
rm test.tmpl

复杂示例

echo '{% if LINUX_HEADER %}#include <{{LINUX_HEADER}}>{% endif %}
int main() {
    return {{ RET }};
}' > test.tmpl
LINUX_HEADER=unistd.h RET=123 envja file test.tmpl
rm test.tmpl

应该打印

#include <unistd.h>
int main() {
    return 123;
}

语法接受

if语句

{% if ENV %}ENV value is {{ ENV }}{% endif %}

表达式

{{ ENV }}

注释

{# comments #}

普通文本

Regular text

依赖

~2.1–2.9MB
~58K SLoC