mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-20 07:35:05 -04:00
Added docs and search. (#6273)
* Added docs and search. * Fixed pull request runs.
This commit is contained in:
parent
6def26b2f0
commit
abfadd493c
8 changed files with 253 additions and 56 deletions
|
@ -1,14 +1,22 @@
|
|||
# Editbar
|
||||
src/static/js/pad_editbar.js
|
||||
|
||||
Located in `src/static/js/pad_editbar.js`
|
||||
|
||||
## isEnabled()
|
||||
|
||||
If the editorbar contains the class `enabledtoolbar`, it is enabled.
|
||||
|
||||
|
||||
## disable()
|
||||
|
||||
Disables the editorbar. This is done by adding the class `disabledtoolbar` and removing the enabledtoolbar
|
||||
|
||||
## toggleDropDown(dropdown)
|
||||
|
||||
Shows the dropdown `div.popup` whose `id` equals `dropdown`.
|
||||
|
||||
## registerCommand(cmd, callback)
|
||||
|
||||
Register a handler for a specific command. Commands are fired if the corresponding button is clicked or the corresponding select is changed.
|
||||
|
||||
## registerAceCommand(cmd, callback)
|
||||
|
|
|
@ -1,43 +1,141 @@
|
|||
# editorInfo
|
||||
# EditorInfo
|
||||
|
||||
Location: `src/static/js/ace2_inner.js`
|
||||
|
||||
## editorInfo.ace_replaceRange(start, end, text)
|
||||
This function replaces a range (from `start` to `end`) with `text`.
|
||||
|
||||
## editorInfo.ace_getRep()
|
||||
Returns the `rep` object.
|
||||
|
||||
Returns the `rep` object. The rep object consists of the following properties:
|
||||
|
||||
- `lines`: Implemented as a skip list
|
||||
- `selStart`: The start of the selection
|
||||
- `selEnd`: The end of the selection
|
||||
- `selFocusAtStart`: Whether the selection is focused at the start
|
||||
- `alltext`: The entire text of the document
|
||||
- `alines`: The entire text of the document, split into lines
|
||||
- `apool`: The pool of attributes
|
||||
|
||||
## editorInfo.ace_getAuthor()
|
||||
|
||||
Returns the authors of the pad. If the pad has no authors, it returns an empty object.
|
||||
|
||||
|
||||
## editorInfo.ace_inCallStack()
|
||||
|
||||
Returns true if the editor is in the call stack.
|
||||
|
||||
## editorInfo.ace_inCallStackIfNecessary(?)
|
||||
|
||||
Executes the function if the editor is in the call stack.
|
||||
|
||||
## editorInfo.ace_focus(?)
|
||||
|
||||
Focuses the editor.
|
||||
|
||||
## editorInfo.ace_importText(?)
|
||||
|
||||
Imports text into the editor.
|
||||
|
||||
## editorInfo.ace_importAText(?)
|
||||
|
||||
Imports text and attributes into the editor.
|
||||
|
||||
## editorInfo.ace_exportText(?)
|
||||
|
||||
Exports the text from the editor.
|
||||
|
||||
## editorInfo.ace_editorChangedSize(?)
|
||||
|
||||
Changes the size of the editor.
|
||||
|
||||
## editorInfo.ace_setOnKeyPress(?)
|
||||
|
||||
Sets the key press event.
|
||||
|
||||
## editorInfo.ace_setOnKeyDown(?)
|
||||
|
||||
Sets the key down event.
|
||||
|
||||
## editorInfo.ace_setNotifyDirty(?)
|
||||
|
||||
Sets the dirty notification.
|
||||
|
||||
## editorInfo.ace_dispose(?)
|
||||
|
||||
Disposes the editor.
|
||||
|
||||
## editorInfo.ace_setEditable(bool)
|
||||
|
||||
Sets the editor to be editable or not.
|
||||
|
||||
## editorInfo.ace_execCommand(?)
|
||||
|
||||
Executes a command.
|
||||
|
||||
## editorInfo.ace_callWithAce(fn, callStack, normalize)
|
||||
|
||||
Calls a function with the ace instance.
|
||||
|
||||
## editorInfo.ace_setProperty(key, value)
|
||||
|
||||
Sets a property.
|
||||
|
||||
## editorInfo.ace_setBaseText(txt)
|
||||
|
||||
Sets the base text.
|
||||
|
||||
## editorInfo.ace_setBaseAttributedText(atxt, apoolJsonObj)
|
||||
|
||||
Sets the base attributed text.
|
||||
|
||||
## editorInfo.ace_applyChangesToBase(c, optAuthor, apoolJsonObj)
|
||||
|
||||
Applies changes to the base.
|
||||
|
||||
## editorInfo.ace_prepareUserChangeset()
|
||||
|
||||
Prepares the user changeset.
|
||||
|
||||
## editorInfo.ace_applyPreparedChangesetToBase()
|
||||
|
||||
Applies the prepared changeset to the base.
|
||||
|
||||
## editorInfo.ace_setUserChangeNotificationCallback(f)
|
||||
|
||||
Sets the user change notification callback.
|
||||
|
||||
## editorInfo.ace_setAuthorInfo(author, info)
|
||||
|
||||
Sets the author info.
|
||||
|
||||
## editorInfo.ace_fastIncorp(?)
|
||||
|
||||
Incorporates changes quickly.
|
||||
|
||||
## editorInfo.ace_isCaret(?)
|
||||
|
||||
Returns true if the caret is at the specified position.
|
||||
|
||||
## editorInfo.ace_getLineAndCharForPoint(?)
|
||||
|
||||
Returns the line and character for a point.
|
||||
|
||||
## editorInfo.ace_performDocumentApplyAttributesToCharRange(?)
|
||||
|
||||
Applies attributes to a character range.
|
||||
|
||||
## editorInfo.ace_setAttributeOnSelection(attribute, enabled)
|
||||
|
||||
Sets an attribute on current range.
|
||||
Example: `call.editorInfo.ace_setAttributeOnSelection("turkey::balls", true); // turkey is the attribute here, balls is the value
|
||||
Notes: to remove the attribute pass enabled as false
|
||||
|
||||
## editorInfo.ace_toggleAttributeOnSelection(?)
|
||||
|
||||
Toggles an attribute on the current range.
|
||||
|
||||
## editorInfo.ace_getAttributeOnSelection(attribute, prevChar)
|
||||
Returns a boolean if an attribute exists on a selected range.
|
||||
prevChar value should be true if you want to get the previous Character attribute instead of the current selection for example
|
||||
|
@ -48,32 +146,63 @@ Example `var isItThere = documentAttributeManager.getAttributeOnSelection("turke
|
|||
|
||||
See the ep_subscript plugin for an example of this function in action.
|
||||
Notes: Does not work on first or last character of a line. Suffers from a race condition if called with aceEditEvent.
|
||||
|
||||
## editorInfo.ace_performSelectionChange(?)
|
||||
|
||||
Performs a selection change.
|
||||
|
||||
## editorInfo.ace_doIndentOutdent(?)
|
||||
|
||||
Indents or outdents the selection.
|
||||
|
||||
## editorInfo.ace_doUndoRedo(?)
|
||||
|
||||
Undoes or redoes the last action.
|
||||
|
||||
## editorInfo.ace_doInsertUnorderedList(?)
|
||||
|
||||
Inserts an unordered list.
|
||||
|
||||
## editorInfo.ace_doInsertOrderedList(?)
|
||||
|
||||
Inserts an ordered list.
|
||||
|
||||
## editorInfo.ace_performDocumentApplyAttributesToRange()
|
||||
|
||||
Applies attributes to a range.
|
||||
|
||||
## editorInfo.ace_getAuthorInfos()
|
||||
Returns an info object about the author. Object key = author_id and info includes author's bg color value.
|
||||
Use to define your own authorship.
|
||||
|
||||
## editorInfo.ace_performDocumentReplaceRange(start, end, newText)
|
||||
This function replaces a range (from [x1,y1] to [x2,y2]) with `newText`.
|
||||
|
||||
## editorInfo.ace_performDocumentReplaceCharRange(startChar, endChar, newText)
|
||||
This function replaces a range (from y1 to y2) with `newText`.
|
||||
|
||||
## editorInfo.ace_renumberList(lineNum)
|
||||
If you delete a line, calling this method will fix the line numbering.
|
||||
|
||||
## editorInfo.ace_doReturnKey()
|
||||
Forces a return key at the current caret position.
|
||||
|
||||
## editorInfo.ace_isBlockElement(element)
|
||||
Returns true if your passed element is registered as a block element
|
||||
Returns true if your passed element is registered as a block element.
|
||||
|
||||
## editorInfo.ace_getLineListType(lineNum)
|
||||
Returns the line's html list type.
|
||||
|
||||
## editorInfo.ace_caretLine()
|
||||
Returns X position of the caret.
|
||||
|
||||
## editorInfo.ace_caretColumn()
|
||||
Returns Y position of the caret.
|
||||
|
||||
## editorInfo.ace_caretDocChar()
|
||||
|
||||
Returns the Y offset starting from [x=0,y=0]
|
||||
|
||||
## editorInfo.ace_isWordChar(?)
|
||||
|
||||
Returns true if the character is a word character.
|
||||
|
|
|
@ -485,7 +485,7 @@ You can pass the following values to the provided callback:
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.authorize = (hookName, context, cb) => {
|
||||
const user = context.req.session.user;
|
||||
const path = context.req.path; // or context.resource
|
||||
|
@ -533,7 +533,7 @@ object should come from global settings (`context.users[username]`).
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.authenticate = (hook_name, context, cb) => {
|
||||
if (notApplicableToThisPlugin(context)) {
|
||||
return cb([]); // Let the next authentication plugin decide
|
||||
|
@ -587,7 +587,7 @@ failure or a generic 403 page for an authorization failure).
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.authFailure = (hookName, context, cb) => {
|
||||
if (notApplicableToThisPlugin(context)) {
|
||||
return cb([]); // Let the next plugin handle the error
|
||||
|
@ -618,7 +618,7 @@ another plugin (if any, otherwise fall back to a generic 403 error page).
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.preAuthzFailure = (hookName, context, cb) => {
|
||||
if (notApplicableToThisPlugin(context)) return cb([]);
|
||||
context.res.status(403).send(renderFancy403Page(context.req));
|
||||
|
@ -650,7 +650,7 @@ another plugin (if any, otherwise fall back to the deprecated authFailure hook).
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.authnFailure = (hookName, context, cb) => {
|
||||
if (notApplicableToThisPlugin(context)) return cb([]);
|
||||
context.res.redirect(makeLoginURL(context.req));
|
||||
|
@ -678,7 +678,7 @@ another plugin (if any, otherwise fall back to the deprecated authFailure hook).
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.authzFailure = (hookName, context, cb) => {
|
||||
if (notApplicableToThisPlugin(context)) return cb([]);
|
||||
if (needsPremiumAccount(context.req) && !context.req.session.user.premium) {
|
||||
|
@ -792,7 +792,7 @@ If needed, you can access the user's account information (if authenticated) via
|
|||
|
||||
Examples:
|
||||
|
||||
```
|
||||
```js
|
||||
// Using an async function
|
||||
exports.clientVars = async (hookName, context) => {
|
||||
const user = context.socket.client.request.session.user || {};
|
||||
|
@ -850,7 +850,7 @@ the body of the exported HTML.
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.exportHTMLAdditionalContent = async (hookName, {padId}) => {
|
||||
return 'I am groot in ' + padId;
|
||||
};
|
||||
|
@ -867,7 +867,7 @@ This hook will allow a plug-in developer to append Styles to the Exported HTML.
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.stylesForExport = function(hook, padId, cb){
|
||||
cb("body{font-size:13.37em !important}");
|
||||
}
|
||||
|
@ -885,7 +885,7 @@ or provide an object whose properties will be assigned to the attributes object.
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.aceAttribClasses = (hookName, attrs, cb) => {
|
||||
return cb([{
|
||||
sub: 'tag:sub',
|
||||
|
@ -904,7 +904,7 @@ This hook will allow a plug-in developer to modify the file name of an exported
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
exports.exportFileName = function(hook, padId, callback){
|
||||
callback("newFileName"+padId);
|
||||
}
|
||||
|
@ -920,7 +920,7 @@ Things in context:
|
|||
This hook will allow a plug-in developer to include more properties and attributes to support during HTML Export. If tags are stored as `['color', 'red']` on the attribute pool, use `exportHtmlAdditionalTagsWithData` instead. An Array should be returned.
|
||||
|
||||
Example:
|
||||
```
|
||||
```js
|
||||
// Add the props to be supported in export
|
||||
exports.exportHtmlAdditionalTags = function(hook, pad, cb){
|
||||
var padId = pad.id;
|
||||
|
@ -938,7 +938,7 @@ Things in context:
|
|||
Identical to `exportHtmlAdditionalTags`, but for tags that are stored with a specific value (not simply `true`) on the attribute pool. For example `['color', 'red']`, instead of `['bold', true]`. This hook will allow a plug-in developer to include more properties and attributes to support during HTML Export. An Array of arrays should be returned. The exported HTML will contain tags like `<span data-color="red">` for the content where attributes are `['color', 'red']`.
|
||||
|
||||
Example:
|
||||
```
|
||||
```js
|
||||
// Add the props to be supported in export
|
||||
exports.exportHtmlAdditionalTagsWithData = function(hook, pad, cb){
|
||||
var padId = pad.id;
|
||||
|
@ -962,7 +962,7 @@ Context properties: None.
|
|||
|
||||
Example:
|
||||
|
||||
```
|
||||
```js
|
||||
// Add support for exporting comments metadata
|
||||
exports.exportEtherpadAdditionalContent = () => ['comments'];
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue