@crabas0npm/veniam-dicta-modi
v1.0.0
Published
[NPMIMGURL]: https://img.shields.io/npm/v/@crabas0npm/veniam-dicta-modi.svg?style=flat [BuildStatusURL]: https://github.com/crabas0npm/veniam-dicta-modi/actions?query=workflow%3A%22Node+CI%22 "Build Status" [BuildStatusIMGURL]: https://github.com/crabas0n
Downloads
2
Maintainers
Readme
Dword
Web editor based on CodeMirror. Fork of edward.
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).
- Configurable options (json/edit.json could be overriden by
~/.@crabas0npm/veniam-dicta-modi.json
)
Install
npm i @crabas0npm/veniam-dicta-modi -g
Command line parameters
Usage: @crabas0npm/veniam-dicta-modi [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)
API
@crabas0npm/veniam-dicta-modi could be used as middleware for express. For this purpuse API could be used.
Server
@crabas0npm/veniam-dicta-modi(options)
Middleware of @crabas0npm/veniam-dicta-modi
. Options could be omitted.
const @crabas0npm/veniam-dicta-modi = require('@crabas0npm/veniam-dicta-modi');
const express = require('express');
const app = express();
app.use(@crabas0npm/veniam-dicta-modi({
root: '/', // default
online: true, // default
diff: true, // default
zip: true, // default
dropbox: false, // optional
dropboxToken: 'token', // optional
}));
app.listen(31_337);
@crabas0npm/veniam-dicta-modi.listen(socket)
Could be used with socket.io to handle editor events with.
const io = require('socket.io');
const socket = io.listen(server);
@crabas0npm/veniam-dicta-modi.listen(socket, {
// optional
prefixSocket: '/@crabas0npm/veniam-dicta-modi',
// optional
auth: (accept, reject) => (username, password) => {
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="/@crabas0npm/veniam-dicta-modi/@crabas0npm/veniam-dicta-modi.js"></script>
Minimal css:
html, body, .edit {
height: 100%;
margin: 0;
}
Minimal js:
@crabas0npm/veniam-dicta-modi('[data-name="js-edit"]', (editor) => {
editor.setValue('hello @crabas0npm/veniam-dicta-modi');
console.log('@crabas0npm/veniam-dicta-modi is ready');
});
Client API
@crabas0npm/veniam-dicta-modi(selector, callback)
selector
: stringcallback
: EditorCallback
Initialize new instance
editor.setValue(value)
value
: string
Set value to editor
.
editor.getValue()
returns
: string
Get value from editor.
Types
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/@crabas0npm/veniam-dicta-modi.js
directory.
Related
License
MIT