#template #engine #templo

templo_engine

该包是一个用于Templo工具的模板引擎,用于在文本文件中插入参数。

3个不稳定版本

0.2.0 2021年12月14日
0.1.5 2021年11月7日

#331 in 模板引擎

MIT 许可证

28KB
643

Templo Engine

文本文件中插入和修改变量的模板引擎。

示例

输入文本可以包含一些由 "{> arg <}" 表示的占位符。这些占位符将用于插入传递给引擎的参数。引擎还提供了一些原生函数来操作参数值。

input.py

class {> upper_first(class_name) <}:
    def __init__(self):
    self.name = '{> class_name <}'

obj = {> upper_first(class_name) <}()

print(f'The class name is {obj.name}')

执行

use templo_engine::*;

// Getting the input text
let input_text = std::fs::read_to_string("./input.py").unwrap();

// The arguments
let arguments = vec![
    EngineArg {
        key: String::from("class_name"),
        value: String::from("dog"),
        value_type: EngineArgType::String,
    }
];

// Inserting the arguments on text
let engine = Engine::new(arguments);
let text = engine.compile(input_text);

// writing the output file
std::fs::write("./output.py", text.unwrap()).unwrap();

output.py

class Dog:
    def __init__(self):
    self.name = 'dog'

obj = Dog()

print(f'The class name is {obj.name}')

依赖项

~2.2–3MB
~53K SLoC