Реализирайте визуализация на данни в Rust, използвайки подход, подобен на HTML/шаблоните.
`go_html_template` е Rust библиотека, която пресъздава основните функционалности на Go за работа с HTML шаблони. Тя поддържа синтаксиса на шаблоните, вериги от операции, механизми за безопасно извеждане на данни в зависимост от контекста и блокиране на потенциално опасни URL адреси, като същевременно запазва познат интерфейс.
API шаблон, подобен на Go.
Използвайте `Template::new(...).parse(...).execute(...)` с функциите за дефиниране, шаблони, обхвати, условни конструкции и конвейери.
Избягване, съобразено с контекста.
Прилага контекстно-зависимо екраниране за HTML текст, атрибути, URL адреси и контексти за скриптове/стилове, и блокира опасни JavaScript URL адреси.
Режим "web-rust".
С функцията "web-rust", командите "parse_files", "parse_glob" и "parse_fs" са деактивирани, за да се осигури зареждането на шаблоните само в паметта.
Настройка и основни функции.
Добавете пакета и след това проверете минимален процес на парсиране и изпълнение, който връща резултат като низ. В средите, използващи web-rust, използвайте шаблони, съхранени в паметта, вместо API-та за зареждане на файлове.
Инсталирайте.
cargo: добавяне на шаблон за HTML.
Пример с езика Rust.
use go_html_template::{Template, Value};
fn main() -> Result<(), Box> {
let tpl = Template::new("page")
.parse(r#"{{.Title}}
{{.Body | safe_html}}
"#)?;
let out = tpl.execute_to_string(&serde_json::json!({
"Title": "go_html_template",
"Body": "trusted"
}))?;
println!("{}", out);
Ok(())
}
Състояние на съвместимостта.
`go_html_template` в момента. Внедрява основни работни процеси, като същевременно продължава да отстранява несъответствията. Все още не е постигната пълна съвместимост с библиотеките `html/template` на Go, така че е важно да проверите поведението в шаблоните, които използвате в реална среда.
Следващо.
README / Пълни спецификации.