renderer

package
v0.3.22 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2025 License: MIT Imports: 39 Imported by: 1

Documentation

Overview

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

templ: version: v0.3.833

Index

Constants

View Source
const DefaultColumnWidth = 140

Variables

View Source
var FontSize = map[int]int{
	14:  10,
	16:  10,
	18:  11,
	20:  13,
	22:  14,
	24:  16,
	26:  16,
	30:  20,
	32:  20,
	36:  24,
	40:  24,
	42:  24,
	44:  24,
	48:  28,
	56:  40,
	64:  40,
	80:  64,
	96:  64,
	108: 64,
	128: 64,
}
View Source
var GOOGLE_MAPS = "AIzaSyAgXu3wCb6mPJv4wNWKe2E3YycaYuqFm9o"
View Source
var IconSize = map[int32]int32{
	14:  14,
	16:  16,
	18:  16,
	20:  18,
	22:  18,
	24:  20,
	26:  22,
	28:  22,
	32:  28,
	36:  24,
	40:  24,
	42:  24,
	44:  24,
	48:  24,
	56:  32,
	64:  32,
	80:  56,
	96:  56,
	108: 64,
	112: 64,
	128: 64,
	160: 160,
	360: 360,
}

Functions

func ActiveCheckBoxTemplate

func ActiveCheckBoxTemplate(name string, isFeatured bool) templ.Component

func AdditionalIconTemplate

func AdditionalIconTemplate(iconTemplate templ.Component) templ.Component

func AdditionalQuoteTemplate

func AdditionalQuoteTemplate(color string) templ.Component

func ArchivedLinkTemplate

func ArchivedLinkTemplate() templ.Component

func AudioTemplate

func AudioTemplate(p *FileMediaRenderParams) templ.Component

func BasicTemplate

func BasicTemplate(class string, value string) templ.Component

func BlockTemplate

func BlockTemplate(r *Renderer, p *BlockParams) templ.Component

func BlocksWrapper

func BlocksWrapper(p *BlockWrapperParams) templ.Component

wraps multiple components

func BookmarkLinkTemplate

func BookmarkLinkTemplate(url templ.SafeURL, classes []string, innerComponents []templ.Component) templ.Component

func BulletMarkerTemplate

func BulletMarkerTemplate(color string) templ.Component

func CellTemplate

func CellTemplate(params *RelationRenderSetting, component templ.Component) templ.Component

func CheckboxCheckedTemplate

func CheckboxCheckedTemplate() templ.Component

func CheckboxUncheckedTemplate

func CheckboxUncheckedTemplate() templ.Component

func Comment

func Comment(text string) templ.ComponentFunc

func CoverBlockTemplate

func CoverBlockTemplate(r *Renderer, p *CoverRenderParams) templ.Component

func CoverDefaultTemplate

func CoverDefaultTemplate(p *CoverRenderParams) templ.Component

func CoverImageTemplate

func CoverImageTemplate(p *CoverRenderParams) templ.Component

func DeletedLinkTemplate

func DeletedLinkTemplate(icon templ.Component) templ.Component

func DisabledCheckBoxTemplate

func DisabledCheckBoxTemplate(name string, isFeatured bool) templ.Component

func DivDotTemplate

func DivDotTemplate() templ.Component

func DivLineTemplate

func DivLineTemplate() templ.Component

func EmbedData

func EmbedData(data EmbedIframeData) templ.ComponentScript

func EmojiTemplate

func EmojiTemplate(emojiPath, sizeClass string) templ.Component

func FileImageTemplate

func FileImageTemplate(r *Renderer, p *FileMediaRenderParams) templ.Component

func FilePDFTemplate

func FilePDFTemplate(r *Renderer, p *FileMediaRenderParams) templ.Component

func GetAlignString

func GetAlignString(b *model.Block) string

func GetWidth

func GetWidth(fields *types.Struct) string

func HeadingTemplate

func HeadingTemplate(id string, name string, depth int) templ.Component

func IconObjectTemplate

func IconObjectTemplate(r *Renderer, p *IconObjectParams) templ.Component

func IframeEmbedTemplate added in v0.3.19

