diff --git a/doc/api/hooks_client-side.adoc b/doc/api/hooks_client-side.adoc index d10a948cba1..e88737cce5d 100644 --- a/doc/api/hooks_client-side.adoc +++ b/doc/api/hooks_client-side.adoc @@ -283,7 +283,7 @@ Things in context: This hook is called on the client side whenever a user joins or changes. This can be used to create notifications or an alternate user list. -=== `chatNewMessage` +=== chatNewMessage Called from: `src/static/js/chat.js` @@ -319,7 +319,7 @@ Context properties: * `duration`: How long (in milliseconds) to display the gritter notification (0 to disable). -=== `chatSendMessage` +=== chatSendMessage Called from: `src/static/js/chat.js` diff --git a/doc/api/hooks_server-side.adoc b/doc/api/hooks_server-side.adoc index 0871f0c9f5e..2bc0d3bb6fa 100644 --- a/doc/api/hooks_server-side.adoc +++ b/doc/api/hooks_server-side.adoc @@ -51,7 +51,7 @@ Things in context: If this hook returns an error, the callback to the install function gets an error, too. This seems useful for adding in features when a particular plugin is installed. -=== `init_` +=== init_ Called from: `src/static/js/pluginfw/plugins.js` @@ -62,7 +62,7 @@ Context properties: * `logger`: An object with the following `console`-like methods: `debug`, `info`, `log`, `warn`, `error`. -=== `expressPreSession` +=== expressPreSession Called from: `src/node/hooks/express.js` @@ -92,7 +92,7 @@ exports.expressPreSession = async (hookName, {app}) => { }; ---- -=== `expressConfigure` +=== expressConfigure Called from: `src/node/hooks/express.js` @@ -107,7 +107,7 @@ Context properties: * `app`: The Express https://expressjs.com/en/4x/api.html==app[Application] object. -=== `expressCreateServer` +=== expressCreateServer Called from: `src/node/hooks/express.js` @@ -210,7 +210,7 @@ Things in context: This hook gets called when the access to the concrete pad is being checked. Return `false` to deny access. -=== `getAuthorId` +=== getAuthorId Called from `src/node/db/AuthorManager.js` @@ -267,7 +267,7 @@ exports.getAuthorId = async (hookName, context) => { }; ---- -=== `padCreate` +=== padCreate Called from: `src/node/db/Pad.js` @@ -279,7 +279,7 @@ Context properties: * `authorId`: The ID of the author who created the pad. * `author` (**deprecated**): Synonym of `authorId`. -=== `padDefaultContent` +=== padDefaultContent Called from `src/node/db/Pad.js` @@ -304,7 +304,7 @@ Context properties: be updated to match. Plugins must check the value of the `type` property before reading this value. -=== `padLoad` +=== padLoad Called from: `src/node/db/PadManager.js` @@ -315,7 +315,7 @@ Context properties: * `pad`: The Pad object. [#_padupdate] -=== `padUpdate` +=== padUpdate Called from: `src/node/db/Pad.js` @@ -329,7 +329,7 @@ Context properties: * `revs`: The index of the new revision. * `changeset`: The changeset of this revision (see <<_padupdate>>). -=== `padCopy` +=== padCopy Called from: `src/node/db/Pad.js` @@ -355,7 +355,7 @@ Usage examples: * https://github.com/ether/ep_comments_page -=== `padRemove` +=== padRemove Called from: `src/node/db/Pad.js` @@ -370,7 +370,7 @@ Usage examples: * https://github.com/ether/ep_comments_page -=== `padCheck` +=== padCheck Called from: `src/node/db/Pad.js` @@ -393,7 +393,7 @@ Things in context: I have no idea what this is useful for, someone else will have to add this description. -=== `preAuthorize` +=== preAuthorize Called from: `src/node/hooks/express/webaccess.js` @@ -700,7 +700,7 @@ exports.authzFailure = (hookName, context, cb) => { }; ---- -=== `handleMessage` +=== handleMessage Called from: `src/node/handler/PadMessageHandler.js` @@ -733,7 +733,7 @@ exports.handleMessage = async (hookName, {message, socket}) => { }; ---- -=== `handleMessageSecurity` +=== handleMessageSecurity Called from: `src/node/handler/PadMessageHandler.js` @@ -819,7 +819,7 @@ exports.clientVars = (hookName, context, callback) => { }; ---- -=== `getLineHTMLForExport` +=== getLineHTMLForExport Called from: `src/node/utils/ExportHtml.js` @@ -968,7 +968,7 @@ exports.exportHtmlAdditionalTagsWithData = function(hook, pad, cb){ }; ---- -=== `exportEtherpadAdditionalContent` +=== exportEtherpadAdditionalContent Called from `src/node/utils/ExportEtherpad.js` and `src/node/utils/ImportEtherpad.js`. @@ -990,7 +990,7 @@ Example: exports.exportEtherpadAdditionalContent = () => ['comments']; ---- -=== `exportEtherpad` +=== exportEtherpad Called from `src/node/utils/ExportEtherpad.js`. @@ -1013,7 +1013,7 @@ Context properties: should not assume that it is either the pad's real writable ID or its read-only ID. -=== `importEtherpad` +=== importEtherpad Called from `src/node/utils/ImportEtherpad.js`. @@ -1032,7 +1032,7 @@ Context properties: modified. * `srcPadId`: The pad ID used for the pad-specific information in `data`. -=== `import` +=== import Called from: `src/node/handler/ImportHandler.js` @@ -1062,7 +1062,7 @@ exports.import = async (hookName, {fileEnding, ImportError}) => { }; ---- -=== `userJoin` +=== userJoin Called from: `src/node/handler/PadMessageHandler.js` @@ -1086,7 +1086,7 @@ exports.userJoin = async (hookName, {authorId, displayName, padId}) => { }; ``` -=== `userLeave` +=== userLeave Called from: `src/node/handler/PadMessageHandler.js` @@ -1110,7 +1110,7 @@ exports.userLeave = async (hookName, {author, padId}) => { }; ---- -=== `chatNewMessage` +=== chatNewMessage Called from: `src/node/handler/PadMessageHandler.js` diff --git a/doc/assets/style.css b/doc/assets/style.css index 826e518d8c5..31343fb19ab 100644 --- a/doc/assets/style.css +++ b/doc/assets/style.css @@ -1,9 +1,9 @@ body { border-top: solid #44b492 5pt; - line-height:150%; - font-family: 'Quicksand',sans-serif; + line-height: 150%; + font-family: "Quicksand", sans-serif; color: #313b4a; - max-width:800px; + max-width: 1440px; margin: 0 auto; padding: 20px; } @@ -12,24 +12,25 @@ a { color: #555; } -h1,h2 { +h1, +h2 { color: #44b492; - line-height:100%; + line-height: 100%; } h2 { - font-size: 48px ; + font-size: 48px; } h3 { font-size: 1.8rem; } -h4{ +h4 { font-size: 1.5rem; } -h5{ +h5 { font-size: 1.2rem; } @@ -39,7 +40,7 @@ a:hover { pre { background-color: #e0e0e0; - padding:20px; + padding: 20px; } code { @@ -50,7 +51,9 @@ img { max-width: 100%; } -table, th, td { +table, +th, +td { text-align: left; border: 1px solid gray; border-collapse: collapse; @@ -58,7 +61,7 @@ table, th, td { th { padding: 0.5em; - background: #EEE; + background: #eee; } td { diff --git a/doc/cookies.adoc b/doc/cookies.adoc index 1c56543821f..ec3162d0861 100644 --- a/doc/cookies.adoc +++ b/doc/cookies.adoc @@ -19,7 +19,7 @@ Cookies used by Etherpad. | Session | true | true -| Session ID of the https://expressjs.com[Express web framework]. When Etherpad is behind a reverse proxy, and an administrator wants to use session stickiness, he may use this cookie. If you are behind a reverse proxy, please remember to set `trustProxy: true` in `settings.json`. Set in [webaccess.js#L131](https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/node/hooks/express/webaccess.js#L131). +| Session ID of the https://expressjs.com[Express web framework]. When Etherpad is behind a reverse proxy, and an administrator wants to use session stickiness, he may use this cookie. If you are behind a reverse proxy, please remember to set `trustProxy: true` in `settings.json`. Set in https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/node/hooks/express/webaccess.js#L131[webaccess.js#L131]. |language @@ -29,7 +29,7 @@ Cookies used by Etherpad. | Session | false | true -| The language of the UI (e.g.: `en-GB`, `it`). Set in [pad_editor.js#L111](https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/static/js/pad_editor.js#L111). +| The language of the UI (e.g.: `en-GB`, `it`). Set in https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/static/js/pad_editor.js#L111[pad_editor.js#L111]. |prefs / prefsHttp @@ -39,7 +39,7 @@ Cookies used by Etherpad. | year 3000 | false | true -| Client-side preferences (e.g.: font family, chat always visible, show authorship colors, ...). Set in [pad_cookie.js#L49](https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/static/js/pad_cookie.js#L49). `prefs` is used if Etherpad is accessed over HTTPS, `prefsHttp` if accessed over HTTP. For more info see https://github.com/ether/etherpad-lite/issues/3179. +| Client-side preferences (e.g.: font family, chat always visible, show authorship colors, ...). Set in https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/static/js/pad_cookie.js#L49[pad_cookie.js#L49]. `prefs` is used if Etherpad is accessed over HTTPS, `prefsHttp` if accessed over HTTP. For more info see https://github.com/ether/etherpad-lite/issues/3179. @@ -50,7 +50,7 @@ Cookies used by Etherpad. | 60 days | false | true -| A random token representing the author, of the form `t.randomstring_of_lenght_20`. The random string is generated by the client, at (https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/static/js/pad.js#L55-L66[pad.js#L55-L66]). This cookie is always set by the client (at (https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/static/js/pad.js#L153-L158[pad.js#L153-L158])) without any solicitation from the server. It is used for all the pads accessed via the web UI (not used for the HTTP API). On the server side, its value is accessed at [SecurityManager.js#L33](https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/node/db/SecurityManager.js#L33). +| A random token representing the author, of the form `t.randomstring_of_lenght_20`. The random string is generated by the client, at https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/static/js/pad.js#L55-L66[pad.js#L55-L66]. This cookie is always set by the client at https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/static/js/pad.js#L153-L158[pad.js#L153-L158] without any solicitation from the server. It is used for all the pads accessed via the web UI (not used for the HTTP API). On the server side, its value is accessed at https://github.com/ether/etherpad-lite/blob/01497aa399690e44393e91c19917d11d025df71b/src/node/db/SecurityManager.js#L33[SecurityManager.js#L33]. |=== For more info, visit the related discussion at https://github.com/ether/etherpad-lite/issues/3563. diff --git a/doc/plugins.adoc b/doc/plugins.adoc index b559221cd7f..1a8e2a5191d 100644 --- a/doc/plugins.adoc +++ b/doc/plugins.adoc @@ -64,7 +64,7 @@ translations into `locales/`, though, in order to have them integrated. (See Your plugin definition goes into `ep.json`. In this file you register your hook functions, indicate the parts of your plugin and the order of execution. (A documentation of all available events to hook into can be found in chapter -[hooks](#all_hooks).) +<>.) [source,json] ---- @@ -88,7 +88,7 @@ A hook function registration maps a hook name to a hook function specification. The hook function specification looks like `ep_example/file.js:functionName`. It consists of two parts separated by a colon: a module name to `require()` and the name of a function exported by the named module. See -[`module.exports`](https://nodejs.org/docs/latest/api/modules.html#modules_module_exports) +https://nodejs.org/docs/latest/api/modules.html#modules_module_exports[`module.exports`] for how to export a function. For the module name you can omit the `.js` suffix, and if the file is `index.js`