#liquid #template #templating

liquid-filter-reverse-string

用于液体模板引擎的反转字符串过滤器

2个版本

0.1.1 2023年10月3日
0.1.0 2023年10月3日

#311 in 模板引擎

MIT/Apache

5KB

Rust的液体过滤器,用于反转字符串

liquid 库,是 liquid 模板系统的Rust实现,具有许多过滤器来操作模板中的数据,但据我所知,没有过滤器可以反转字符串。

该库最初是为了展示如何向液体添加过滤器而开发的。

用法

  • Cargo.toml:
[dependencies]
liquid = "0.26"
liquid-filter-reverse-string = "0.1"
  • src/main.rs:
use liquid_filter_reverse_string::ReverseStr;

fn main() {
    let template = "reversed: {{text | reversestr}}";
    let text = "Hello World!";

    let result = render(&template, &text);
    println!("{}", result);
    assert_eq!(result, "reversed: !dlroW olleH");
}


fn render(tmpl: &str, text: &str) -> String {
    let globals = liquid::object!({
        "text": text,
    });

    let template = liquid::ParserBuilder::with_stdlib()
        .filter(ReverseStr)
        .build()
        .unwrap()
        .parse(tmpl).unwrap();

    let output = template.render(&globals).unwrap();
    return output
}

重要部分

use 语句

use liquid_filter_reverse_string::ReverseStr;

在模板中使用 reversestr 过滤器

let template = "reversed: {{text | reversestr}}";
  • 将过滤器添加到引擎
  .filter(ReverseStr)

发布

  • Cargo.toml 中更新 version
cargo publish
git tag -a v0.1.0 -m v0.1.0
git push --tags

依赖关系

~8.5MB
~155K SLoC