From 6c37677c2a23f2bc3cc2cd9deeb294510de03681 Mon Sep 17 00:00:00 2001 From: tiddlygit-test Date: Fri, 16 Oct 2020 22:27:28 +0800 Subject: [PATCH] feat: add service-worker plugin --- .../service-worker/load-service-worker.html | 165 ++++++++++++++++++ .../load-service-worker.html.meta | 4 + .../linonetwo/service-worker/plugin.info | 9 + .../linonetwo/service-worker/readme.tid | 51 ++++++ template/wiki/public/service-worker.js | 2 +- template/wiki/tiddlywiki.info | 1 + 6 files changed, 231 insertions(+), 1 deletion(-) create mode 100644 template/wiki/plugins/linonetwo/service-worker/load-service-worker.html create mode 100644 template/wiki/plugins/linonetwo/service-worker/load-service-worker.html.meta create mode 100644 template/wiki/plugins/linonetwo/service-worker/plugin.info create mode 100755 template/wiki/plugins/linonetwo/service-worker/readme.tid diff --git a/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html b/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html new file mode 100644 index 00000000..e89fb293 --- /dev/null +++ b/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html @@ -0,0 +1,165 @@ + + + + + diff --git a/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html.meta b/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html.meta new file mode 100644 index 00000000..651f5b1e --- /dev/null +++ b/template/wiki/plugins/linonetwo/service-worker/load-service-worker.html.meta @@ -0,0 +1,4 @@ +creator: LinOnetwo +tags: $:/tags/RawMarkup +title: $:/plugins/linonetwo/service-worker/load-service-worker.html +type: text/html diff --git a/template/wiki/plugins/linonetwo/service-worker/plugin.info b/template/wiki/plugins/linonetwo/service-worker/plugin.info new file mode 100644 index 00000000..dbb61505 --- /dev/null +++ b/template/wiki/plugins/linonetwo/service-worker/plugin.info @@ -0,0 +1,9 @@ +{ + "title": "$:/plugins/linonetwo/service-worker", + "description": "Use service worker to cache content, make it works even offline, and can be add to the desktop as an App.", + "author": "LinOnetwo", + "core-version": ">=5.1.22", + "plugin-type": "plugin", + "version": "0.0.1", + "list": "readme" +} \ No newline at end of file diff --git a/template/wiki/plugins/linonetwo/service-worker/readme.tid b/template/wiki/plugins/linonetwo/service-worker/readme.tid new file mode 100755 index 00000000..d559d547 --- /dev/null +++ b/template/wiki/plugins/linonetwo/service-worker/readme.tid @@ -0,0 +1,51 @@ +title: $:/plugins/linonetwo/service-worker/readme +created: 20200414135748497 +modified: 20200602062349232 +creator: LinOnetwo +type: text/vnd.tiddlywiki + +!! Usage + +After install, you have to publish your wiki as a HTTPS website to make it work. + +!!! Make sure to include all necessary step in the build process + +Add following files to your `/public` folder after build, you can use a script to copy them to the build folder after the wiki build process: + +1. Add a `manifest.webmanifest` like: + +```json +{ + "background_color": "white", + "theme_color": "white", + "description": "Meme of LinOnetwo 林一二的模因和想法 - TiddlyWiki 非线性的知识库和博客", + "display": "standalone", + "icons": [ + { + "src": "/TiddlyWikiIconBlack.png", + "sizes": "256x256", + "type": "image/png" + }, + { + "src": "/TiddlyWikiIconWhite.png", + "sizes": "144x144", + "type": "image/png" + } + ], + "name": "TiddlyWiki", + "short_name": "Wiki", + "lang": "zh-CN", + "start_url": "/", + "scope": "/" +} +``` + +Make sure icon size is at least 144x144. And change all necessary fields. + +2. Add `service-worker.js`: + +See [[https://github.com/linonetwo/Meme-of-LinOnetwo/public/service-worker.js|https://github.com/linonetwo/Meme-of-LinOnetwo/blob/d088f72a2b95ee21b68af1b349d9993a3997bf19/Meme-of-LinOnetwo/public/service-worker.js]] for example. + +!!! Config router + +Sometimes request from this plugin to your `service-worker.js` will resulted in 404, this is basically because you are not putting `service-worker.js` just besides your `index.html`, or the router config is wrong. diff --git a/template/wiki/public/service-worker.js b/template/wiki/public/service-worker.js index 178c028b..72f2d8e9 100644 --- a/template/wiki/public/service-worker.js +++ b/template/wiki/public/service-worker.js @@ -1,4 +1,4 @@ -importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.3/workbox-sw.js'); +importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.4/workbox-sw.js'); if (workbox) { console.log(`Yay! Workbox is loaded 🎉Service Worker is working!`); diff --git a/template/wiki/tiddlywiki.info b/template/wiki/tiddlywiki.info index e705f118..d5bc556e 100644 --- a/template/wiki/tiddlywiki.info +++ b/template/wiki/tiddlywiki.info @@ -37,6 +37,7 @@ "felixhayashi/topstoryview", "mat/field-value-selector", "linonetwo/opened-tiddlers-bar", + "linonetwo/service-worker", "linonetwo/copy-on-select", "linonetwo/source-control-management", "linonetwo/prevent-edit"