Create Progressive Web App (#4730)
* Create manifest and serviceworker * Create templates and add AppSubUrl * Add JSRenderer * fix ctx type * Add JSRenderer to static.go * Complete adding {{AppSubUrl}} * Add more fonts to urlsToCache * Add 512px and 192px icons * Hardcode font MD5 * Default theme doesn't have a specific CSS filetokarchuk/v1.17
parent
e09fe48773
commit
294904321c
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 25 KiB |
@ -0,0 +1,31 @@ |
||||
{ |
||||
"short_name": "Gitea", |
||||
"name": "Gitea - Git with a cup of tea", |
||||
"icons": [ |
||||
{ |
||||
"src": "{{AppSubUrl}}/img/gitea-lg.png", |
||||
"type": "image/png", |
||||
"sizes": "880x880" |
||||
}, |
||||
{ |
||||
"src": "{{AppSubUrl}}/img/gitea-sm.png", |
||||
"type": "image/png", |
||||
"sizes": "120x120" |
||||
}, |
||||
{ |
||||
"src": "{{AppSubUrl}}/img/gitea-512.png", |
||||
"type": "image/png", |
||||
"sizes": "512x512" |
||||
}, |
||||
{ |
||||
"src": "{{AppSubUrl}}/img/gitea-192.png", |
||||
"type": "image/png", |
||||
"sizes": "192x192" |
||||
} |
||||
], |
||||
"start_url": "{{AppSubUrl}}/", |
||||
"scope": "{{AppSubUrl}}/", |
||||
"background_color": "#FAFAFA", |
||||
"display": "standalone", |
||||
"theme_color": "{{ThemeColorMetaTag}}" |
||||
} |
@ -0,0 +1,72 @@ |
||||
var STATIC_CACHE = 'static-cache-v1'; |
||||
var urlsToCache = [ |
||||
// js |
||||
'{{AppSubUrl}}/vendor/plugins/jquery.areyousure/jquery.are-you-sure.js', |
||||
'{{AppSubUrl}}/vendor/plugins/jquery/jquery.min.js', |
||||
'{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.js', |
||||
'{{AppSubUrl}}/js/index.js?v={{MD5 AppVer}}', |
||||
'{{AppSubUrl}}/js/draw.js', |
||||
'{{AppSubUrl}}/vendor/plugins/clipboard/clipboard.min.js', |
||||
'{{AppSubUrl}}/vendor/plugins/gitgraph/gitgraph.js', |
||||
'{{AppSubUrl}}/vendor/plugins/vue/vue.min.js', |
||||
'{{AppSubUrl}}/vendor/plugins/emojify/emojify.min.js', |
||||
'{{AppSubUrl}}/vendor/plugins/cssrelpreload/loadCSS.min.js', |
||||
'{{AppSubUrl}}/vendor/plugins/cssrelpreload/cssrelpreload.min.js', |
||||
'{{AppSubUrl}}/vendor/plugins/dropzone/dropzone.js', |
||||
'{{AppSubUrl}}/vendor/plugins/highlight/highlight.pack.js', |
||||
'{{AppSubUrl}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.js', |
||||
'{{AppSubUrl}}/vendor/plugins/jquery.minicolors/jquery.minicolors.min.js', |
||||
'{{AppSubUrl}}/vendor/plugins/codemirror/addon/mode/loadmode.js', |
||||
'{{AppSubUrl}}/vendor/plugins/codemirror/mode/meta.js', |
||||
'{{AppSubUrl}}/vendor/plugins/simplemde/simplemde.min.js', |
||||
|
||||
// css |
||||
'{{AppSubUrl}}/vendor/assets/font-awesome/css/font-awesome.min.css', |
||||
'{{AppSubUrl}}/vendor/assets/octicons/octicons.min.css', |
||||
'{{AppSubUrl}}/vendor/plugins/simplemde/simplemde.min.css', |
||||
'{{AppSubUrl}}/vendor/plugins/gitgraph/gitgraph.css', |
||||
'{{AppSubUrl}}/vendor/plugins/tribute/tribute.css', |
||||
'{{AppSubUrl}}/vendor/plugins/semantic/semantic.min.css', |
||||
'{{AppSubUrl}}/css/index.css?v={{MD5 AppVer}}', |
||||
'{{AppSubUrl}}/vendor/plugins/highlight/github.css', |
||||
'{{AppSubUrl}}/vendor/plugins/jquery.minicolors/jquery.minicolors.css', |
||||
'{{AppSubUrl}}/vendor/plugins/jquery.datetimepicker/jquery.datetimepicker.css', |
||||
'{{AppSubUrl}}/vendor/plugins/dropzone/dropzone.css', |
||||
{{if ne DefaultTheme "gitea"}} |
||||
'{{AppSubUrl}}/css/theme-{{DefaultTheme}}.css', |
||||
{{end}} |
||||
|
||||
// img |
||||
'{{AppSubUrl}}/img/gitea-sm.png', |
||||
'{{AppSubUrl}}/img/gitea-lg.png', |
||||
|
||||
// fonts |
||||
'{{AppSubUrl}}/vendor/plugins/semantic/themes/default/assets/fonts/icons.woff2', |
||||
'{{AppSubUrl}}/vendor/assets/octicons/octicons.woff2?ef21c39f0ca9b1b5116e5eb7ac5eabe6', |
||||
'{{AppSubUrl}}/vendor/assets/lato-fonts/lato-v14-latin-regular.woff2', |
||||
'{{AppSubUrl}}/vendor/assets/lato-fonts/lato-v14-latin-700.woff2' |
||||
]; |
||||
|
||||
self.addEventListener('install', function (event) { |
||||
// Perform install steps |
||||
event.waitUntil( |
||||
caches.open(STATIC_CACHE) |
||||
.then(function (cache) { |
||||
return cache.addAll(urlsToCache); |
||||
}) |
||||
); |
||||
}); |
||||
|
||||
self.addEventListener('fetch', function (event) { |
||||
event.respondWith( |
||||
caches.match(event.request) |
||||
.then(function (response) { |
||||
// Cache hit - return response |
||||
if (response) { |
||||
return response; |
||||
} |
||||
return fetch(event.request); |
||||
} |
||||
) |
||||
); |
||||
}); |
Loading…
Reference in new issue