Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Tinyterm

The tiniest in-browser terminal you've ever seen. Check it out here.

Installation

tinyterm can be installed using npm, bower, or included from jsdelivr:

npm install tinyterm
bower install tinyterm
<link rel="stylesheet" href="//cdn.jsdelivr.net/tinyterm/0.0.6/tinyterm.min.css">
<!-- ... -->
<script src="//cdn.jsdelivr.net/tinyterm/0.0.6/mainfile"></script>

The library uses a universal module definition, so it should work with whatever system you're using.

Usage

Creating a TinyTerm

Initialize a TinyTerm with:

var term = new TinyTerm(container);

If a DOM element is passed in as container, the TinyTerm element is appended to it. Otherwise, TinyTerm appends to document.body.

Adding commands

Add commands with the register method:

term.register('echo', {
  // required
  fn: function (arg1, arg2, arg3, /* ... */) {
    print(Array.prototype.join.call(arguments, ' '));
  },
  // required
  desc: 'Write arguments to the standard output.',
  // optional, enables tab autocomplete
  arguments: ['foo', 'bar'],
  // optional alternate names for the command
  aliases: ['print', 'log']
});

The methods autocomplete, done, flash, help, print, process, realign, run, startLoading, and stopLoading are also exposed... you probably won't need to use them.

Contributing

Pull-requests to the /app directory are welcome. Please create an issue if you plan on adding features, as it might be better suited as a plugin.

Please squash changes down to a single commit before making a pull-request.

Building the library

If you don't have gulp, you'll have to install it:

npm install -g gulp

After running

npm install

in the main directory, running

gulp

will watch the /app directory and build any changes to /dist.

Style

Pull requests must adhere to the following code style guidelines, influenced heavily by idiomatic.js:

  • Put a space before the parens following if (), else if (), for (), while (), try (), and function () statements. Do not add padding spaces within these parens.
  • Put a space between closing braces ) and opening curly braces {.
  • Add padding spaces to curly braces that self-close on a single line: var littleObject = { name: 'tiny' };. Empty object literals do not require a space: {}.
  • Function definitions go at the top of their scope, followed immediately by vars.
  • If multiple lines are required for variable declarations, each new line should have its own var statement.
  • Indent using spaces.
  • Indentation width of 2.
  • No trailing whitespace.
  • Line-length limit of 80 characters.
  • If statements have to be broken across lines, end lines with an operator:
// example
var reallyLongVariableName = [1, 2, 3];
reallyLongVariableName = reallyLongVariableName.length > 4 ?
  reallyLongVariableName.slice(-4) :
  reallyLongVariableName;
  • Gulp will automatically lint everything through jshint. Don't make it complain.

License

Licensed under MIT. Created by rileyjshaw.

About

📟 The tiniest in-browser terminal you've ever seen.

Resources

License

Sponsor this project

 

Packages

No packages published