3 releases
0.1.9 | Aug 28, 2024 |
---|---|
0.1.8 | Aug 23, 2024 |
0.1.7 | Aug 22, 2024 |
#87 in Template engine
1,090 downloads per month
165KB
4.5K
SLoC
rspack_dojang
[!NOTE]
This is a fork of dojang, and will be used in Rspack to fix bugs and add some Rspack customized features.
Dojang is a Html template engine, as a drop in replacement for EJS. Though it does not supports 100% of the javascript syntax, it supports enough to cover the basic usages.
Features
- Supports basic javascript. (if, for, while, etc.)
- Supports script and output tags. (<%, <%-, <%=)
- Supports calling external functions.
How to use?
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"
);
Features coming soon.
- Support for file includes (<%- .. >)
- Optimization.
Dependencies
~0.6–1.1MB
~24K SLoC