renderer

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WrapTheme

func WrapTheme(themeFs afero.Fs, themeFile string, content []byte, props map[string]any) ([]byte, error)

Types

type DefaultRenderer

type DefaultRenderer struct {
}

func (*DefaultRenderer) Close

func (r *DefaultRenderer) Close(node tree.Node, context *RenderContext) error

func (*DefaultRenderer) Kind

func (r *DefaultRenderer) Kind() tree.NodeKind

func (*DefaultRenderer) Open

func (r *DefaultRenderer) Open(node tree.Node, context *RenderContext) error

type EntryRenderer

type EntryRenderer interface {
	Kind() tree.NodeKind
	Open(node tree.Node, context *RenderContext) error
	Close(node tree.Node, context *RenderContext) error
}

type RenderContext

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

func (*RenderContext) CreateFile

func (rc *RenderContext) CreateFile(path string) (io.Writer, error)

func (*RenderContext) CurrentFile

func (rc *RenderContext) CurrentFile() afero.File

func (*RenderContext) MkdirAll

func (rc *RenderContext) MkdirAll(path string, perm fs.FileMode) error

func (*RenderContext) PopDir

func (rc *RenderContext) PopDir() string

func (*RenderContext) PopFile

func (rc *RenderContext) PopFile() afero.File

func (*RenderContext) PushDir

func (rc *RenderContext) PushDir(dir string)

func (*RenderContext) Source

func (rc *RenderContext) Source(node tree.Node) ([]byte, error)

func (*RenderContext) WorkDir

func (rc *RenderContext) WorkDir() string

type Renderer

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

func New

func New(opts ...RendererOption) *Renderer

func (*Renderer) Render

func (r *Renderer) Render(site *tree.Site) error

type RendererOption

type RendererOption interface {
	Apply(*Renderer) error
}

type RendererOptionFunc

type RendererOptionFunc func(*Renderer) error

func WithBuildFS

func WithBuildFS(buildFS afero.Fs) RendererOptionFunc

func WithEntryRenderers

func WithEntryRenderers(renderers ...EntryRenderer) RendererOptionFunc

func WithFS

func WithFS(siteFS afero.Fs, themeFS afero.Fs, buildFS afero.Fs) RendererOptionFunc

func WithSiteFS

func WithSiteFS(siteFS afero.Fs) RendererOptionFunc

func WithThemeFS

func WithThemeFS(themeFS afero.Fs) RendererOptionFunc

func (RendererOptionFunc) Apply

func (apply RendererOptionFunc) Apply(p *Renderer) error

type Templater

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

func NewTemplater

func NewTemplater(fsys fs.FS) *Templater

func (*Templater) Render

func (ev *Templater) Render(source io.Reader, currentFile string, props map[string]any, w io.Writer) error

Jump to

Keyboard shortcuts

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