templates

package
v1.22.0-rc0 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2024 License: MIT Imports: 52 Imported by: 138

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrTemplateNotInitialized = errors.New("template system is not initialized, check your log for errors")

Functions

func ActionContent2Commits

func ActionContent2Commits(act Actioner) *repository.PushCommits

ActionContent2Commits converts action content to push commits

func ActionIcon

func ActionIcon(opType activities_model.ActionType) string

ActionIcon accepts an action operation type and returns an icon class name.

func AssetFS added in v1.20.0

func AssetFS() *assetfs.LayeredFS

func AvatarHTML added in v1.14.0

func AvatarHTML(src string, size int, class, name string) template.HTML

AvatarHTML creates the HTML for an avatar

func BuiltinAssets added in v1.20.0

func BuiltinAssets() *assetfs.Layer

func CustomAssets added in v1.20.0

func CustomAssets() *assetfs.Layer

func DotEscape added in v1.16.5

func DotEscape(raw string) string

DotEscape wraps a dots in names with ZWJ [U+200D] in order to prevent autolinkers from detecting these as urls

func Eval added in v1.20.0

func Eval(tokens ...any) (any, error)

Eval the expression and return the result, see the comment of eval.Expr for details. To use this helper function in templates, pass each token as a separate parameter.

{{ $int64 := Eval $var "+" 1 }}
{{ $float64 := Eval $var "+" 1.0 }}

Golang's template supports comparable int types, so the int64 result can be used in later statements like {{if lt $int64 10}}

func FilenameIsImage added in v1.20.0

func FilenameIsImage(filename string) bool

func HTMLEscape added in v1.22.0

func HTMLEscape(s any) template.HTML

func HTMLFormat added in v1.22.0

func HTMLFormat(s string, rawArgs ...any) template.HTML

func HandleTemplateRenderingError added in v1.20.0

func HandleTemplateRenderingError(err error) string

func IsMultilineCommitMessage added in v1.4.0

func IsMultilineCommitMessage(msg string) bool

IsMultilineCommitMessage checks to see if a commit message contains multiple lines.

func JSEscapeSafe added in v1.22.0

func JSEscapeSafe(s string) template.HTML

func ListMailTemplateAssetNames added in v1.20.0

func ListMailTemplateAssetNames(assets *assetfs.LayeredFS) ([]string, error)

func ListWebTemplateAssetNames added in v1.20.0

func ListWebTemplateAssetNames(assets *assetfs.LayeredFS) ([]string, error)

func Mailer

Mailer provides the templates required for sending notification mails.

func MigrationIcon added in v1.10.0

func MigrationIcon(hostname string) string

MigrationIcon returns a SVG name matching the service an issue/comment was migrated from

func NewFuncMap

func NewFuncMap() template.FuncMap

NewFuncMap returns functions for injecting to templates

func QueryEscape added in v1.22.0

func QueryEscape(s string) template.URL

func ReactionToEmoji added in v1.12.0

func ReactionToEmoji(reaction string) template.HTML

ReactionToEmoji renders emoji for use in reactions

func ReloadHTMLTemplates added in v1.20.0

func ReloadHTMLTemplates() error

func RenderCodeBlock added in v1.17.4

func RenderCodeBlock(htmlEscapedTextToRender template.HTML) template.HTML

RenderCodeBlock renders "`…`" as highlighted "<code>" block, intended for issue and PR titles

func RenderCommitBody added in v1.4.0

func RenderCommitBody(ctx context.Context, msg string, metas map[string]string) template.HTML

RenderCommitBody extracts the body of a commit message without its title.

func RenderCommitMessage

func RenderCommitMessage(ctx context.Context, msg string, metas map[string]string) template.HTML

RenderCommitMessage renders commit message with XSS-safe and special links.

func RenderCommitMessageLinkSubject added in v1.10.0

func RenderCommitMessageLinkSubject(ctx context.Context, msg, urlDefault string, metas map[string]string) template.HTML

RenderCommitMessageLinkSubject renders commit message as a XSS-safe link to the provided default url, handling for special links without email to links.

func RenderEmoji added in v1.12.0

func RenderEmoji(ctx context.Context, text string) template.HTML

RenderEmoji renders html text with emoji post processors

func RenderIssueTitle added in v1.14.0

func RenderIssueTitle(ctx context.Context, text string, metas map[string]string) template.HTML

RenderIssueTitle renders issue/pull title with defined post processors

func RenderLabel added in v1.19.0

func RenderLabel(ctx context.Context, locale translation.Locale, label *issues_model.Label) template.HTML

RenderLabel renders a label locale is needed due to an import cycle with our context providing the `Tr` function

