Web editor as express middleware
Web editor used in Cloud Commander based on Ace.
emmet
(for html files)~/.edward.json
)npm i edward -g
Usage: edward [filename]
Parameter | Operation |
---|---|
-h, --help |
display help and exit |
-v, --version |
output version information and exit |
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.
Edward could be used as middleware for express. For this purpuse API could be used.
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);
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();
},
});
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.
MIT