func IframeEmbedTemplate(r *Renderer, p *EmbedRenderParams) templ.Component

func ImageTemplate

func ImageTemplate(p *FileMediaRenderParams) templ.Component

func ImageWithSourceTemplate

func ImageWithSourceTemplate(imageSrc, class string) templ.Component

func InlineEmojiTemplate

func InlineEmojiTemplate(emojiPath, sizeClass string) templ.Component

func LinkItemTemplate

func LinkItemTemplate(cardClass, itemClass, value string) templ.Component

func LinkTemplate

func LinkTemplate(p *LinkRenderParams) templ.Component

func ListElement

func ListElement(component templ.Component, icon templ.Component) templ.Component

func ListTemplate

func ListTemplate(more string, components []templ.Component) templ.Component

func NameLinkTemplate

func NameLinkTemplate(p *NameLinkRenderParams) templ.Component

func NoneTemplate

func NoneTemplate(text string) templ.Component

func NumberMarkerTemplate

func NumberMarkerTemplate(number string) templ.Component

func ObjectElement

func ObjectElement(name string, url templ.SafeURL) templ.Component

func OptionElement

func OptionElement(value, color, relationType string) templ.Component

func PageTemplate

func PageTemplate(r *Renderer, p *RenderPageParams) templ.Component

func PlainTextTemplate

func PlainTextTemplate(text string) templ.Component

func PlainTextWrapTemplate

func PlainTextWrapTemplate(comp templ.Component) templ.Component

func RawEmbedTemplate added in v0.3.19

func RawEmbedTemplate(r *Renderer, p *EmbedRenderParams) templ.Component

func RootTemplate

func RootTemplate(r *Renderer, p *RootRenderParams) templ.Component

func SizeSpanTemplate

func SizeSpanTemplate(p *SizeSpanRenderParams) templ.Component

func TableRowCellEmptyTemplate

func TableRowCellEmptyTemplate() templ.Component

func TableRowCellTemplate

func TableRowCellTemplate(r *Renderer, p *RenderTableRowCellParams) templ.Component

func TableRowTemplate

func TableRowTemplate(r *Renderer, rowId string, p *RenderTableParams) templ.Component

func TableTemplate

func TableTemplate(r *Renderer, p *RenderTableParams) templ.Component

func TextCodeTemplate

func TextCodeTemplate(code, lang string) templ.Component

func TextMarkupMention added in v0.3.11

func TextMarkupMention(r *Renderer, link templ.SafeURL, name string, classes []string, iconObjectParams *IconObjectParams) templ.Component

func ToggleMarkerTemplate

func ToggleMarkerTemplate(color string) templ.Component

func UnsplashReferral

func UnsplashReferral(author string, authorUrl templ.SafeURL) templ.Component

func VideoTemplate

func VideoTemplate(p *FileMediaRenderParams) templ.Component

Types

type BlockParams

type BlockParams struct {
	Id                string
	BlockType         string
	Classes           []string
	ContentClasses    []string
	AdditionalClasses []string
	Content           templ.Component
	Additional        templ.Component
	ChildrenIds       []string
	Width             string
}

type BlockWrapperParams

type BlockWrapperParams struct {
	Classes    []string
	Width      string
	Components []templ.Component
}

type CoverRenderParams

type CoverRenderParams struct {
	Id                string
	Src               string
	Classes           string
	CoverType         CoverType
	ResizeParams      CoverResizeParams
	UnsplashComponent templ.Component
	CoverTemplate     templ.Component
}

type CoverResizeParams

type CoverResizeParams struct {
	CoverX     float64
	CoverY     float64
	CoverScale float64
	WithScale  bool
}

type CoverType

type CoverType int32
const (
	CoverType_Image         CoverType = 1
	CoverType_Color         CoverType = 2
	CoverType_Gradient      CoverType = 3
	CoverType_PrebuiltImage CoverType = 4
	CoverType_Source        CoverType = 5
)

func ToCoverType

func ToCoverType(val int64) (CoverType, error)

type EmbedIframeData

