Implementare il rendering nello stile di HTML/template in Rust.
`go_html_template` è una libreria Rust che replica i principali flussi di lavoro di Go per la gestione dei template HTML. Supporta la sintassi dei template, le pipeline, la gestione dell'escaping in base al contesto e il blocco di schemi URL non sicuri, mantenendo al contempo un'interfaccia API familiare.
API per modelli nello stile di Go.
Utilizzare `Template::new(...).parse(...).execute(...)` sfruttando le funzionalità di definizione, template, intervallo, "with" e pipeline.
Fuga contestualmente consapevole.
Applica una codifica adattabile al contesto per il testo HTML, gli attributi, gli attributi degli URL e i contesti di script/stile, e blocca gli URL JavaScript potenzialmente pericolosi.
Modalità "web-rust".
Con la funzionalità "web-rust", le funzioni `parse_files`, `parse_glob` e `parse_fs` vengono disabilitate, in modo da poter forzare il caricamento dei modelli direttamente in memoria.
Configurazione e utilizzo di base.
Aggiungere la crate, quindi verificare un flusso minimo di analisi e esecuzione con conversione in stringa. Negli ambienti web-rust, utilizzare stringhe di template in memoria invece di API per il caricamento di file.
Installa.
cargo add go_html_template
Esempio in 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(())
}
Stato di compatibilità.
`go_html_template` attualmente. implementa i processi fondamentali, continuando al contempo a colmare le lacune di compatibilità. Al momento, la compatibilità con il pacchetto `html/template` di Go non è ancora perfetta, quindi verificate il comportamento nei vostri modelli utilizzati in produzione.
Precedente.
Elenco OSS.Avanti.
README / Specifiche complete.