Реализирайте визуализация на данни в 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.

src/main.rs
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, така че е важно да проверите поведението в шаблоните, които използвате в реална среда.