type EmbedIframeData struct {
	AllowIframeResize bool
	InsertBeforeLoad  bool
	UseRootHeight     bool
	Align             model.BlockAlign
	Processor         model.BlockContentLatexProcessor
	ClassName         string
	BlockId           string
	Js                string
	Html              string
}

type EmbedRenderParams

type EmbedRenderParams struct {
	Id       string
	Classes  []string
	Content  string
	Data     EmbedIframeData
	IsIframe bool
	Sandbox  string
}

type FileMediaRenderParams

type FileMediaRenderParams struct {
	Id      string
	Src     templ.SafeURL
	Classes []string
	Width   string
	Name    string
	Size    string
}

type FileRenderParams

type FileRenderParams struct {
	Id   string
	Src  templ.SafeURL
	Name string
	Size string
}

func (*FileRenderParams) ToFileMediaRenderParams

func (params *FileRenderParams) ToFileMediaRenderParams(width string, classes []string) *FileMediaRenderParams

type GetSizeProps

type GetSizeProps struct {
	HasIconImage bool
	HasIconEmoji bool
	IsDeleted    bool
}

type IconImageRenderParams

type IconImageRenderParams struct {
	Id          string
	Src         string
	Classes     string
	IconClasses string
}

type IconObjectParams

type IconObjectParams struct {
	Classes     []string
	IconClasses []string
	Src         string
	SvgSrc      string
	SvgColor    string
}

type IconObjectProps

type IconObjectProps struct {
	// because bool default value is true..
	// we can wrap it with constructor in future
	NoDefault   bool
	ClassName   string
	IconClass   string
	Size        int32
	IconSize    int32
	ForceLetter bool
	Src         templ.SafeURL
}

type JsSVGString

type JsSVGString struct {
	Content string `json:"content,omitempty"`
}

type LinkRenderParams

type LinkRenderParams struct {
	Id           string
	SidesClasses string
	CardClasses  string
	Url          templ.SafeURL
	Components   []templ.Component
}

type NameLinkRenderParams

type NameLinkRenderParams struct {
	Name string
	Src  templ.SafeURL
}

type PublishingUberSnapshot

type PublishingUberSnapshot struct {
	Meta PublishingUberSnapshotMeta `json:"meta,omitempty"`

	// A map of "dir/filename.pb -> jsonpb snapshot"
	PbFiles map[string]string `json:"pbFiles,omitempty"`
}

Contains all publishing .pb files and publishing meta info

type PublishingUberSnapshotMeta

type PublishingUberSnapshotMeta struct {
	SpaceId    string `json:"spaceId,omitempty"`
	RootPageId string `json:"rootPageId,omitempty"`
	InviteLink string `json:"inviteLink,omitempty"`
}

type RelationRenderSetting

type RelationRenderSetting struct {
	Id           string
	Key          string
	Name         string
	Featured     bool
	LimitDisplay bool
	Classes      []string
}

type RenderConfig

type RenderConfig struct {
	// common for all pages, i.e. layout.css
	StaticFilesPath string
	// assets which belong to published page
	PublishFilesPath string

	PrismJsCdnUrl string
	// anytype cdn, only for emojies for now
	AnytypeCdnUrl string

	// analytics code to inject
	AnalyticsCode string

	// classes for <html> tag, used for debug
	HtmlClasses []string
}

type RenderPageParams

type RenderPageParams struct {
	Classes       string
	HeaderClasses string
	Name          string
	Description   string
	SpaceLink     templ.SafeURL
	SpaceIcon     templ.Component
	OgImageUrl    string
	SpaceName     string
}

type RenderTableParams

type RenderTableParams struct {
	Classes string
	Id      string

	ColumnSizes string

	Rows    *model.Block
	Columns *model.Block
}

type RenderTableRowCellParams

type RenderTableRowCellParams struct {
	Classes string
	Id      string

	TextComp templ.Component
}

type Renderer

type Renderer struct {
	Sp       *pb.SnapshotWithType
	UberSp   *PublishingUberSnapshot
	RootComp templ.Component
	Config   RenderConfig

	CachedPbFiles map[string]*pb.SnapshotWithType

	Root       *model.Block
	BlocksById map[string]*model.Block

	BlockNumbers      map[string]int
	ObjectTypeDetails *types.Struct
	ResolvedLayout    model.ObjectTypeLayout
	LayoutAlign       int64
}