func RenderLabels added in v1.20.0

func RenderLabels(ctx context.Context, locale translation.Locale, labels []*issues_model.Label, repoLink string) template.HTML

func RenderMarkdownToHtml added in v1.20.0

func RenderMarkdownToHtml(ctx context.Context, input string) template.HTML

func SafeHTML added in v1.22.0

func SafeHTML(s any) template.HTML

SafeHTML render raw as HTML

func SanitizeHTML added in v1.22.0

func SanitizeHTML(s string) template.HTML

SanitizeHTML sanitizes the input by pre-defined markdown rules

func SortArrow added in v1.20.0

func SortArrow(normSort, revSort, urlSort string, isDefault bool) template.HTML

func TabSizeClass added in v1.20.0

func TabSizeClass(ec *editorconfig.Editorconfig, filename string) string

Types

type Actioner

type Actioner interface {
	GetOpType() activities_model.ActionType
	GetActUserName(ctx context.Context) string
	GetRepoUserName(ctx context.Context) string
	GetRepoName(ctx context.Context) string
	GetRepoPath(ctx context.Context) string
	GetRepoLink(ctx context.Context) string
	GetBranch() string
	GetContent() string
	GetCreate() time.Time
	GetIssueInfos() []string
}

Actioner describes an action

type AvatarUtils added in v1.21.0

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

func NewAvatarUtils added in v1.21.0

func NewAvatarUtils(ctx context.Context) *AvatarUtils

func (*AvatarUtils) Avatar added in v1.21.0

func (au *AvatarUtils) Avatar(item any, others ...any) template.HTML

Avatar renders user avatars. args: user, size (int), class (string)

func (*AvatarUtils) AvatarByAction added in v1.21.0

func (au *AvatarUtils) AvatarByAction(action *activities_model.Action, others ...any) template.HTML

AvatarByAction renders user avatars from action. args: action, size (int), class (string)

func (*AvatarUtils) AvatarByEmail added in v1.21.0

func (au *AvatarUtils) AvatarByEmail(email, name string, others ...any) template.HTML

AvatarByEmail renders avatars by email address. args: email, name, size (int), class (string)

type HTMLRender added in v1.20.0

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

func HTMLRenderer added in v1.6.0

func HTMLRenderer() *HTMLRender

HTMLRenderer init once and returns the globally shared html renderer

func (*HTMLRender) CompileTemplates added in v1.20.0

func (h *HTMLRender) CompileTemplates() error

func (*HTMLRender) HTML added in v1.20.0

func (h *HTMLRender) HTML(w io.Writer, status int, name string, data any, ctx context.Context) error

func (*HTMLRender) TemplateLookup added in v1.20.0

func (h *HTMLRender) TemplateLookup(name string, ctx context.Context) (TemplateExecutor, error)

type JsonUtils added in v1.20.0

type JsonUtils struct{} //nolint:revive

func NewJsonUtils added in v1.20.0

func NewJsonUtils() *JsonUtils

func (*JsonUtils) EncodeToString added in v1.20.0

func (su *JsonUtils) EncodeToString(v any) string

func (*JsonUtils) PrettyIndent added in v1.20.0

func (su *JsonUtils) PrettyIndent(s string) string

type SliceUtils added in v1.20.0

type SliceUtils struct{}

func NewSliceUtils added in v1.20.0

func NewSliceUtils() *SliceUtils

func (*SliceUtils) Contains added in v1.20.0

func (su *SliceUtils) Contains(s, v any) bool

type StringUtils added in v1.20.0

type StringUtils struct{}

func NewStringUtils added in v1.20.0

func NewStringUtils() *StringUtils

func (*StringUtils) Contains added in v1.20.0

func (su *StringUtils) Contains(s, substr string) bool

func (*StringUtils) Cut added in v1.21.0

func (su *StringUtils) Cut(s, sep string) []any

func (*StringUtils) EllipsisString added in v1.20.0

func (su *StringUtils) EllipsisString(s string, max int) string

func (*StringUtils) HasPrefix added in v1.20.0

func (su *StringUtils) HasPrefix(s, prefix string) bool

func (*StringUtils) Join added in v1.20.0

func (su *StringUtils) Join(a []string, sep string) string

func (*StringUtils) Split added in v1.20.0

func (su *StringUtils) Split(s, sep string) []string

func (*StringUtils) ToString added in v1.22.0

func (su *StringUtils) ToString(v any) string

func (*StringUtils) ToUpper added in v1.22.0

func (su *StringUtils) ToUpper(s string) string

type TemplateExecutor added in v1.20.0

type TemplateExecutor scopedtmpl.TemplateExecutor

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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