template

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2022 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const AdminBlockName = "admin_block"

AdminBlockName is the name of the admin block list template.

View Source
const AdminHomeName = "admin_home"

AdminHomeName is the name of the admin home template.

View Source
const AdminInstanceName = "admin_instance"

AdminInstanceName is the name of the admin block list template.

View Source
const ErrorName = "error"

ErrorPageName is the name of the error template.

View Source
const HomeName = "home"

HomeName is the name of the home template.

View Source
const LoginName = "login"

LoginName is the name of the login template.

Variables

This section is empty.

Functions

func GenActor

func GenActor(domain string) interface{}

func GenInbox

func GenInbox(domain string) interface{}

func New

func New(tokz *token.Tokenizer) (*template.Template, error)

New creates a new template.

Types

type AdminBlock

type AdminBlock struct {
	Common

	Blocks     []*models.Block
	Pagination libtemplate.Pagination

	FormAddError            *libtemplate.Alert
	FormAddAction           libtemplate.FormInput
	FormAddDomain           libtemplate.FormInput
	FormAddObfuscatedDomain libtemplate.FormInput
	FormAddBlockSubdomains  libtemplate.FormInput

	FormDeleteError  *libtemplate.Alert
	FormDeleteAction libtemplate.FormInput
	FormDeleteToken  libtemplate.FormInput

	FormEditError            *libtemplate.Alert
	FormEditAction           libtemplate.FormInput
	FormEditToken            libtemplate.FormInput
	FormEditDomain           libtemplate.FormInput
	FormEditObfuscatedDomain libtemplate.FormInput
	FormEditBlockSubdomains  libtemplate.FormInput

	FormImportError           *libtemplate.Alert
	FormImportAction          libtemplate.FormInput
	FormImportFile            libtemplate.FormInput
	FormImportBlockSubdomains libtemplate.FormInput
}

AdminBlock contains the variables for the admin block list template.

type AdminHome

type AdminHome struct {
	Common

	FormHomeBody libtemplate.FormTextarea
}

AdminHome contains the variables for the admin home template.

type AdminInstance

type AdminInstance struct {
	Common

	Instances  []*models.Instance
	Pagination libtemplate.Pagination
}

AdminInstance contains the variables for the admin block list template.

type Common

type Common struct {
	Language  string
	Localizer *language.Localizer

	Account *models.Account

	Alerts            *[]libtemplate.Alert
	FooterScripts     []libtemplate.Script
	FooterExtraScript []string
	HeadLinks         []libtemplate.HeadLink
	LogoSrcDark       string
	LogoSrcLight      string
	NavBar            Navbar
	NavBarDark        bool
	PageTitle         string
}

Common contains the variables used in nearly every template.

func (*Common) AddFooterExtraScript

func (t *Common) AddFooterExtraScript(s string)

AddFooterExtraScript adds a footer script to the template.

func (*Common) AddFooterScript

func (t *Common) AddFooterScript(s libtemplate.Script)

AddFooterScript adds a footer script to the template.

func (t *Common) AddHeadLink(l libtemplate.HeadLink)

AddHeadLink adds a headder link to the template.

func (*Common) SetAccount

func (t *Common) SetAccount(account *models.Account)

SetAccount sets the currently logged-in account.

func (*Common) SetLanguage

func (t *Common) SetLanguage(l string)

SetLanguage sets the template's default language.

func (*Common) SetLocalizer

func (t *Common) SetLocalizer(l *language.Localizer)

SetLocalizer sets the localizer the template will use to generate text.

func (*Common) SetLogoSrc

func (t *Common) SetLogoSrc(dark, light string)

SetLogoSrc sets the src for the logo image.

func (*Common) SetNavbar

func (t *Common) SetNavbar(nodes Navbar)

SetNavbar sets the top level navbar used by the template.

func (*Common) SetNavbarDark

func (t *Common) SetNavbarDark(dark bool)

SetNavbarDark sets the navbar theme.

type Error

type Error struct {
	Common

	Header      string
	Image       string
	SubHeader   string
	Paragraph   string
	ButtonHRef  string
	ButtonLabel string
}

Error contains the variables for the error template.

type FormInput

type FormInput struct {
	Class       string
	ID          string
	Name        string
	Placeholder string
	Type        string
	Value       string

	Validation *FormInputValidation
}

type FormInputValidation

type FormInputValidation struct {
	Message string
	Valid   bool
}

type Home

type Home struct {
	Common

	HomeBody string

	FollowingInstances []*models.Instance
	Blocks             []*models.Block
}

Home contains the variables for the home template.

type InitTemplate

type InitTemplate interface {
	AddHeadLink(l libtemplate.HeadLink)
	AddFooterScript(s libtemplate.Script)
	SetAccount(account *models.Account)
	SetLanguage(l string)
	SetLocalizer(l *language.Localizer)
	SetLogoSrc(dark, light string)
	SetNavbar(nodes Navbar)
	SetNavbarDark(dark bool)
}

InitTemplate are the functions a template implementing Common will have.

type Login

type Login struct {
	Common

	FormError   string
	FormAccount string
}

Login contains the variables for the "login" template.

type Navbar []NavbarNode

Navbar is a navbar that can be added to a page.

func (n *Navbar) ActivateFromPath(path string)

ActivateFromPath sets the active bool based on the match regex.

func (n *Navbar) GetChildren(i int) libtemplate.ActivableSlice

GetChildren returns the children of the node or nil if no children.

func (n *Navbar) GetMatcher(i int) *regexp.Regexp

GetMatcher returns the matcher of the node or nil if no matcher.

func (n *Navbar) Len() int

Len returns the matcher of the node or nil if no matcher.

func (n *Navbar) SetActive(i int, a bool)

SetActive sets the active bool based on the match regex.

type NavbarNode struct {
	Text     string
	URL      string
	MatchStr *regexp.Regexp
	FAIcon   string

	Active   bool
	Disabled bool

	Children Navbar
}

NavbarNode is an entry on a navbar, can be nested one level.

Jump to

Keyboard shortcuts

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