view

package module
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 3, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Package view provides Renderer, source scanning, and HTML template rendering.

Index

Constants

View Source
const DefaultPattern = "**/*.{html,tmpl,tpl}"

Variables

This section is empty.

Functions

func Provider

func Provider() runaprovider.Provider

Provider registers the view registry.

Types

type Context

type Context interface {
	Context() context.Context
}

Context is the minimal route context used by renderers.

type File

type File struct {
	Name    string
	Path    string
	Size    int64
	ModTime time.Time
	Source  Source
}

File describes one matched source file.

func Files

func Files(source Source) ([]File, error)

Files scans matching files from a source.

type HTMLRenderer

type HTMLRenderer struct {
	// contains filtered or unexported fields
}

HTMLRenderer renders templates with html/template.

func (*HTMLRenderer) Func

func (renderer *HTMLRenderer) Func(name string, fn any) *HTMLRenderer

Func registers a template function.

func (*HTMLRenderer) Funcs

func (renderer *HTMLRenderer) Funcs(funcs template.FuncMap) *HTMLRenderer

Funcs registers template functions.

func (*HTMLRenderer) Load

func (renderer *HTMLRenderer) Load(ctx context.Context, set *Set) error

Load scans sources and parses templates.

func (*HTMLRenderer) Render

func (renderer *HTMLRenderer) Render(ctx Context, writer io.Writer, name string, data any) error

Render renders one template by name.

func (*HTMLRenderer) ViewSet

func (renderer *HTMLRenderer) ViewSet() Set

ViewSet exposes renderer sources.

type Info

type Info struct {
	Name    string
	Default bool
}

Info describes one view domain.

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

Registry stores named view domains.

func Default

func Default() *Registry

Default returns the default app view registry.

func New

func New() *Registry

New creates a registry.

func (*Registry) ContextFunc

func (registry *Registry) ContextFunc(name string, build func(context.Context) any) *Registry

ContextFunc registers a request-scoped template helper for all subsequently registered view domains.

func (*Registry) Func

func (registry *Registry) Func(name string, fn any) *Registry

Func registers a static template helper for all subsequently registered view domains.

func (*Registry) Funcs

func (registry *Registry) Funcs(funcs map[string]any) *Registry

Funcs registers static template helpers for all subsequently registered view domains.

func (*Registry) Info

func (registry *Registry) Info() []Info

Info returns view domain snapshots.

func (*Registry) Register

func (registry *Registry) Register(ctx context.Context, name string, renderer Renderer) error

Register adds or replaces a view renderer.

func (*Registry) Render

func (registry *Registry) Render(ctx Context, writer io.Writer, domain string, name string, data any) error

Render renders a named template from a domain.

func (*Registry) RenderString

func (registry *Registry) RenderString(ctx Context, domain string, name string, data any) (string, error)

RenderString renders into a string.

type Renderer

type Renderer interface {
	Load(ctx context.Context, set *Set) error
	Render(ctx Context, writer io.Writer, name string, data any) error
}

Renderer loads and renders one view domain.

func HTML

func HTML(sources ...Source) Renderer

HTML creates a standard html/template renderer.

type RendererFunc

type RendererFunc func(ctx Context, writer io.Writer, name string, data any) error

RendererFunc adapts a function to Renderer.

func (RendererFunc) Load

Load is a no-op for RendererFunc.

func (RendererFunc) Render

func (fn RendererFunc) Render(ctx Context, writer io.Writer, name string, data any) error

Render renders through fn.

type Set

type Set struct {
	Name         string
	Sources      []Source
	Funcs        map[string]any
	ContextFuncs map[string]func(context.Context) any
}

Set stores one named view domain.

type Source

type Source struct {
	FS       fs.FS
	Root     string
	Patterns []string
	// contains filtered or unexported fields
}

Source describes one template or asset source.

func Dir

func Dir(root string, patterns ...string) Source

Dir creates a local directory source.

func Embed

func Embed(source fs.FS, root string, patterns ...string) Source

Embed creates an embedded filesystem source.

func (Source) Dev

func (source Source) Dev(dev Source) Source

Dev sets a development override source.

func (Source) Reload

func (source Source) Reload(value bool) Source

Reload sets whether this source reloads before render.

func (Source) ReloadEnabled

func (source Source) ReloadEnabled() bool

ReloadEnabled reports whether reload is enabled.

func (Source) UseDev

func (source Source) UseDev() Source

UseDev returns the development source when configured.

Directories

Path Synopsis
internal
Package rhtml provides Runa's enhanced HTML template renderer.
Package rhtml provides Runa's enhanced HTML template renderer.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL