JavaScript HTML CSS
Latest commit 86d052a May 22, 2017 coderaiser chore(package) v1.4.16
Permalink
Failed to load latest commit information.
bin feature(gritty) add --port, --path Mar 4, 2017
client feature(cursor-blink) rm unused May 22, 2017
css fix(gritty) heigth Apr 13, 2017
img docs(readme) add images Mar 4, 2017
server fix(gritty) crash on exit May 19, 2017
test feature(cursor-blink) rm unused May 22, 2017
.babelrc feature(gritty) add Mar 2, 2017
.eslintrc feature(gritty) add Mar 2, 2017
.gitignore feature(cursor-blink) add Apr 3, 2017
.jshintrc feature(gritty) add Mar 2, 2017
.npmignore feature(cursor-blink) add Apr 3, 2017
.travis.yml feature(gritty) wrap -> wraptile Apr 6, 2017
ChangeLog chore(package) v1.4.16 May 22, 2017
LICENSE feature(gritty) add Mar 2, 2017
README.md
help.json feature(gritty) add --port, --path Mar 4, 2017
index.html fix(index) Console -> Gritty Mar 2, 2017
package.json
webpack.config.js fix(webpack) libraryTarget: umd -> var Apr 25, 2017

README.md

Gritty License NPM version Dependency Status Build Status Coverage Status

Web terminal emulator. Based on node-pty and xterm.js.

Gritty

Install

npm i gritty -g

Usage

Usage: gritty [options] Options: -h, --help display this help and exit -v, --version output version information and exit --path output path of a gritty and exit --port set port number

Windows

On Windows there is no build tools by default. When can't install gritty try to install windows-build-tools first.

npm i windows-build-tools -g
npm i gritty -g

Gritty

Use as standalone

Start gritty, and go to url http://localhost:1337

API

Client API

gritty(element [, options])

const prefix = '/gritty'; // default
const env = {}; // default

gritty('body', {
    prefix,
    env,
});

Server API

gritty.listen(socket, options)

Gritty could be used as middleware:

const prefix = '/gritty'; // default
const authCheck = (socket, success) => {}; // optional

gritty.listen(socket, {
    prefix,
    authCheck,
})

gritty(options)

Middleware function:

const prefix = '/gritty'; // default

gritty({prefix});

Usage as middleware

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

npm i gritty socket.io express --save

And use it this way:

// server.js

const gritty = require('gritty');
const http = require('http');
const express = require('express');
const io = require('socket.io');

const app = express();
const server = http.createServer(app);
const socket = io.listen(server);

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

app.use(gritty())
app.use(express.static(__dirname));

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

<div class="gritty"></div>
<script src="/gritty/gritty.js"></script>
<script>
    const options = {
        prefix: 'console',
        env: {
            TERMINAL: 'gritty',
            CURRENT: getCurrentFile,
        }
    };
    
    gritty('.console', options);
    
    function getCurrentFile() {
        return 'filename.txt';
    }
</script>

Environments

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

var gritty = require('gritty/legacy');

License

MIT