#html-templating #template #html

rspack_dojang

Dojang,一个类似EJS的HTML模板引擎

2个版本

新增 0.1.8 2024年8月23日
0.1.7 2024年8月22日

#107 in 模板引擎

Download history

每月下载量 52

MIT许可证

165KB
4.5K SLoC

rspack_dojang

[!NOTE]
这是dojang的分支,将在Rspack中修复错误并添加一些Rspack自定义功能。

Test and Coverage

Dojang是一个HTML模板引擎,可以作为EJS的替代品。尽管它不完全支持JavaScript语法,但它支持足够的语法以覆盖基本用法。

特性

  • 支持基本的JavaScript。(if, for, while等)
  • 支持脚本和输出标签。(<%, <%-, <%=)
  • 支持调用外部函数。

如何使用?

use rspack_dojang::Dojang;
use serde_json::Value;

// Create a template engine Dojang.
let mut dojang = Dojang::new();

// Load template file under '/my/template/files'
assert!(dojang.load("/my/template/files").is_ok());

// Render a template. "some_template" is the one of the template file under /my/template/files. 
// Note that the context should be provided as a serde_json value.
assert_eq!(
    dojang
        .render(
            "some_template",
            serde_json::from_str(r#"{ "a" : 1 }"#).unwrap()
        )
        .unwrap(),
    " Hi "
    );

assert_eq!(
    dojang
        .render(
            "some_template",
            serde_json::from_str(r#"{ "a" : 2 }"#).unwrap()
        )
        .unwrap(),
    "2"
    );

即将推出功能。

  • 支持文件包含(<%- .. >)
  • 优化。

依赖项

~0.6–1.2MB
~24K SLoC