mirror of https://github.com/go-gitea/gitea.git
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 filepull/5354/head^2
parent
e09fe48773
commit
294904321c
Binary file not shown.
After Width: | Height: | Size: 8.5 KiB |
Binary file not shown.
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