All Projects → cloudcmd → edward

cloudcmd / edward

Licence: MIT license
Web editor as express middleware

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
HCL
1544 projects

Projects that are alternatives of or similar to edward

files-io
Read many files with node
Stars: ✭ 19 (-29.63%)
Mutual labels:  cloudcmd
rpi-nas
🌐👨‍💻💻 Setup your own NAS on a Raspberry Pi
Stars: ✭ 29 (+7.41%)
Mutual labels:  cloudcmd
dword
Web editor based on CodeMirror
Stars: ✭ 37 (+37.04%)
Mutual labels:  cloudcmd
console-io
Web console
Stars: ✭ 55 (+103.7%)
Mutual labels:  cloudcmd
deepword
Web editor based on Monaco
Stars: ✭ 25 (-7.41%)
Mutual labels:  cloudcmd

Edward License NPM version

Web editor used in Cloud Commander based on Ace.

Edward

Features

  • Syntax highlighting based on extension of file for over 110 languages.
  • Built-in emmet (for html files)
  • Drag n drop (drag file from desktop to editor).
  • Configurable options (json/edit.json could be overriden by ~/.edward.json)

Install

npm i edward -g

NPM_INFO

Command line parameters

Usage: edward [filename]

Parameter Operation
-h, --help display help and exit
-v, --version output version information and exit

Hot keys

Key Operation
Ctrl + s save
Ctrl + f find
Ctrl + h replace
Ctrl + g go to line
Ctrl + e evaluate (JavaScript only supported)

For more details see Ace keyboard shortcuts.

API

Edward could be used as middleware for express. For this purpuse API could be used.

Server

edward(options)

Middleware of edward. Options could be omitted.

const edward = require('edward');
const express = require('express');
const app = express();

app.use(edward({
    root: '/', // default
    online: true, // default
    diff: true, // default
    zip: true, // default
    dropbox: false, // optional
    dropboxToken: 'token', // optional
}));

app.listen(31_337);

edward.listen(socket)

Could be used with socket.io to handle editor events with.

const io = require('socket.io');
const socket = io.listen(server);

edward.listen(socket, {
    root: '/', // optional
    prefixSocket: '/edward', //optional
    auth: (accept, reject) => (username, password) => {
        accept();
    },
});

Client

Edward uses ace on client side, so API is similar. All you need is put minimal html, css, and js into your page.

Minimal html:

<div class="edit" data-name="js-edit"></div>
<script src="/edward/edward.js"></script>

Minimal css:

html, body, .edit {
    height: 100%;
    margin: 0;
}

Minimal js:

edward('[data-name="js-edit"]', (editor) => {
    editor.setValue('Hello edward!');
});

For more information you could always look around into assets and bin directory.

Related

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].