tinyterm
v0.0.6
Published
The tiniest in-browser terminal you've ever seen
Downloads
18
Maintainers
Readme
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/latest/tinyterm.min.css">
<!-- ... -->
<script src="//cdn.jsdelivr.net/tinyterm/latest/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 ()
, andfunction ()
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
var
s. - 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.