summaryrefslogtreecommitdiffstats
path: root/templates/pwa
diff options
context:
space:
mode:
authorSohnyBohny <sohny.bean@streber24.de>2018-11-27 16:18:26 +0100
committertechknowlogick <hello@techknowlogick.com>2018-11-27 10:18:26 -0500
commit294904321cb6de535237a6a156d5c4ec462bc117 (patch)
tree3b4c7bc1748a5b64de29d6efca37705b3071fc2b /templates/pwa
parente09fe487734238708c2f9fc7c47dbb2132250400 (diff)
downloadgitea-294904321cb6de535237a6a156d5c4ec462bc117.tar.gz
gitea-294904321cb6de535237a6a156d5c4ec462bc117.zip
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 file
Diffstat (limited to 'templates/pwa')
-rw-r--r--templates/pwa/manifest_json.tmpl31
-rw-r--r--templates/pwa/serviceworker_js.tmpl72
2 files changed, 103 insertions, 0 deletions
diff --git a/templates/pwa/manifest_json.tmpl b/templates/pwa/manifest_json.tmpl
new file mode 100644
index 0000000000..557bee5d76
--- /dev/null
+++ b/templates/pwa/manifest_json.tmpl
@@ -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}}"
+ } \ No newline at end of file
diff --git a/templates/pwa/serviceworker_js.tmpl b/templates/pwa/serviceworker_js.tmpl
new file mode 100644
index 0000000000..5e5860ebb0
--- /dev/null
+++ b/templates/pwa/serviceworker_js.tmpl
@@ -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);
+ }
+ )
+ );
+});