Git Product home page Git Product logo

jquery-console's Introduction

jquery-console

A terminal emulator for making command consoles written in JavaScript with jQuery.

See LICENSE for the license.

Example

For a list of examples, see the demo file, and for a live demo, see live demo on my home page.

Simple example:

var container = $('<div class="console">');
$('body').append(container);
var controller = container.console({
  promptLabel: 'Demo> ',
  commandValidate:function(line){
    if (line == "") return false;
    else return true;
  },
  commandHandle:function(line){
      return [{msg:"=> [12,42]",
               className:"jquery-console-message-value"},
              {msg:":: [a]",
               className:"jquery-console-message-type"}]
  },
  autofocus:true,
  animateScroll:true,
  promptHistory:true,
  charInsertTrigger:function(keycode,line){
     // Let you type until you press a-z
     // Never allow zero.
     return !line.match(/[a-z]+/) && keycode != '0'.charCodeAt(0);
  }
});

Some CSS for your console:

div.console { font-size: 14px }
div.console div.jquery-console-inner
 { width:900px; height:200px; background:#333; padding:0.5em;
   overflow:auto }
div.console div.jquery-console-prompt-box
 { color:#fff; font-family:monospace; }
div.console div.jquery-console-focus span.jquery-console-cursor
 { background:#fefefe; color:#333; font-weight:bold }
div.console div.jquery-console-message-error
 { color:#ef0505; font-family:sans-serif; font-weight:bold;
   padding:0.1em; }
div.console div.jquery-console-message-value
 { color:#1ad027; font-family:monospace;
   padding:0.1em; }
div.console div.jquery-console-message-type
 { color:#52666f; font-family:monospace;
   padding:0.1em; }
div.console span.jquery-console-prompt-label { font-weight:bold }

Usage options

Here are options which can be passed to console:

Option Type Description
autofocus bool Autofocus the terminal, rather than having to click on it.
promptHistory bool Provide history support (kind of crappy, needs doing properly.)
historyPreserveColumn bool Preserve the column you were one when switching between history.
welcomeMessage string Just a first message to display on the terminal.
promptLabel string Prompt string like 'JavaScript> '.
cols integer The number of cols, this value is only used by the command completion to format the list of results.
commandValidate function When user hits return, validate whether to trigger commandHandle and re-prompt.
commandHandle function Handle the command line, return a string, boolean, or list of {msg:"foo",className:"my-css-class"}. commandHandle(line,report) is called. Report function is for you to report a result of the command asynchronously.
completeHandle function Handle the command completion when the tab key is pressed. It returns a list of string completion suffixes.
animateScroll bool Whether to animate the scroll to top. Currently disabled.
charInsertTrigger function Predicate for whether to allow character insertion. charInsertTrigger(char,line) is called.
cancelHandle function Handle a user-signaled interrupt.
fadeOnReset bool Whether to trigger a fade in/out when the console is reset. Defaults to true.

Uses in the wild

jquery-console's People

Contributors

agrif avatar calebegg avatar chrisdone avatar dellis23 avatar erjiang avatar johnkpaul avatar mike-hogan avatar moretti avatar nickbabcock avatar pakchoidora avatar platypii avatar rosshadden avatar soimort avatar spratt avatar vietj avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.