Documentation ¶
Index ¶
- func New(t *token.Tokenizer) (*template.Template, error)
- func SetActive(a ActivableSlice, s string) bool
- type ActivableSlice
- type Common
- type HeadLink
- type HomeTemplate
- type InitTemplate
- type LoginTemplate
- type Navbar
- type NavbarNode
- type Pagination
- type PaginationConfig
- type PaginationNode
- type Script
- type Sidebar
- type SidebarNode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SetActive ¶
func SetActive(a ActivableSlice, s string) bool
SetActive sets an active bit in a slice
Types ¶
type ActivableSlice ¶
type ActivableSlice interface { GetChildren(i int) ActivableSlice GetMatcher(i int) *regexp.Regexp SetActive(i int, a bool) Len() int }
ActivableSlice a slice where each element has an active bit which can be set based on a string
type Common ¶
type Common struct { Language string Localizer *language.Localizer HeadLinks []HeadLink PageTitle string User *models.FediAccount }
Common contains the variables used in nearly every template
func (*Common) AddFooterScript ¶
AddFooterScript adds a footer script to the template
func (*Common) AddHeadLink ¶
AddHeadLink adds a headder link to the template
func (*Common) SetLanguage ¶
SetLanguage sets the template's default language
func (*Common) SetLocalizer ¶
SetLocalizer sets the localizer the template will use to generate text
func (*Common) SetUser ¶
func (t *Common) SetUser(user *models.FediAccount)
SetUser sets the currently logged-in account
type HeadLink ¶
type HeadLink struct { HRef string Rel string Integrity string CrossOrigin string Sizes string Type string }
HeadLink is the data for a header link
type HomeTemplate ¶
type HomeTemplate struct {
Common
}
HomeTemplate contains the variables for the "home" template.
type InitTemplate ¶
type InitTemplate interface { AddHeadLink(l HeadLink) SetLanguage(l string) SetLocalizer(l *language.Localizer) SetUser(user *models.FediAccount) }
InitTemplate are the functions a template implementing Common will have
type LoginTemplate ¶
LoginTemplate contains the variables for the "login" template.
type Navbar ¶
type Navbar []NavbarNode
Navbar is a navbar that can be added to a page
func (*Navbar) ActivateFromPath ¶
ActivateFromPath sets the active bool based on the match regex
func (*Navbar) GetChildren ¶
func (n *Navbar) GetChildren(i int) ActivableSlice
GetChildren returns the children of the node or nil if no children
func (*Navbar) GetMatcher ¶
GetMatcher returns the matcher of the node or nil if no matcher
type NavbarNode ¶
type NavbarNode struct {}
NavbarNode is an entry on a navbar, can be nested one level
type Pagination ¶
type Pagination []PaginationNode
Pagination is a pagination element that can be added to a webpage
func MakePagination ¶
func MakePagination(c *PaginationConfig) Pagination
MakePagination creates a pagination element from the provided parameters
type PaginationConfig ¶
type PaginationConfig struct { Count int // item count DisplayCount int // how many items to display per page HRef string // href to add query to HRefCount int // count to include in the href, if 0 no count is added MaxPagination int // the max number of pages to show Page int // current page }
PaginationConfig contains the config to construct pagination
type PaginationNode ¶
PaginationNode is an element in a pagination element
type Sidebar ¶
type Sidebar []SidebarNode
Sidebar is a sidebar that can be added to a page
func (*Sidebar) ActivateFromPath ¶
ActivateFromPath sets the active bool based on the match regex
func (*Sidebar) GetChildren ¶
func (s *Sidebar) GetChildren(i int) ActivableSlice
GetChildren returns the children of the node or nil if no children
func (*Sidebar) GetMatcher ¶
GetMatcher returns the matcher of the node or nil if no matcher