Web console
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
client
css
font
img
json
modules
server
.babelrc
.bowerrc
.eslintrc
.eslintrc.client
.eslintrc.server
.gitignore
.npmignore
.travis.yml
ChangeLog
LICENSE
README.md
bower.json
index.html
package.json
webpack.config.js

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 [, options])

  • element - html element, or selector
  • options - (optional) {cwd}

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>

addShortCuts(shortCuts)

  • shortCuts - object contain big letter and function.

Example: show alert on Ctrl + A:

const konsole = await Console();

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

getPromptText()

Get text of prompt.

setPromptText(text)

  • text - string of new text

Set new text of prompt.

focus()

Set focus on Console.

Server API

Console(options)

Could be used as middleware, or for init Console.

Console.listen(socket, {
    server,                                  // when no socket
    online: true,                            // default
    prefix: '/console'                       // default
    prefixSocket: '/console'                 // default
    auth: (accept, reject) => (username, password) => {
        accept();
    },
})

Console.middle(options)

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

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

Use as middleware

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

npm i console-io express

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>
    document.addEventListener('load', async () => {
        const konsole = await Console('.console', {
            prefix: 'console',
            env: {
                CURRENT_FILE: getCurrentFile(),
                CURRENT_APP: 'console-io'
            }
        });
        
        console.log('console ready')
        konsole.focus();
        
        function getCurrentFile() {
            return 'filename.txt';
        }
    });
</script>

License

MIT