shtml

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2023 License: EUPL-1.2 Imports: 12 Imported by: 3

Documentation

Overview

Package shtml transforms a s-expr encoded zettel AST into a s-expr representation of HTML.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsSafe

func IsSafe(s string) bool

IsSafe returns true if the given string does not contain unsafe HTML elements.

Types

type RebindProc

type RebindProc func(*TransformEnv)

RebindProc is a procedure which is called every time before a tranformation takes place.

type TransformEnv

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

TransformEnv is the environment where the actual transformation takes places.

func (*TransformEnv) Make

func (te *TransformEnv) Make(name string) *sxpf.Symbol

func (*TransformEnv) Rebind

func (te *TransformEnv) Rebind(name string, fn func([]sxpf.Object, eval.Callable) sxpf.Object)

type Transformer

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

Transformer will transform a s-expression that encodes the zettel AST into an s-expression that represents HTML.

func NewTransformer

func NewTransformer(headingOffset int, sf sxpf.SymbolFactory) *Transformer

NewTransformer creates a new transformer object.

func (*Transformer) Endnotes

func (tr *Transformer) Endnotes() *sxpf.List

Endnotes returns a SHTML object with all collected endnotes.

func (*Transformer) IsValidName

func (tr *Transformer) IsValidName(s string) bool

IsValidName returns true, if name is a valid symbol name.

func (*Transformer) Make

func (tr *Transformer) Make(s string) *sxpf.Symbol

Make a new HTML symbol.

func (*Transformer) SetRebinder

func (tr *Transformer) SetRebinder(rb RebindProc)

SetRebinder sets the rebinder procedure.

func (*Transformer) SetUnique

func (tr *Transformer) SetUnique(s string)

SetUnique sets a prefix to make several HTML ids unique.

func (*Transformer) SymbolFactory

func (tr *Transformer) SymbolFactory() sxpf.SymbolFactory

SymbolFactory returns the symbol factory to create HTML symbols.

func (*Transformer) Transform

func (tr *Transformer) Transform(lst *sxpf.List) (*sxpf.List, error)

Transform an AST s-expression into a list of HTML s-expressions.

func (*Transformer) TransformAttrbute

func (tr *Transformer) TransformAttrbute(a attrs.Attributes) *sxpf.List

TransformAttrbute transforms the given attributes into a HTML s-expression.

func (*Transformer) TransformMeta

func (tr *Transformer) TransformMeta(a attrs.Attributes) *sxpf.List

TransformMeta creates a HTML meta s-expression

Jump to

Keyboard shortcuts

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