aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/context/context.go2
-rw-r--r--modules/setting/setting.go13
-rw-r--r--routers/admin/admin.go6
-rw-r--r--routers/routes/macaron.go9
-rw-r--r--templates/base/head.tmpl2
-rw-r--r--templates/pwa/manifest_json.tmpl31
6 files changed, 17 insertions, 46 deletions
diff --git a/modules/context/context.go b/modules/context/context.go
index c6597cf024..2e43088ff8 100644
--- a/modules/context/context.go
+++ b/modules/context/context.go
@@ -345,6 +345,8 @@ func Contexter() macaron.Handler {
ctx.Data["EnableOpenIDSignIn"] = setting.Service.EnableOpenIDSignIn
ctx.Data["DisableMigrations"] = setting.Repository.DisableMigrations
+ ctx.Data["ManifestData"] = setting.ManifestData
+
c.Map(ctx)
}
}
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index 63ae15af97..290ec94c44 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -8,6 +8,7 @@ package setting
import (
"encoding/base64"
"fmt"
+ "html/template"
"io"
"io/ioutil"
"math"
@@ -293,6 +294,8 @@ var (
CSRFCookieName = "_csrf"
CSRFCookieHTTPOnly = true
+ ManifestData template.URL
+
// Mirror settings
Mirror struct {
DefaultInterval time.Duration
@@ -642,6 +645,8 @@ func NewContext() {
LandingPageURL = LandingPageHome
}
+ ManifestData = makeManifestData()
+
if len(SSH.Domain) == 0 {
SSH.Domain = Domain
}
@@ -1040,6 +1045,14 @@ func loadOrGenerateInternalToken(sec *ini.Section) string {
return token
}
+func makeManifestData() template.URL {
+ name := url.QueryEscape(AppName)
+ prefix := url.QueryEscape(StaticURLPrefix)
+ subURL := url.QueryEscape(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"}`)
+}
+
// NewServices initializes the services
func NewServices() {
InitDBConfig()
diff --git a/routers/admin/admin.go b/routers/admin/admin.go
index d0f027f5f8..4180076b08 100644
--- a/routers/admin/admin.go
+++ b/routers/admin/admin.go
@@ -39,10 +39,6 @@ const (
tplQueue base.TplName = "admin/queue"
)
-var (
- startTime = time.Now()
-)
-
var sysStatus struct {
Uptime string
NumGoroutine int
@@ -85,7 +81,7 @@ var sysStatus struct {
}
func updateSystemStatus() {
- sysStatus.Uptime = timeutil.TimeSincePro(startTime, "en")
+ sysStatus.Uptime = timeutil.TimeSincePro(setting.AppStartTime, "en")
m := new(runtime.MemStats)
runtime.ReadMemStats(m)
diff --git a/routers/routes/macaron.go b/routers/routes/macaron.go
index 170bc7d493..16977b9470 100644
--- a/routers/routes/macaron.go
+++ b/routers/routes/macaron.go
@@ -6,12 +6,10 @@ package routes
import (
"encoding/gob"
- "net/http"
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/auth"
"code.gitea.io/gitea/modules/context"
- "code.gitea.io/gitea/modules/httpcache"
"code.gitea.io/gitea/modules/lfs"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/options"
@@ -977,13 +975,6 @@ func RegisterMacaronRoutes(m *macaron.Macaron) {
private.RegisterRoutes(m)
})
- // Progressive Web App
- m.Get("/manifest.json", templates.JSONRenderer(), func(ctx *context.Context) {
- ctx.Resp.Header().Set("Cache-Control", httpcache.GetCacheControl())
- ctx.Resp.Header().Set("Last-Modified", setting.AppStartTime.Format(http.TimeFormat))
- ctx.HTML(200, "pwa/manifest_json")
- })
-
// Not found handler.
m.NotFound(routers.NotFound)
}
diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl
index 51d60c46f8..99b942bcf4 100644
--- a/templates/base/head.tmpl
+++ b/templates/base/head.tmpl
@@ -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="{{AppSubUrl}}/manifest.json" crossorigin="use-credentials">
+ <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}}" />
diff --git a/templates/pwa/manifest_json.tmpl b/templates/pwa/manifest_json.tmpl
deleted file mode 100644
index 7eba1f45bb..0000000000
--- a/templates/pwa/manifest_json.tmpl
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "short_name": "Gitea",
- "name": "Gitea - Git with a cup of tea",
- "icons": [
- {
- "src": "{{StaticUrlPrefix}}/img/logo-lg.png",
- "type": "image/png",
- "sizes": "880x880"
- },
- {
- "src": "{{StaticUrlPrefix}}/img/logo-sm.png",
- "type": "image/png",
- "sizes": "120x120"
- },
- {
- "src": "{{StaticUrlPrefix}}/img/logo-512.png",
- "type": "image/png",
- "sizes": "512x512"
- },
- {
- "src": "{{StaticUrlPrefix}}/img/logo-192.png",
- "type": "image/png",
- "sizes": "192x192"
- }
- ],
- "start_url": "{{AppSubUrl}}/",
- "scope": "{{AppSubUrl}}/",
- "background_color": "#FAFAFA",
- "display": "standalone",
- "theme_color": "{{ThemeColorMetaTag}}"
-}