func NewRenderer

func NewRenderer(config RenderConfig) (r *Renderer, err error)

func (*Renderer) FileIconBlock

func (r *Renderer) FileIconBlock(b *model.Block, params *FileRenderParams) templ.Component

func (*Renderer) GetEmojiUrl

func (r *Renderer) GetEmojiUrl(code rune) string

func (*Renderer) GetPrismJsUrl

func (r *Renderer) GetPrismJsUrl(filepath string) string

func (*Renderer) GetStaticFolderUrl

func (r *Renderer) GetStaticFolderUrl(filepath string) string

func (*Renderer) InlineFileBlock

func (r *Renderer) InlineFileBlock(b *model.Block, params *FileRenderParams) templ.Component

func (*Renderer) MakeEmbedRenderParams

func (r *Renderer) MakeEmbedRenderParams(b *model.Block) *EmbedRenderParams

func (*Renderer) MakeRenderFileParams

func (r *Renderer) MakeRenderFileParams(b *model.Block) (params *FileRenderParams, err error)

func (*Renderer) MakeRenderIconObjectParams

func (r *Renderer) MakeRenderIconObjectParams(targetDetails *types.Struct, props *IconObjectProps) (params *IconObjectParams)

func (*Renderer) MakeRenderPageParams

func (r *Renderer) MakeRenderPageParams() (params *RenderPageParams)

func (*Renderer) MakeRenderTableRowCellParams

func (r *Renderer) MakeRenderTableRowCellParams(b *model.Block) (params *RenderTableRowCellParams)

func (*Renderer) ReadJsonpbSnapshot

func (r *Renderer) ReadJsonpbSnapshot(path string) (*pb.SnapshotWithType, error)

func (*Renderer) Render

func (r *Renderer) Render(writer io.Writer) (err error)

func (*Renderer) RenderBlock

func (r *Renderer) RenderBlock(blockId string) templ.Component

func (*Renderer) RenderBookmark

func (r *Renderer) RenderBookmark(b *model.Block) templ.Component

func (*Renderer) RenderDiv

func (r *Renderer) RenderDiv(b *model.Block) templ.Component

func (*Renderer) RenderEmbed

func (r *Renderer) RenderEmbed(b *model.Block) templ.Component

func (*Renderer) RenderFeaturedRelations

func (r *Renderer) RenderFeaturedRelations(block *model.Block) templ.Component

func (*Renderer) RenderFile

func (r *Renderer) RenderFile(b *model.Block) templ.Component

func (*Renderer) RenderLayout

func (r *Renderer) RenderLayout(b *model.Block) templ.Component
func (r *Renderer) RenderLink(b *model.Block) templ.Component

func (*Renderer) RenderPage

func (r *Renderer) RenderPage() templ.Component

func (*Renderer) RenderPageCover

func (r *Renderer) RenderPageCover() templ.Component

func (*Renderer) RenderPageIconImage

func (r *Renderer) RenderPageIconImage() templ.Component

func (*Renderer) RenderRelations

func (r *Renderer) RenderRelations(b *model.Block) templ.Component

func (*Renderer) RenderRoot

func (r *Renderer) RenderRoot() templ.Component

func (*Renderer) RenderTable

func (r *Renderer) RenderTable(b *model.Block) templ.Component

func (*Renderer) RenderTableOfContent

func (r *Renderer) RenderTableOfContent(block *model.Block) templ.Component

func (*Renderer) RenderTableRowCell

func (r *Renderer) RenderTableRowCell(cellId string) templ.Component

func (*Renderer) RenderText

func (r *Renderer) RenderText(b *model.Block) templ.Component

type RootRenderParams

type RootRenderParams struct {
	Style string
}

type SizeSpanRenderParams

type SizeSpanRenderParams struct {
	Size string
}

type UserSvgProps

type UserSvgProps struct {
	Size       string
	ViewBox    string
	FontWeight string
	FontSize   string
	Letter     string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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