diff --git a/src/ep.json b/src/ep.json index a96890fb4..a6d65a08f 100644 --- a/src/ep.json +++ b/src/ep.json @@ -57,6 +57,12 @@ "expressCreateServer": "ep_etherpad-lite/node/hooks/express/padurlsanitize" } }, + { + "name": "pwa", + "hooks": { + "expressCreateServer": "ep_etherpad-lite/node/hooks/express/pwa" + } + }, { "name": "apicalls", "hooks": { @@ -112,12 +118,6 @@ "hooks": { "expressPreSession": "ep_etherpad-lite/node/hooks/express/openapi" } - }, - { - "name": "ep_message_all", - "client_hooks": { - "handleClientMessage_shoutMessage": "ep_etherpad-lite/static/js/messageHandler" - } } ] } diff --git a/src/node/hooks/express/pwa.ts b/src/node/hooks/express/pwa.ts new file mode 100644 index 000000000..918efbc05 --- /dev/null +++ b/src/node/hooks/express/pwa.ts @@ -0,0 +1,32 @@ +import {ArgsExpressType} from "../../types/ArgsExpressType"; +const settings = require('../../utils/Settings'); + +const pwa = { + name: settings.title || "Etherpad", + short_name: settings.title, + description: "A collaborative online editor", + icons: [ + { + "src": "/static/skins/colibris/images/fond.jpg", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "/favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + type: "image/png" + } + ], + start_url: "/", + display: "fullscreen", + theme_color: "#0f775b", + background_color: "#0f775b" +} + +exports.expressCreateServer = (hookName:string, args:ArgsExpressType, cb:Function) => { + args.app.get('/manifest.json', (req:any, res:any) => { + res.json(pwa); + }); + + return cb(); +} diff --git a/src/templates/export_html.html b/src/templates/export_html.html index f00f4d953..3ac27e9e8 100644 --- a/src/templates/export_html.html +++ b/src/templates/export_html.html @@ -2,7 +2,8 @@