1.0.0 • Published 1 year ago

@crabas0npm/veniam-dicta-modi v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Dword License NPM version

Web editor based on CodeMirror. Fork of edward.

@crabas0npm/veniam-dicta-modi

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

NPM_INFO

Command line parameters

Usage: @crabas0npm/veniam-dicta-modi [filename]

ParameterOperation
-h, --helpdisplay help and exit
-v, --versionoutput version information and exit

Hot keys

KeyOperation
Ctrl + ssave
Ctrl + ffind
Ctrl + hreplace
Ctrl + ggo to line
Ctrl + eevaluate (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: string
  • callback: 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