Added Progressive Web App support for Etherpad (#6411)

This commit is contained in:
SamTV12345 2024-06-01 13:14:45 +02:00 committed by GitHub
parent 2e12906ff5
commit f1a1b6bfd7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 45 additions and 8 deletions

View file

@ -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"
}
}
]
}

View file

@ -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();
}

View file

@ -2,7 +2,8 @@
<html lang="en">
<head>
<title><%- padId %></title>
<meta name="generator" content="Etherpad"/>
<link rel="manifest" href="/manifest.json" />
<meta name="generator" content="Etherpad"/>
<meta name="author" content="Etherpad"/>
<meta name="changedby" content="Etherpad"/>
<meta charset="utf-8"/>

View file

@ -6,6 +6,7 @@
<title><%=settings.title%></title>
<meta charset="utf-8">
<link rel="manifest" href="/manifest.json" />
<meta name="referrer" content="no-referrer">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<link rel="shortcut icon" href="favicon.ico">

View file

@ -2,7 +2,8 @@
<html>
<head>
<title>JavaScript license information</title>
<meta charset="utf-8">
<link rel="manifest" href="/manifest.json" />
<meta charset="utf-8">
<meta name="robots" content="noindex, nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
</head>

View file

@ -10,6 +10,7 @@
<% e.begin_block("htmlHead"); %>
<% e.end_block(); %>
<title><%=settings.title%></title>
<link rel="manifest" href="/manifest.json" />
<script>
/*
|@licstart The following is the entire license notice for the

View file

@ -31,6 +31,7 @@
</script>
<script src="../../static/js/basic_error_handler.js?v=<%=settings.randomVersionString%>"></script>
<meta charset="utf-8">
<link rel="manifest" href="/manifest.json" />
<meta name="robots" content="noindex, nofollow">
<meta name="referrer" content="no-referrer">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">