JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets
bin
client
codemirror
css
img
json feature(modules) socket.io v2.1.1 May 22, 2018
modules
server
.babelrc
.bowerrc
.editorconfig
.eslintrc
.gitignore
.jshintrc
.npmignore
.travis.yml
ChangeLog
LICENSE
README.md
bower.json
package.json
webpack.config.codemirror.js
webpack.config.js

README.md

Dword License NPM version Dependency Status

Web editor based on CodeMirror. Fork of edward.

dword

Features

  • 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).
  • Built-in jshint (with options in .jshintrc file, could be overriden by ~/.jshintrc)
  • Built-in beautifier (with options in json/beautify.json, could be overriden by ~/.beautify.json)
  • Configurable options (json/edit.json could be overriden by ~/.dword.json)

Install

npm i dword -g

NPM_INFO

Command line parameters

Usage: dword [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 + b beautify js, css or html
Ctrl + m minify js, css or html
Ctrl + e evaluate (JavaScript only supported)

API

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

Server

dword(options)

Middleware of dword. Options could be omitted.

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

app.use(dword({
    online  : true,  /* default */
    diff    : true,  /* default */
    zip     : true,  /* default */
}));

app.listen(31337);

dword.listen(socket)

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

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

dword.listen(socket, {
    auth: (accept, reject) => (username, password) => { /* optional */
        accept();
    }
});

Client

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"]', function(editor) {
    editor.setValue('hello dword');
    console.log('dword is ready');
});

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

Related

License

MIT