Skip to content

Commit

Permalink
prerender manifest data on startup
Browse files Browse the repository at this point in the history
  • Loading branch information
silverwind committed Dec 21, 2020
1 parent 6d1adec commit 47f4362
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
15 changes: 14 additions & 1 deletion modules/templates/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ import (
// Used from static.go && dynamic.go
var mailSubjectSplit = regexp.MustCompile(`(?m)^-{3,}[\s]*$`)

// Generate manfest.json data uri once
var manifestData = makeManifestData()

// NewFuncMap returns functions for injecting to templates
func NewFuncMap() []template.FuncMap {
return []template.FuncMap{map[string]interface{}{
Expand Down Expand Up @@ -88,6 +91,9 @@ func NewFuncMap() []template.FuncMap {
"AllowedReactions": func() []string {
return setting.UI.Reactions
},
"ManifestData": func() template.URL {
return manifestData
},
"Safe": Safe,
"SafeJS": SafeJS,
"Str2html": Str2html,
Expand Down Expand Up @@ -144,7 +150,6 @@ func NewFuncMap() []template.FuncMap {
"MD5": base.EncodeMD5,
"ActionContent2Commits": ActionContent2Commits,
"PathEscape": url.PathEscape,
"QueryEscape": url.QueryEscape,
"EscapePound": func(str string) string {
return strings.NewReplacer("%", "%25", "#", "%23", " ", "%20", "?", "%3F").Replace(str)
},
Expand Down Expand Up @@ -921,3 +926,11 @@ func buildSubjectBodyTemplate(stpl *texttmpl.Template, btpl *template.Template,
log.Warn("Failed to parse template [%s/body]: %v", name, err)
}
}

func makeManifestData() template.URL {
name := url.QueryEscape(setting.AppName)
prefix := url.QueryEscape(setting.StaticURLPrefix)
subUrl := url.QueryEscape(setting.AppSubURL) + "/"

return template.URL(`data:application/json,{"short_name":"` + name + `","name":"` + name + `","icons":[{"src":"` + prefix + `/img/logo-lg.png","type":"image/png","sizes":"880x880"},{"src":"` + prefix + `/img/logo-sm.png","type":"image/png","sizes":"120x120"},{"src":"` + prefix + `/img/logo-512.png","type":"image/png","sizes":"512x512"},{"src":"` + prefix + `/img/logo-192.png","type":"image/png","sizes":"192x192"}],"start_url":"` + subUrl + `","scope":"` + subUrl + `","background_color":"%23FAFAFA","display":"standalone"}`)
}
2 changes: 1 addition & 1 deletion templates/base/head.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>{{if .Title}}{{.Title | RenderEmojiPlain}} - {{end}} {{if .Repository.Name}}{{.Repository.Name}} - {{end}}{{AppName}} </title>
<link rel="manifest" href='data:application/json,{"short_name":"{{QueryEscape AppName}}","name":"{{QueryEscape AppName}}","icons":[{"src":"{{QueryEscape StaticUrlPrefix}}/img/logo-lg.png","type":"image/png","sizes":"880x880"},{"src":"{{QueryEscape StaticUrlPrefix}}/img/logo-sm.png","type":"image/png","sizes":"120x120"},{"src":"{{QueryEscape StaticUrlPrefix}}/img/logo-512.png","type":"image/png","sizes":"512x512"},{"src":"{{QueryEscape StaticUrlPrefix}}/img/logo-192.png","type":"image/png","sizes":"192x192"}],"start_url":"{{QueryEscape AppSubUrl}}/","scope":"{{QueryEscape AppSubUrl}}/","background_color":"%23FAFAFA","display":"standalone"}'/>
<link rel="manifest" href='{{ManifestData}}'/>
<meta name="theme-color" content="{{ThemeColorMetaTag}}">
<meta name="default-theme" content="{{DefaultTheme}}" />
<meta name="author" content="{{if .Repository}}{{.Owner.Name}}{{else}}{{MetaAuthor}}{{end}}" />
Expand Down

0 comments on commit 47f4362

Please sign in to comment.