JavaScript CSS HTML
Latest commit bb4ffef May 26, 2017 coderaiser chore(package) v3.1.0
Permalink
Failed to load latest commit information.
bin fix(console) bin: no listen (#4) Feb 8, 2017
client chore(console) es2015-ify May 26, 2017
css feature(console) get back droid sans mono v5: better support of cyrillic Feb 13, 2015
font feature(console) get back droid sans mono v5: better support of cyrillic Feb 13, 2015
img feature(console) add server Jul 23, 2014
json feature(bower) jquery v3.2.1 May 10, 2017
modules feature(bower) jquery v3.2.1 May 10, 2017
server feature(console) add webpack May 26, 2017
.babelrc feature(package) add babel-plugin-transform-object-assign Mar 2, 2017
.bowerrc chore(bowerrc) add "\n" Jan 20, 2015
.client.eslintrc feature(package) gulp -> eslint Nov 16, 2016
.eslintrc feature(package) gulp -> eslint Nov 16, 2016
.gitignore feature(console) add webpack May 26, 2017
.jshintrc
.npmignore feature(console) add webpack May 26, 2017
.travis.yml feature(package) gulp -> eslint Nov 16, 2016
ChangeLog chore(package) v3.1.0 May 26, 2017
LICENSE docs(license) 2017 Mar 2, 2017
README.md fix(console) bin: no listen (#4) Feb 8, 2017
bower.json feature(bower) jquery v3.2.1 May 10, 2017
index.html feature(index) load -> DOMContentLoaded Jan 21, 2015
package.json chore(package) v3.1.0 May 26, 2017
webpack.config.js feature(console) add webpack May 26, 2017

README.md

Console License NPM version Dependency Status Build Status

Web console used in Cloud Commander.

Console

Install

npm i console-io -g

Use as standalone

Start console, go to url http://localhost:1337

Hot keys

Key Operation
Ctrl + Z cancel input
Ctrl + L clear screen
Ctrl + C kill running task

For more details see Jq-console keyboard shortcuts.

API

Client API

Console(element [, prefix], callback)

  • element - html element, or selector
  • prefix - (optional) prefix to url (same as in server)
  • callback - function to call after init

When prefix set in server and client, you should use same prefix in html. For example, if you use prefix "any_prefix" you should connect console script in this way:

<script src="/any_prefix/console.js"></script>

Console.addShortCuts(shortCuts)

  • shortCuts - object contain big letter and function.

Example: show alert on Ctrl + A:

Console.addShortCuts({
    'A': function() {
        alert('hello');
    }
});

Console.getPromptText()

Get text of prompt.

Console.setPromptText(text)

  • text - string of new text

Set new text of prompt.

Console.focus()

Set focus on Console.

Server API

Console(options)

Could be used as middleware, or for init Console.

Console.listen(socket, {
    server: server,                          /* when no socket*/
    online: true,                            /* default */
    minify: true,                            /* default */
    prefix: '/console'                       /* default */
    authCheck: function(socket, success) {   /* authorization function */
    }
})

Console.middle(options)

Middleware function if there is a need of init socket in another place.

Console({
    prefix: '/console', /* default */
    online: true,       /* default */
    minify: true,       /* default */
})

Use as middleware

To use Console in your programs you should make local install:

npm i console-io express --save

And use it in your program

/* server.js */

const webconsole  = require('console-io');
const http = require('http');
const express = require('express');

const app = express();
const server = http.createServer(app);

const port = 1337;
const ip = '0.0.0.0';

const online = true;
app .use(webconsole({
    server,
    online, /* load jquery and socket.io from cdn */
})).use(express.static(__dirname));

webconsole.listen({
    server
});

server.listen(port, ip);
<!-- index.html -->

<div class="console"></div>
<script src="/console/console.js"></script>
<script>
    const options = {
        prefix: 'console',
        env: {
            CURRENT_FILE: getCurrentFile(),
            CURRENT_APP: 'console-io'
        }
    };
    
    Console('.console', options, function() {
        console.log('console ready')
    });
    
    function getCurrentFile() {
        return 'filename.txt';
    }
</script>

Environments

In old node.js environments that not fully supports es2015, console-io could be used with:

var console = require('console-io/legacy');

License

MIT