Web editor based on CodeMirror. Fork of edward.
- Syntax highlighting based on extension of file for over 90 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 ~/.dword.json)
npm i dword -g
Usage: dword [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) | 
dword could be used as middleware for express. For this purpuse API could be used.
Middleware of dword. Options could be omitted.
const dword = require('dword');
const express = require('express');
const app = express();
app.use(dword({
    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);
dword.listen(socket, {
    // optional
    prefixSocket: '/dword',
    // optional
    auth: (accept, reject) => (username, password) => {
        accept();
    },
});Dword uses codemirror 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="/dword/dword.js"></script>Minimal css:
html, body, .edit {
    height: 100%;
    margin: 0;
}Minimal js:
dword('[data-name="js-edit"]', (editor) => {
    editor.setValue('hello dword');
    console.log('dword is ready');
});- selector: string
- callback: EditorCallback
Initialize new instance
- value: string
Set value to editor.
- returns: string
Get value from editor.
interface Editor {
    setValue: (value: string) => void;
    getValue: () => string;
}
type EditorCallback = (editor: Editor) => void;
type Dword = (selector: string, callback: EditorCallback) => void;For more information you could always look around client/dword.js directory.
MIT

