Documentation
¶
Index ¶
- Variables
- func DistAsset(name string) ([]byte, error)
- func RegisterDistFS(fsys embed.FS)
- func ServeManifest(c fiber.Ctx) error
- func SetRouteDataProvider(provider RouteDataProvider)
- func ShouldShowPage(route string) bool
- type Branding
- type LoginPageData
- type PageContentPayload
- type PageMetadata
- type PageTemplate
- type RenderState
- type Renderer
- func (r *Renderer) InvalidateServerDataCache()
- func (r *Renderer) InvalidateServerDataCacheForRoute(route string)
- func (r *Renderer) NewPageRequestHandler() fiber.Handler
- func (r *Renderer) RenderPageContent(path string, needRouteData bool) (PageContentPayload, error)
- func (r *Renderer) RenderPageContentWithServerData(path string, serverData any) (PageContentPayload, error)
- func (r *Renderer) RenderPageString(route string, data any, serverData any) (string, error)
- func (r *Renderer) ResolveRoute(path string) (string, map[string]string, error)
- func (r *Renderer) StreamErrorPage(c fiber.Ctx, message string, errErr error)
- func (r *Renderer) StreamPage(c fiber.Ctx, route string, data any, serverData any) error
- type RouteDataProvider
- type RouteSegmentKind
- type RouteToken
- type ServerDataCacheable
- type SiteConfig
- type StreamedServerDataEnvelope
- type StreamedServerDataPayload
- type StreamedServerDataShape
- type StreamedServerDataShapeKind
- type StreamedServerDataState
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrPageNotFound = fiber.NewError(fiber.StatusNotFound, "page template not found")
Functions ¶
func RegisterDistFS ¶
func ServeManifest ¶
func SetRouteDataProvider ¶
func SetRouteDataProvider(provider RouteDataProvider)
func ShouldShowPage ¶
ShouldShowPage returns true if the page should be shown in the navigation. It returns false for "/login", "/error", and dynamic routes containing ":".
Types ¶
type LoginPageData ¶
type PageContentPayload ¶
type PageMetadata ¶
type PageMetadata struct {
Title string `json:"title"`
Route string `json:"route"`
Icon string `json:"icon"`
Description string `json:"description"`
Meta map[string]string `json:"meta"`
}
func GetPages ¶
func GetPages() ([]*PageMetadata, error)
func GetVisiblePages ¶
func GetVisiblePages() ([]*PageMetadata, error)
type PageTemplate ¶
type PageTemplate struct {
Title string `json:"title"`
Route string `json:"route"`
Icon string `json:"icon"`
Description string `json:"description"`
Meta map[string]string `json:"meta"`
FilePath string `json:"filePath"`
TemplateID string `json:"templateId"`
ShellTemplateID string `json:"shellTemplateId"`
RouteTokens []RouteToken `json:"routeTokens"`
}
func GetPageTemplate ¶
func GetPageTemplate(route string) (*PageTemplate, bool, error)
func GetPageTemplates ¶
func GetPageTemplates() ([]*PageTemplate, error)
type RenderState ¶
type RenderState struct {
Written bool // Written indicates that the render state has been written to a writer.
// contains filtered or unexported fields
}
func (*RenderState) RenderPageString ¶
func (s *RenderState) RenderPageString(r *Renderer, route string, data any, serverData any) (string, error)
RenderPageString renders a page to a string.
It should be only used in tests.
func (*RenderState) RenderPageToDiscard ¶
func (s *RenderState) RenderPageToDiscard(r *Renderer, route string, data any, serverData any) error
RenderPageToDiscard renders a page to io.Discard.
It should be only used in benchmark tests.
type Renderer ¶
type Renderer struct {
// contains filtered or unexported fields
}
func (*Renderer) InvalidateServerDataCache ¶
func (r *Renderer) InvalidateServerDataCache()
func (*Renderer) InvalidateServerDataCacheForRoute ¶
func (*Renderer) NewPageRequestHandler ¶
func (*Renderer) RenderPageContent ¶
func (r *Renderer) RenderPageContent(path string, needRouteData bool) (PageContentPayload, error)
func (*Renderer) RenderPageContentWithServerData ¶
func (r *Renderer) RenderPageContentWithServerData(path string, serverData any) (PageContentPayload, error)
func (*Renderer) RenderPageString ¶
func (*Renderer) ResolveRoute ¶
func (*Renderer) StreamErrorPage ¶
type RouteDataProvider ¶
type RouteSegmentKind ¶
type RouteSegmentKind string
type RouteToken ¶
type RouteToken struct {
Kind RouteSegmentKind `json:"kind"`
Name string `json:"name"`
}
type ServerDataCacheable ¶
type ServerDataCacheable interface {
ServerDataCacheFingerprint() string
}
ServerDataCacheable marks payloads that are safe to cache between GET renders.
The fingerprint should change whenever the logical payload changes.
type SiteConfig ¶
type SiteConfig struct {
Branding struct {
Title string `json:"title"`
Description string `json:"description"`
} `json:"branding"`
Manifest json.RawMessage `json:"manifest"`
}
type StreamedServerDataEnvelope ¶
type StreamedServerDataEnvelope struct {
Route string `json:"route"`
Revision string `json:"revision"`
State StreamedServerDataState `json:"state"`
Shape StreamedServerDataShape `json:"shape"`
}
func NewNormalizedStreamedServerDataEnvelope ¶
func NewNormalizedStreamedServerDataEnvelope(route string, revision string, normalized any) StreamedServerDataEnvelope
func NewStreamedServerDataEnvelope ¶
func NewStreamedServerDataEnvelope(route string, revision string, value any) (StreamedServerDataEnvelope, error)
type StreamedServerDataShape ¶
type StreamedServerDataShape struct {
Kind StreamedServerDataShapeKind `json:"kind"`
Keys []string `json:"keys,omitzero"`
Length int `json:"length,omitzero"`
Fields map[string]StreamedServerDataShape `json:"fields,omitzero"`
Items []StreamedServerDataShape `json:"items,omitzero"`
}
type StreamedServerDataShapeKind ¶
type StreamedServerDataShapeKind string
const ( StreamedServerDataShapeKindNull StreamedServerDataShapeKind = "null" StreamedServerDataShapeKindValue StreamedServerDataShapeKind = "value" StreamedServerDataShapeKindObject StreamedServerDataShapeKind = "object" StreamedServerDataShapeKindArray StreamedServerDataShapeKind = "array" )
type StreamedServerDataState ¶
type StreamedServerDataState string
const ( StreamedServerDataStateLoading StreamedServerDataState = "loading" StreamedServerDataStateFinished StreamedServerDataState = "finished" StreamedServerDataStateError StreamedServerDataState = "error" )
Click to show internal directories.
Click to hide internal directories.