serviceworker.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. var STATIC_CACHE = 'gitote-sw-cache';
  2. var urlsToCache = [
  3. // js
  4. '/js/gitote.js',
  5. 'https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js',
  6. 'https://cdnjs.cloudflare.com/ajax/libs/jquery.AreYouSure/1.9.0/jquery.are-you-sure.min.js',
  7. 'https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.1/semantic.min.js',
  8. 'https://cdn.jsdelivr.net/npm/gitote@1.0.2/plugins/highlight/highlight.pack.js',
  9. 'https://cdnjs.cloudflare.com/ajax/libs/emojify.js/1.1.0/js/emojify.min.js',
  10. 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.9/clipboard.min.js',
  11. 'https://cdn.jsdelivr.net/npm/notebookjs@0.3.0/notebook.min.js',
  12. 'https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.6/marked.min.js',
  13. 'https://cdnjs.cloudflare.com/ajax/libs/simplemde/1.10.1/simplemde.min.js',
  14. 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.17.0/addon/mode/loadmode.js',
  15. 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.17.0/mode/meta.js',
  16. 'https://cdnjs.cloudflare.com/ajax/libs/autosize.js/4.0.2/autosize.min.js',
  17. 'https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.2.0/dropzone.js',
  18. 'https://cdn.jsdelivr.net/npm/gitote@1.0.2/plugins/datetimepicker/jquery.datetimepicker.js',
  19. 'https://cdnjs.cloudflare.com/ajax/libs/jquery-minicolors/2.2.3/jquery.minicolors.min.js',
  20. // css
  21. '/css/gitote.css',
  22. '/css/bundle.css',
  23. 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css',
  24. 'https://cdn.jsdelivr.net/npm/gitote@1.0.3/plugins/octicons/octicons.min.css',
  25. 'https://cdn.jsdelivr.net/npm/gitote@1.0.2/plugins/highlight/github.css',
  26. 'https://cdnjs.cloudflare.com/ajax/libs/simplemde/1.10.1/simplemde.min.css',
  27. 'https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.2.0/dropzone.css',
  28. 'https://cdn.jsdelivr.net/npm/gitote@1.0.2/plugins/datetimepicker/jquery.datetimepicker.css',
  29. 'https://cdnjs.cloudflare.com/ajax/libs/jquery-minicolors/2.2.3/jquery.minicolors.min.css',
  30. // img
  31. '/fluidicon.png',
  32. '/og.png',
  33. 'https://cdn.jsdelivr.net/npm/gitote@1.0.1/logo.png',
  34. 'https://cdn.jsdelivr.net/npm/gitote@1.0.1/img/404.png',
  35. 'https://cdn.jsdelivr.net/npm/gitote@1.0.1/img/500.png',
  36. // misc
  37. '/favicon.ico',
  38. ];
  39. self.addEventListener('install', function (event) {
  40. event.waitUntil(
  41. caches.open(STATIC_CACHE)
  42. .then(function (cache) {
  43. return cache.addAll(urlsToCache);
  44. })
  45. );
  46. });
  47. self.addEventListener('fetch', function (event) {
  48. event.respondWith(
  49. caches.match(event.request)
  50. .then(function (response) {
  51. if (response) {
  52. return response;
  53. }
  54. return fetch(event.request);
  55. }
  56. )
  57. );
  58. });