Current section

Files

Jump to
glemplate src glemplate html.gleam
Raw

src/glemplate/html.gleam

//// Utilities for rendering HTML templates.
import gleam/string_tree.{type StringTree}
import glemplate/assigns
import glemplate/ast
import glemplate/renderer
import glentities
/// Encode content as HTML entities so it's safe in an HTML template.
///
/// Note! This is not safe for use in `<script>` or `<style>` tags!
pub fn encode(text: String) -> StringTree {
glentities.encode(text, glentities.HTMLBody)
|> string_tree.from_string()
}
/// Render an HTML template.
pub fn render(
template: ast.Template,
assigns: assigns.Assigns,
template_cache: renderer.TemplateCache,
) -> renderer.RenderResult {
renderer.render(
template,
assigns,
renderer.RenderOptions(encoder: encode, template_cache: template_cache),
)
}