#filter #liquid #heck #snake #camel

liquid-heck

使用Heck库对Liquid的Case转换(CamelCase, snake_case, ...)过滤器

1个不稳定版本

0.1.0 2024年3月4日

#353 in 模板引擎

MIT许可证

15KB
311 代码行

liquid-heck

使用Heck库对Liquid的Case转换(CamelCase, snake_case, ...)过滤器。

此库为Liquid模板引擎提供Case转换过滤器,利用Heck库进行Case转换。

... 在 filter() ... 在模板中
中划线Case kebabcase
小驼峰Case lowercamelcase
大写中划线Case shoutykebabcase
大写snakeCase shoutysnakecase
snakeCase snakecase
标题Case titlecase
列车Case traincase
大驼峰Case uppercamelcase

示例

要在Liquid模板中使用Case转换过滤器,首先需要注册这些过滤器。

use liquid_heck::{UpperCamelCase,SnakeCase,TrainCase};

let template = liquid::ParserBuilder::with_stdlib()
    .filter(UpperCamelCase)	// Register the filters
    .filter(SnakeCase)
    .filter(TrainCase)
    .build().unwrap()
    .parse("{{text | uppercamelcase}} {{text | snakecase}} {{text | traincase}}").unwrap();

let mut globals = liquid::object!({
    "text": "Some text to convert"
});

let output = template.render(&globals).unwrap();
assert_eq!(output, "SomeTextToConvert some_text_to_convert Some-Text-To-Convert".to_string());

依赖项

~6–8MB
~153K SLoC