Skip to content

templates #

fn bool_to_any #

fn bool_to_any(val bool) vm.Any

bool_to_any converts bool to VeeMarker Any

fn int_to_any #

fn int_to_any(val int) vm.Any

int_to_any converts int to VeeMarker Any

fn list_to_any #

fn list_to_any(val []vm.Any) vm.Any

list_to_any converts array to VeeMarker Any

fn map_to_any #

fn map_to_any(val map[string]vm.Any) vm.Any

map_to_any converts map to VeeMarker Any

fn new_renderer #

fn new_renderer(config RendererConfig) !&Renderer

new_renderer creates a new template renderer

fn string_to_any #

fn string_to_any(val string) vm.Any

string_to_any converts string to VeeMarker Any

fn to_veemarker_data #

fn to_veemarker_data(data map[string]string) map[string]vm.Any

to_veemarker_data converts a string map to VeeMarker Any map

struct Renderer #

@[heap]
struct Renderer {
pub mut:
	engine vm.Engine
	config RendererConfig
}

Renderer wraps VeeMarker engine for template rendering

fn (Renderer) render #

fn (mut r Renderer) render(template_path string, data map[string]vm.Any) !string

render renders a template file with data

fn (Renderer) render_string #

fn (mut r Renderer) render_string(template string, data map[string]vm.Any) !string

render_string renders a template string with data

fn (Renderer) render_with_layout #

fn (mut r Renderer) render_with_layout(template_path string, data map[string]vm.Any) !string

render_with_layout renders a template wrapped in a layout

fn (Renderer) render_error_404 #

fn (mut r Renderer) render_error_404(path string, message string) !string

render_error_404 renders the 404 error page

fn (Renderer) render_error_500 #

fn (mut r Renderer) render_error_500(error_msg string, stack_trace string, request_path string) !string

render_error_500 renders the 500 error page

struct RendererConfig #

struct RendererConfig {
pub:
	template_dir string = 'views'                    // Directory containing templates
	dev_mode     bool   = true                       // Enable dev mode (no caching)
	layout       string = 'layouts/application.vtpl' // Default layout template
}

RendererConfig configures the template renderer