http://git-wip-us.apache.org/repos/asf/incubator-ariatosca-website/blob/a5feea31/getting-started/index.html ---------------------------------------------------------------------- diff --git a/getting-started/index.html b/getting-started/index.html new file mode 100644 index 0000000..c2b6c39 --- /dev/null +++ b/getting-started/index.html @@ -0,0 +1,384 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + + <title>Getting Started with ARIA TOSCA ⢠Apache ARIA TOSCA</title> + + + + + + <meta name="viewport" content="width=device-width, initial-scale=1"> + <!-- Place favicon.ico and apple-touch-icon.png in the root directory --> + + <!-- CSS --> + <link rel="stylesheet" href="http://localhost:4000/css/owl.carousel.css"> + <link rel="stylesheet" href="http://localhost:4000/css/bootstrap.min.css"> + <link rel="stylesheet" href="http://localhost:4000/css/font-awesome.min.css"> + <link rel="stylesheet" href="http://localhost:4000/css/style.css"> + <link rel="stylesheet" href="http://localhost:4000/css/ionicons.min.css"> + <link rel="stylesheet" href="http://localhost:4000/css/animate.css"> + <link rel="stylesheet" href="http://localhost:4000/css/responsive.css"> + + <link rel="stylesheet" href="http://localhost:4000/css/attach/xterm.css"> + <link rel="stylesheet" href="http://localhost:4000/css/attach/style.css"> + + + <!-- Js --> + <script src="http://localhost:4000/js/vendor/modernizr-2.6.2.min.js"></script> + <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script> + <script>window.jQuery || document.write('<script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"><\/script>')</script> + <script src="http://localhost:4000/js/bootstrap.min.js"></script> + <script src="http://localhost:4000/js/owl.carousel.min.js"></script> + <script src="http://localhost:4000/js/plugins.js"></script> + + <script src="http://localhost:4000/js/min/waypoints.min.js"></script> + <script src="http://localhost:4000/js/jquery.counterup.js"></script> + + + <script src="http://localhost:4000/js/attach/xterm.js"></script> + <script src="http://localhost:4000/js/attach/attach.js"></script> + + + + + + + <script src="http://localhost:4000/js/main.js"></script> + <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script> + +</head> + + <body id="js-body"> + + <!--[if lt IE 9]><div class="upgrade notice-warning"><strong>Your browser is quite old!</strong> Why not <a href="http://whatbrowser.org/">upgrade to a newer one</a> to better enjoy this site?</div><![endif]--> + + <!-- Header Start --> +<header> +<div class="container"> + <div class="row"> + <div class="col-md-12"> + <!-- header Nav Start --> + <nav class="navbar navbar-default"> + <div class="container-fluid"> + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="http://localhost:4000/"> + <img src="http://localhost:4000/images/aria-logo.png" alt="Apache ARIA TOSCA"> + </a> + </div> + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> + + <nav role="navigation" class="menu top-menu"> + <ul class="nav navbar-nav navbar-right"> + <li class="home"><a href="/">Apache ARIA TOSCA</a></li> + + + <li><a href="http://localhost:4000/about/" >About + + </a></li> + + + <li><a href="http://localhost:4000/community/" >Community + + </a></li> + + + <li><a href="http://localhost:4000/getting-started/" >Getting Started + + </a></li> + + + <li><a href="http://ariatosca.incubator.apache.org/docs/html/index.html" target="_blank">Docs + + <i class="fa fa-external-link" aria-hidden="true"></i> + + </a></li> + + + <li><a href="http://localhost:4000/roadmap/" >Roadmap + + </a></li> + +</ul> + + </nav> + </div><!-- /.navbar-collapse --> + </div><!-- /.container-fluid --> + </nav> + </div> + </div> + </div> +</header><!-- header close --> + + + + <div id="page-wrapper"> + <div id="main" role="main"> + <article class="wrap" itemscope itemtype="http://schema.org/Article"> + + + + <section id="global-header"> + <div class="container"> + <div class="row"> + <div class="col-md-12"> + <div class="block"> + <h1>Getting Started with ARIA TOSCA</h1> + <p></p> + </div> + </div> + </div> + </div> + </section> + + + + <div class="inner-wrap"> + <div id="content" class="page-content" itemprop="articleBody"> + <section id="intro"> + <div class="container"> + <div class="row"> + <h2 id="installation">Installation</h2> + +<p>ARIA is <a href="https://pypi.python.org/pypi/apache-ariatosca">available on PyPI</a> .</p> + +<p>ARIA requires Python 2.6/2.7. Python 3 is currently not supported.</p> + +<p>To install ARIA directly from PyPI (using a <code class="highlighter-rouge">wheel</code>), use::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>pip install --upgrade pip setuptools +pip install apache-ariatosca +</code></pre> +</div> + +<p>To install ARIA from source, download the source tarball from +<a href="https://pypi.python.org/pypi/apache-ariatosca">PyPI</a>, extract and <code class="highlighter-rouge">cd</code> into the extract dir, and run::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>pip install --upgrade pip setuptools +pip install . +</code></pre> +</div> + +<table> + <tbody> + <tr> + <td>The source package comes along with relevant examples, documentation, <code class="highlighter-rouge">requirements.txt</code> (for installing specifically the frozen dependenciesâ versions with which ARIA was tested) and more.</td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td>ARIA has additional optional dependencies. These are required for running operations over SSH.</td> + </tr> + <tr> + <td>Below are instructions on how to install these dependencies, including required system dependencies per OS.</td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td>Note: These dependencies may have varying licenses which may not be compatible with Apache license 2.0.</td> + </tr> + <tr> + <td> </td> + </tr> + </tbody> +</table> + +<p><strong>Ubuntu/Debian</strong> (tested on Ubuntu14.04, Ubuntu16.04)::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>apt-get install -y python-dev gcc libffi-dev libssl-dev +pip install aria[ssh] +</code></pre> +</div> + +<p><strong>Centos</strong> (tested on Centos6.6, Centos7)::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>yum install -y python-devel gcc libffi-devel openssl-devel +pip install aria[ssh] +</code></pre> +</div> + +<p><strong>Archlinux</strong>::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>pacman -Syu --noconfirm python2 gcc libffi openssl +pip2 install aria[ssh] +</code></pre> +</div> + +<p><strong>Windows</strong> (tested on Win10)::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code># no additional system requirements are needed +pip install aria[ssh] +</code></pre> +</div> + +<p><strong>MacOS</strong>::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code># TODO +</code></pre> +</div> + +<p>To install <code class="highlighter-rouge">pip</code>, either use your distroâs package management system, or run::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>wget http://bootstrap.pypa.io/get-pip.py +python get-pip.py +</code></pre> +</div> + +<h2 id="getting-started">Getting Started!</h2> + +<p>This section will describe how to run a simple âHello Worldâ example.</p> + +<p>First, provide ARIA with the ARIA âhello worldâ(can be download <a href="https://github.com/apache/incubator-ariatosca/tree/master/examples/hello-world">here</a>) service-template and name it (e.g. +<code class="highlighter-rouge">my-service-template</code>)::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>aria service-templates store examples/hello-world/helloworld.yaml my-service-template +</code></pre> +</div> + +<p>Now create a service based on this service-template and name it (e.g. <code class="highlighter-rouge">my-service</code>)::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>aria services create my-service -t my-service-template +</code></pre> +</div> + +<p>Finally, start an <code class="highlighter-rouge">install</code> workflow execution on <code class="highlighter-rouge">my-service</code> like so::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>aria executions start install -s my-service +</code></pre> +</div> + +<p>You should now have a simple web-server running on your local machine. You can try visiting +<code class="highlighter-rouge">http://localhost:9090</code> to view your deployed application.</p> + +<p>To uninstall and clean your environment, follow these steps::</p> + +<div class="highlighter-rouge"><pre class="highlight"><code>aria executions start uninstall -s my-service +aria services delete my-service +aria service-templates delete my-service-template +</code></pre> +</div> + + <h2> + ARIA Console + </h2> + <div class="container"> + <div id="terminal-container"></div> + </div> + + + +<h2 id="license">License</h2> + +<p>ARIA is licensed under the +<a href="https://github.com/apache/incubator-ariatosca/blob/master/LICENSE">Apache License 2.0</a>.</p> + + </div> + </div> + </section> + <hr /> + <footer class="page-footer"> + + + + </footer><!-- /.footer --> + <aside> + + </aside> + </div><!-- /.content --> + </div><!-- /.inner-wrap --> + + </article><!-- ./wrap --> +</div><!-- /#main --> + + + +<!-- Wrapper Start --> +<section id="intro" style="padding-top:30px; padding-bottom:30px"> + <div class="container"> + <div class="row"> + <div class="col-md-10 col-sm-12"> + <div class="block"> + <p> + Apache ARIA TOSCA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. + </p> + </div> + </div><!-- .col-md-7 close --> + <div class="col-md-2 col-sm-12"> + <div class="block" valign="middle" style="vertical-align: middle;"> + <img src="http://localhost:4000/images/incubator_power_ring.png" alt="ARIA Podling" > + </div> + </div><!-- .col-md-5 close --> + </div> + </div> +</section> + +<footer> + <div class="container"> + <div class="row"> + <div class="col-md-12"> + <div class="footer-manu"> + + <ul class="menu-item"> + + + <li><a href="http://localhost:4000/about/" >About</a></li> + + + <li><a href="http://localhost:4000/community/" >Community</a></li> + + + <li><a href="http://localhost:4000/getting-started/" >Getting Started</a></li> + + + <li><a href="http://localhost:4000/roadmap/" >Roadmap</a></li> + + </ul> + </div> + + <p> Copyright © 2017 The Apache Software Foundation. Licensed under the Apache License, Version 2.0. <br /> + Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.</p> + </div> + </div> + </div> +</footer> + + </div> + + <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script> + <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script> + <script src="http://localhost:4000/js/owl.carousel.min.js"></script> + <script src="http://localhost:4000/js/jquery.counterup.js"></script> + + <script src="http://localhost:4000/js/main.js"></script> + + + + <script> + + // AJAX to get contianer uuid from http://127.0.0.1:8000/api/runaria + + var term = new Terminal(); + var url = "ws:/localhost:5000/v1.19/containers/a04417594831/attach/ws?logs=1&stream=1&stdin=1&stdout=1&stderr=1"; + sock = new WebSocket(url); + term.attach(sock); + term.open(document.getElementById('terminal-container')); + </script> + + </body> + +</html>
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca-website/blob/a5feea31/gettingstarted.md ---------------------------------------------------------------------- diff --git a/gettingstarted.md b/gettingstarted.md index a767e27..da39807 100644 --- a/gettingstarted.md +++ b/gettingstarted.md @@ -35,22 +35,22 @@ To install ARIA from source, download the source tarball from **Ubuntu/Debian** (tested on Ubuntu14.04, Ubuntu16.04):: apt-get install -y python-dev gcc libffi-dev libssl-dev - pip install aria[ssh] + pip install apache-ariatosca[ssh] **Centos** (tested on Centos6.6, Centos7):: yum install -y python-devel gcc libffi-devel openssl-devel - pip install aria[ssh] + pip install apache-ariatosca[ssh] **Archlinux**:: pacman -Syu --noconfirm python2 gcc libffi openssl - pip2 install aria[ssh] + pip2 install apache-ariatosca[ssh] **Windows** (tested on Win10):: # no additional system requirements are needed - pip install aria[ssh] + pip install apache-ariatosca[ssh] **MacOS**:: @@ -68,6 +68,7 @@ To install ``pip``, either use your distro's package management system, or run:: Getting Started --------------- + This section will describe how to run a simple "Hello World" example. First, provide ARIA with the ARIA "hello world"(can be download [here](https://github.com/apache/incubator-ariatosca/tree/master/examples/hello-world)) service-template and name it (e.g. http://git-wip-us.apache.org/repos/asf/incubator-ariatosca-website/blob/a5feea31/index.html ---------------------------------------------------------------------- diff --git a/index.html b/index.html new file mode 100644 index 0000000..790e843 --- /dev/null +++ b/index.html @@ -0,0 +1,298 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + + <title>Apache ARIA TOSCA</title> + + + + + + <meta name="viewport" content="width=device-width, initial-scale=1"> + <!-- Place favicon.ico and apple-touch-icon.png in the root directory --> + + <!-- CSS --> + <link rel="stylesheet" href="http://localhost:4000/css/owl.carousel.css"> + <link rel="stylesheet" href="http://localhost:4000/css/bootstrap.min.css"> + <link rel="stylesheet" href="http://localhost:4000/css/font-awesome.min.css"> + <link rel="stylesheet" href="http://localhost:4000/css/style.css"> + <link rel="stylesheet" href="http://localhost:4000/css/ionicons.min.css"> + <link rel="stylesheet" href="http://localhost:4000/css/animate.css"> + <link rel="stylesheet" href="http://localhost:4000/css/responsive.css"> + + <link rel="stylesheet" href="http://localhost:4000/css/attach/xterm.css"> + <link rel="stylesheet" href="http://localhost:4000/css/attach/style.css"> + + <!-- Js --> + <script src="http://localhost:4000/js/vendor/modernizr-2.6.2.min.js"></script> + <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script> + <script>window.jQuery || document.write('<script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"><\/script>')</script> + <script src="http://localhost:4000/js/bootstrap.min.js"></script> + <script src="http://localhost:4000/js/owl.carousel.min.js"></script> + <script src="http://localhost:4000/js/plugins.js"></script> + + <script src="http://localhost:4000/js/min/waypoints.min.js"></script> + <script src="http://localhost:4000/js/jquery.counterup.js"></script> + + + <script src="http://localhost:4000/js/attach/xterm.js"></script> + <script src="http://localhost:4000/js/attach/attach.js"></script> + + + + + + + <script src="http://localhost:4000/js/main.js"></script> + <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script> + +</head> + + <body id="js-body"> + + <!--[if lt IE 9]><div class="upgrade notice-warning"><strong>Your browser is quite old!</strong> Why not <a href="http://whatbrowser.org/">upgrade to a newer one</a> to better enjoy this site?</div><![endif]--> + + <!-- Header Start --> +<header> +<div class="container"> + <div class="row"> + <div class="col-md-12"> + <!-- header Nav Start --> + <nav class="navbar navbar-default"> + <div class="container-fluid"> + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="http://localhost:4000/"> + <img src="http://localhost:4000/images/aria-logo.png" alt="Apache ARIA TOSCA"> + </a> + </div> + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> + + <nav role="navigation" class="menu top-menu"> + <ul class="nav navbar-nav navbar-right"> + <li class="home"><a href="/">Apache ARIA TOSCA</a></li> + + + <li><a href="http://localhost:4000/about/" >About + + </a></li> + + + <li><a href="http://localhost:4000/community/" >Community + + </a></li> + + + <li><a href="http://localhost:4000/getting-started/" >Getting Started + + </a></li> + + + <li><a href="http://ariatosca.incubator.apache.org/docs/html/index.html" target="_blank">Docs + + <i class="fa fa-external-link" aria-hidden="true"></i> + + </a></li> + + + <li><a href="http://localhost:4000/roadmap/" >Roadmap + + </a></li> + +</ul> + + </nav> + </div><!-- /.navbar-collapse --> + </div><!-- /.container-fluid --> + </nav> + </div> + </div> + </div> +</header><!-- header close --> + + + + <div id="page-wrapper"> + <div id="main" role="main"> + <div class="wrap"> + + <div class="page-title"> + <h1></h1> + + </div> + <div class="archive-wrap"> + <div class="page-content"> + <!-- Slider Start --> +<section id="slider"> + <div class="container"> + <div class="row"> + <div class="col-md-10 col-md-offset-2"> + <div class="block"> + <h1 class="animated fadeInUp">Apache ARIA TOSCA <br /> ORCHESTRATION ENGINE</h1> + <p class="animated fadeInUp"> Embeddable lightweight library and command line tool<br /> + For NFV and Hybrid Cloud Orchestration</p> + </div> + </div> + + </div> + </div> +</section> + +<!-- Wrapper Start --> +<section id="intro"> + <div class="container"> + <div class="row"> + <div class="col-md-7 col-sm-12"> + <div class="block"> + <div class="section-title"> + <h2>About Apache ARIA TOSCA</h2> + <p></p> + </div> + <p>ARIA TOSCA is an open, light, CLI-driven library of orchestration tools that other open projects can consume to easily build TOSCA-based orchestration solutions. ARIA is now an incubation project at the Apache Software Foundation.</p> + </div> + </div><!-- .col-md-7 close --> + <div class="col-md-5 col-sm-12"> + <div class="block"> + <img src="images/aria-logo-large.png" alt="Img" /> + </div> + </div><!-- .col-md-5 close --> + </div> + </div> +</section> + +<section id="feature"> + <div class="container"> + <div class="row"> + <div class="col-md-6 col-md-offset-6"> + <h2>Open Source, Open Governance</h2> + <p>OASIS TOSCA offers a vendor neutral standard for modeling cloud based applications, ARIA is an open implementation of the TOSCA specification, allowing complete visibility and free use of all itâs source code https://github.com/apache/incubator-ariatosca</p> + <p>AIRA is an Apache Software Foundation project in incubation process, aiming to become an independent project governed by itâs active contributors following a meritocratic model. Committers of project will be leading the projectâs direction and influencing thought contribution.</p> + <a href="https://www.apache.org/foundation/how-it-works.html" class="btn btn-view-works">Learn More</a> + </div> + </div> + </div> +</section> + + + + +<!-- Call to action Start --> +<section id="call-to-action"> + <div class="container"> + <div class="row"> + <div class="col-md-12"> + <div class="block"> + <h2>Get Started with Apache ARIA TOSCA</h2> + <p></p> + + <a class="btn btn-default btn-call-to-action" href="/getting-started">Get Started Now</a> + + </div> + </div> + </div> + </div> +</section> + +<section id="intro"> + <div class="container"> + <div class="row"> + + <div class="container"> + <div id="terminal-container"></div> + </div> + + </div> + </div> +</section> + + + + </div><!-- /.page-content --> + </div class="archive-wrap"><!-- /.archive-wrap --> + </div><!-- /.wrap --> +</div><!-- /#main --> + + +<!-- Wrapper Start --> +<section id="intro" style="padding-top:30px; padding-bottom:30px"> + <div class="container"> + <div class="row"> + <div class="col-md-10 col-sm-12"> + <div class="block"> + <p> + Apache ARIA TOSCA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. + </p> + </div> + </div><!-- .col-md-7 close --> + <div class="col-md-2 col-sm-12"> + <div class="block" valign="middle" style="vertical-align: middle;"> + <img src="http://localhost:4000/images/incubator_power_ring.png" alt="ARIA Podling" > + </div> + </div><!-- .col-md-5 close --> + </div> + </div> +</section> + + + + + +<footer> + <div class="container"> + <div class="row"> + <div class="col-md-12"> + <div class="footer-manu"> + + <ul class="menu-item"> + + + <li><a href="http://localhost:4000/about/" >About</a></li> + + + <li><a href="http://localhost:4000/community/" >Community</a></li> + + + <li><a href="http://localhost:4000/getting-started/" >Getting Started</a></li> + + + <li><a href="http://localhost:4000/roadmap/" >Roadmap</a></li> + + </ul> + </div> + + <p> Copyright © 2017 The Apache Software Foundation. Licensed under the Apache License, Version 2.0. <br /> + Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.</p> + </div> + </div> + </div> +</footer> + + </div> + + <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script> + <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script> + <script src="http://localhost:4000/js/owl.carousel.min.js"></script> + <script src="http://localhost:4000/js/jquery.counterup.js"></script> + + <script src="http://localhost:4000/js/main.js"></script> + <script> + + var term = new Terminal(); + var url = "ws:/localhost:5000/v1.19/containers/a04417594831/attach/ws?logs=1&stream=1&stdin=1&stdout=1&stderr=1"; + sock = new WebSocket(url); + term.attach(sock); + term.open(document.getElementById('terminal-container')); + </script> + + </body> + +</html> http://git-wip-us.apache.org/repos/asf/incubator-ariatosca-website/blob/a5feea31/js/attach/attach.js ---------------------------------------------------------------------- diff --git a/js/attach/attach.js b/js/attach/attach.js new file mode 100644 index 0000000..c2a7989 --- /dev/null +++ b/js/attach/attach.js @@ -0,0 +1,126 @@ +/** + * Implements the attach method, that attaches the terminal to a WebSocket stream. + * @module xterm/addons/attach/attach + * @license MIT + */ + +(function (attach) { + if (typeof exports === 'object' && typeof module === 'object') { + /* + * CommonJS environment + */ + module.exports = attach(require('../../xterm')); + } else if (typeof define == 'function') { + /* + * Require.js is available + */ + define(['../../xterm'], attach); + } else { + /* + * Plain browser environment + */ + attach(window.Terminal); + } +})(function (Xterm) { + 'use strict'; + + var exports = {}; + + /** + * Attaches the given terminal to the given socket. + * + * @param {Xterm} term - The terminal to be attached to the given socket. + * @param {WebSocket} socket - The socket to attach the current terminal. + * @param {boolean} bidirectional - Whether the terminal should send data + * to the socket as well. + * @param {boolean} buffered - Whether the rendering of incoming data + * should happen instantly or at a maximum + * frequency of 1 rendering per 10ms. + */ + exports.attach = function (term, socket, bidirectional, buffered) { + bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional; + term.socket = socket; + + term._flushBuffer = function () { + term.write(term._attachSocketBuffer); + term._attachSocketBuffer = null; + clearTimeout(term._attachSocketBufferTimer); + term._attachSocketBufferTimer = null; + }; + + term._pushToBuffer = function (data) { + if (term._attachSocketBuffer) { + term._attachSocketBuffer += data; + } else { + term._attachSocketBuffer = data; + setTimeout(term._flushBuffer, 10); + } + }; + + term._getMessage = function (ev) { + if (buffered) { + term._pushToBuffer(ev.data); + } else { + term.write(ev.data); + } + }; + + term._sendData = function (data) { + socket.send(data); + }; + + socket.addEventListener('message', term._getMessage); + + if (bidirectional) { + term.on('data', term._sendData); + } + + socket.addEventListener('close', term.detach.bind(term, socket)); + socket.addEventListener('error', term.detach.bind(term, socket)); + }; + + /** + * Detaches the given terminal from the given socket + * + * @param {Xterm} term - The terminal to be detached from the given socket. + * @param {WebSocket} socket - The socket from which to detach the current + * terminal. + */ + exports.detach = function (term, socket) { + term.off('data', term._sendData); + + socket = (typeof socket == 'undefined') ? term.socket : socket; + + if (socket) { + socket.removeEventListener('message', term._getMessage); + } + + delete term.socket; + }; + + /** + * Attaches the current terminal to the given socket + * + * @param {WebSocket} socket - The socket to attach the current terminal. + * @param {boolean} bidirectional - Whether the terminal should send data + * to the socket as well. + * @param {boolean} buffered - Whether the rendering of incoming data + * should happen instantly or at a maximum + * frequency of 1 rendering per 10ms. + */ + Xterm.prototype.attach = function (socket, bidirectional, buffered) { + return exports.attach(this, socket, bidirectional, buffered); + }; + + /** + * Detaches the current terminal from the given socket. + * + * @param {WebSocket} socket - The socket from which to detach the current + * terminal. + */ + Xterm.prototype.detach = function (socket) { + return exports.detach(this, socket); + }; + + return exports; +}); http://git-wip-us.apache.org/repos/asf/incubator-ariatosca-website/blob/a5feea31/js/attach/index.html ---------------------------------------------------------------------- diff --git a/js/attach/index.html b/js/attach/index.html new file mode 100644 index 0000000..9296b7b --- /dev/null +++ b/js/attach/index.html @@ -0,0 +1,22 @@ +<!doctype html> +<html> + <head> + <link rel="stylesheet" href="xterm.css" /> + <link rel="stylesheet" href="style.css" /> + <script src="xterm.js"></script> + <script src="attach.js"></script> + </head> + <body> + <div class="container"> + <div id="terminal-container"></div> + </div> + <script> + + var term = new Terminal(); + var url = "ws:/localhost:5000/v1.19/containers/a04417594831/attach/ws?logs=1&stream=1&stdin=1&stdout=1&stderr=1"; + sock = new WebSocket(url); + term.attach(sock); + term.open(document.getElementById('terminal-container')); + </script> + </body> +</html> http://git-wip-us.apache.org/repos/asf/incubator-ariatosca-website/blob/a5feea31/js/attach/package.json ---------------------------------------------------------------------- diff --git a/js/attach/package.json b/js/attach/package.json new file mode 100644 index 0000000..9e45068 --- /dev/null +++ b/js/attach/package.json @@ -0,0 +1,5 @@ +{ + "name": "xterm.attach", + "main": "attach.js", + "private": true +} http://git-wip-us.apache.org/repos/asf/incubator-ariatosca-website/blob/a5feea31/js/attach/style.css ---------------------------------------------------------------------- diff --git a/js/attach/style.css b/js/attach/style.css new file mode 100644 index 0000000..7138962 --- /dev/null +++ b/js/attach/style.css @@ -0,0 +1,22 @@ +body { + font-family: helvetica, sans-serif, arial; + font-size: 1em; + color: #111; +} + +h1 { + text-align: center; +} + +#terminal-container { + width: 800px; + height: 450px; + margin: 0 auto; + padding: 2px; +} + +#terminal-container .terminal { + background-color: #111; + color: #fafafa; + padding: 2px; +} http://git-wip-us.apache.org/repos/asf/incubator-ariatosca-website/blob/a5feea31/js/attach/xterm.css ---------------------------------------------------------------------- diff --git a/js/attach/xterm.css b/js/attach/xterm.css new file mode 100644 index 0000000..89daf9e --- /dev/null +++ b/js/attach/xterm.css @@ -0,0 +1,2261 @@ +/** + * xterm.js: xterm, in the browser + * Copyright (c) 2014-2016, SourceLair Private Company (www.sourcelair.com (MIT License) + * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) + * https://github.com/chjj/term.js + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * Originally forked from (with the author's permission): + * Fabrice Bellard's javascript vt100 for jslinux: + * http://bellard.org/jslinux/ + * Copyright (c) 2011 Fabrice Bellard + * The original design remains. The terminal itself + * has been extended to include xterm CSI codes, among + * other features. + */ + +/* + * Default style for xterm.js + */ + +.terminal { + background-color: #000; + color: #fff; + font-family: courier-new, courier, monospace; + font-feature-settings: "liga" 0; + position: relative; + user-select: none; + -ms-user-select: none; + -webkit-user-select: none; +} + +.terminal.focus, +.terminal:focus { + outline: none; +} + +.terminal .xterm-helpers { + position: absolute; + top: 0; +} + +.terminal .xterm-helper-textarea { + /* + * HACK: to fix IE's blinking cursor + * Move textarea out of the screen to the far left, so that the cursor is not visible. + */ + position: absolute; + opacity: 0; + left: -9999em; + top: 0; + width: 0; + height: 0; + z-index: -10; + /** Prevent wrapping so the IME appears against the textarea at the correct position */ + white-space: nowrap; + overflow: hidden; + resize: none; +} + +.terminal a { + color: inherit; + text-decoration: none; +} + +.terminal a:hover { + cursor: pointer; + text-decoration: underline; +} + +.terminal a.xterm-invalid-link:hover { + cursor: text; + text-decoration: none; +} + +.terminal .terminal-cursor { + position: relative; +} + +.terminal:not(.focus) .terminal-cursor { + outline: 1px solid #fff; + outline-offset: -1px; +} + +.terminal.xterm-cursor-style-block.focus:not(.xterm-cursor-blink-on) .terminal-cursor { + background-color: #fff; + color: #000; +} + +.terminal.focus.xterm-cursor-style-bar:not(.xterm-cursor-blink-on) .terminal-cursor::before, +.terminal.focus.xterm-cursor-style-underline:not(.xterm-cursor-blink-on) .terminal-cursor::before { + content: ''; + position: absolute; + background-color: #fff; +} + +.terminal.focus.xterm-cursor-style-bar:not(.xterm-cursor-blink-on) .terminal-cursor::before { + top: 0; + left: 0; + bottom: 0; + width: 1px; +} + +.terminal.focus.xterm-cursor-style-underline:not(.xterm-cursor-blink-on) .terminal-cursor::before { + bottom: 0; + left: 0; + right: 0; + height: 1px; +} + +.terminal .composition-view { + background: #000; + color: #FFF; + display: none; + position: absolute; + white-space: nowrap; + z-index: 1; +} + +.terminal .composition-view.active { + display: block; +} + +.terminal .xterm-viewport { + /* On OS X this is required in order for the scroll bar to appear fully opaque */ + background-color: #000; + overflow-y: scroll; +} + +.terminal .xterm-wide-char, +.terminal .xterm-normal-char { + display: inline-block; +} + +.terminal .xterm-rows { + position: absolute; + left: 0; + top: 0; +} + +.terminal .xterm-rows > div { + /* Lines containing spans and text nodes ocassionally wrap despite being the same width (#327) */ + white-space: nowrap; +} + +.terminal .xterm-scroll-area { + visibility: hidden; +} + +.terminal .xterm-char-measure-element { + display: inline-block; + visibility: hidden; + position: absolute; + left: -9999em; +} + +.terminal.enable-mouse-events { + /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */ + cursor: default; +} + +.terminal .xterm-selection { + position: absolute; + top: 0; + left: 0; + z-index: 1; + opacity: 0.3; + pointer-events: none; +} + +.terminal .xterm-selection div { + position: absolute; + background-color: #fff; +} + +/* + * Determine default colors for xterm.js + */ +.terminal .xterm-bold { + font-weight: bold; +} + +.terminal .xterm-underline { + text-decoration: underline; +} + +.terminal .xterm-blink { + text-decoration: blink; +} + +.terminal .xterm-blink.xterm-underline { + text-decoration: blink underline; +} + +.terminal .xterm-hidden { + visibility: hidden; +} + +.terminal .xterm-color-0 { + color: #2e3436; +} + +.terminal .xterm-bg-color-0 { + background-color: #2e3436; +} + +.terminal .xterm-color-1 { + color: #cc0000; +} + +.terminal .xterm-bg-color-1 { + background-color: #cc0000; +} + +.terminal .xterm-color-2 { + color: #4e9a06; +} + +.terminal .xterm-bg-color-2 { + background-color: #4e9a06; +} + +.terminal .xterm-color-3 { + color: #c4a000; +} + +.terminal .xterm-bg-color-3 { + background-color: #c4a000; +} + +.terminal .xterm-color-4 { + color: #3465a4; +} + +.terminal .xterm-bg-color-4 { + background-color: #3465a4; +} + +.terminal .xterm-color-5 { + color: #75507b; +} + +.terminal .xterm-bg-color-5 { + background-color: #75507b; +} + +.terminal .xterm-color-6 { + color: #06989a; +} + +.terminal .xterm-bg-color-6 { + background-color: #06989a; +} + +.terminal .xterm-color-7 { + color: #d3d7cf; +} + +.terminal .xterm-bg-color-7 { + background-color: #d3d7cf; +} + +.terminal .xterm-color-8 { + color: #555753; +} + +.terminal .xterm-bg-color-8 { + background-color: #555753; +} + +.terminal .xterm-color-9 { + color: #ef2929; +} + +.terminal .xterm-bg-color-9 { + background-color: #ef2929; +} + +.terminal .xterm-color-10 { + color: #8ae234; +} + +.terminal .xterm-bg-color-10 { + background-color: #8ae234; +} + +.terminal .xterm-color-11 { + color: #fce94f; +} + +.terminal .xterm-bg-color-11 { + background-color: #fce94f; +} + +.terminal .xterm-color-12 { + color: #729fcf; +} + +.terminal .xterm-bg-color-12 { + background-color: #729fcf; +} + +.terminal .xterm-color-13 { + color: #ad7fa8; +} + +.terminal .xterm-bg-color-13 { + background-color: #ad7fa8; +} + +.terminal .xterm-color-14 { + color: #34e2e2; +} + +.terminal .xterm-bg-color-14 { + background-color: #34e2e2; +} + +.terminal .xterm-color-15 { + color: #eeeeec; +} + +.terminal .xterm-bg-color-15 { + background-color: #eeeeec; +} + +.terminal .xterm-color-16 { + color: #000000; +} + +.terminal .xterm-bg-color-16 { + background-color: #000000; +} + +.terminal .xterm-color-17 { + color: #00005f; +} + +.terminal .xterm-bg-color-17 { + background-color: #00005f; +} + +.terminal .xterm-color-18 { + color: #000087; +} + +.terminal .xterm-bg-color-18 { + background-color: #000087; +} + +.terminal .xterm-color-19 { + color: #0000af; +} + +.terminal .xterm-bg-color-19 { + background-color: #0000af; +} + +.terminal .xterm-color-20 { + color: #0000d7; +} + +.terminal .xterm-bg-color-20 { + background-color: #0000d7; +} + +.terminal .xterm-color-21 { + color: #0000ff; +} + +.terminal .xterm-bg-color-21 { + background-color: #0000ff; +} + +.terminal .xterm-color-22 { + color: #005f00; +} + +.terminal .xterm-bg-color-22 { + background-color: #005f00; +} + +.terminal .xterm-color-23 { + color: #005f5f; +} + +.terminal .xterm-bg-color-23 { + background-color: #005f5f; +} + +.terminal .xterm-color-24 { + color: #005f87; +} + +.terminal .xterm-bg-color-24 { + background-color: #005f87; +} + +.terminal .xterm-color-25 { + color: #005faf; +} + +.terminal .xterm-bg-color-25 { + background-color: #005faf; +} + +.terminal .xterm-color-26 { + color: #005fd7; +} + +.terminal .xterm-bg-color-26 { + background-color: #005fd7; +} + +.terminal .xterm-color-27 { + color: #005fff; +} + +.terminal .xterm-bg-color-27 { + background-color: #005fff; +} + +.terminal .xterm-color-28 { + color: #008700; +} + +.terminal .xterm-bg-color-28 { + background-color: #008700; +} + +.terminal .xterm-color-29 { + color: #00875f; +} + +.terminal .xterm-bg-color-29 { + background-color: #00875f; +} + +.terminal .xterm-color-30 { + color: #008787; +} + +.terminal .xterm-bg-color-30 { + background-color: #008787; +} + +.terminal .xterm-color-31 { + color: #0087af; +} + +.terminal .xterm-bg-color-31 { + background-color: #0087af; +} + +.terminal .xterm-color-32 { + color: #0087d7; +} + +.terminal .xterm-bg-color-32 { + background-color: #0087d7; +} + +.terminal .xterm-color-33 { + color: #0087ff; +} + +.terminal .xterm-bg-color-33 { + background-color: #0087ff; +} + +.terminal .xterm-color-34 { + color: #00af00; +} + +.terminal .xterm-bg-color-34 { + background-color: #00af00; +} + +.terminal .xterm-color-35 { + color: #00af5f; +} + +.terminal .xterm-bg-color-35 { + background-color: #00af5f; +} + +.terminal .xterm-color-36 { + color: #00af87; +} + +.terminal .xterm-bg-color-36 { + background-color: #00af87; +} + +.terminal .xterm-color-37 { + color: #00afaf; +} + +.terminal .xterm-bg-color-37 { + background-color: #00afaf; +} + +.terminal .xterm-color-38 { + color: #00afd7; +} + +.terminal .xterm-bg-color-38 { + background-color: #00afd7; +} + +.terminal .xterm-color-39 { + color: #00afff; +} + +.terminal .xterm-bg-color-39 { + background-color: #00afff; +} + +.terminal .xterm-color-40 { + color: #00d700; +} + +.terminal .xterm-bg-color-40 { + background-color: #00d700; +} + +.terminal .xterm-color-41 { + color: #00d75f; +} + +.terminal .xterm-bg-color-41 { + background-color: #00d75f; +} + +.terminal .xterm-color-42 { + color: #00d787; +} + +.terminal .xterm-bg-color-42 { + background-color: #00d787; +} + +.terminal .xterm-color-43 { + color: #00d7af; +} + +.terminal .xterm-bg-color-43 { + background-color: #00d7af; +} + +.terminal .xterm-color-44 { + color: #00d7d7; +} + +.terminal .xterm-bg-color-44 { + background-color: #00d7d7; +} + +.terminal .xterm-color-45 { + color: #00d7ff; +} + +.terminal .xterm-bg-color-45 { + background-color: #00d7ff; +} + +.terminal .xterm-color-46 { + color: #00ff00; +} + +.terminal .xterm-bg-color-46 { + background-color: #00ff00; +} + +.terminal .xterm-color-47 { + color: #00ff5f; +} + +.terminal .xterm-bg-color-47 { + background-color: #00ff5f; +} + +.terminal .xterm-color-48 { + color: #00ff87; +} + +.terminal .xterm-bg-color-48 { + background-color: #00ff87; +} + +.terminal .xterm-color-49 { + color: #00ffaf; +} + +.terminal .xterm-bg-color-49 { + background-color: #00ffaf; +} + +.terminal .xterm-color-50 { + color: #00ffd7; +} + +.terminal .xterm-bg-color-50 { + background-color: #00ffd7; +} + +.terminal .xterm-color-51 { + color: #00ffff; +} + +.terminal .xterm-bg-color-51 { + background-color: #00ffff; +} + +.terminal .xterm-color-52 { + color: #5f0000; +} + +.terminal .xterm-bg-color-52 { + background-color: #5f0000; +} + +.terminal .xterm-color-53 { + color: #5f005f; +} + +.terminal .xterm-bg-color-53 { + background-color: #5f005f; +} + +.terminal .xterm-color-54 { + color: #5f0087; +} + +.terminal .xterm-bg-color-54 { + background-color: #5f0087; +} + +.terminal .xterm-color-55 { + color: #5f00af; +} + +.terminal .xterm-bg-color-55 { + background-color: #5f00af; +} + +.terminal .xterm-color-56 { + color: #5f00d7; +} + +.terminal .xterm-bg-color-56 { + background-color: #5f00d7; +} + +.terminal .xterm-color-57 { + color: #5f00ff; +} + +.terminal .xterm-bg-color-57 { + background-color: #5f00ff; +} + +.terminal .xterm-color-58 { + color: #5f5f00; +} + +.terminal .xterm-bg-color-58 { + background-color: #5f5f00; +} + +.terminal .xterm-color-59 { + color: #5f5f5f; +} + +.terminal .xterm-bg-color-59 { + background-color: #5f5f5f; +} + +.terminal .xterm-color-60 { + color: #5f5f87; +} + +.terminal .xterm-bg-color-60 { + background-color: #5f5f87; +} + +.terminal .xterm-color-61 { + color: #5f5faf; +} + +.terminal .xterm-bg-color-61 { + background-color: #5f5faf; +} + +.terminal .xterm-color-62 { + color: #5f5fd7; +} + +.terminal .xterm-bg-color-62 { + background-color: #5f5fd7; +} + +.terminal .xterm-color-63 { + color: #5f5fff; +} + +.terminal .xterm-bg-color-63 { + background-color: #5f5fff; +} + +.terminal .xterm-color-64 { + color: #5f8700; +} + +.terminal .xterm-bg-color-64 { + background-color: #5f8700; +} + +.terminal .xterm-color-65 { + color: #5f875f; +} + +.terminal .xterm-bg-color-65 { + background-color: #5f875f; +} + +.terminal .xterm-color-66 { + color: #5f8787; +} + +.terminal .xterm-bg-color-66 { + background-color: #5f8787; +} + +.terminal .xterm-color-67 { + color: #5f87af; +} + +.terminal .xterm-bg-color-67 { + background-color: #5f87af; +} + +.terminal .xterm-color-68 { + color: #5f87d7; +} + +.terminal .xterm-bg-color-68 { + background-color: #5f87d7; +} + +.terminal .xterm-color-69 { + color: #5f87ff; +} + +.terminal .xterm-bg-color-69 { + background-color: #5f87ff; +} + +.terminal .xterm-color-70 { + color: #5faf00; +} + +.terminal .xterm-bg-color-70 { + background-color: #5faf00; +} + +.terminal .xterm-color-71 { + color: #5faf5f; +} + +.terminal .xterm-bg-color-71 { + background-color: #5faf5f; +} + +.terminal .xterm-color-72 { + color: #5faf87; +} + +.terminal .xterm-bg-color-72 { + background-color: #5faf87; +} + +.terminal .xterm-color-73 { + color: #5fafaf; +} + +.terminal .xterm-bg-color-73 { + background-color: #5fafaf; +} + +.terminal .xterm-color-74 { + color: #5fafd7; +} + +.terminal .xterm-bg-color-74 { + background-color: #5fafd7; +} + +.terminal .xterm-color-75 { + color: #5fafff; +} + +.terminal .xterm-bg-color-75 { + background-color: #5fafff; +} + +.terminal .xterm-color-76 { + color: #5fd700; +} + +.terminal .xterm-bg-color-76 { + background-color: #5fd700; +} + +.terminal .xterm-color-77 { + color: #5fd75f; +} + +.terminal .xterm-bg-color-77 { + background-color: #5fd75f; +} + +.terminal .xterm-color-78 { + color: #5fd787; +} + +.terminal .xterm-bg-color-78 { + background-color: #5fd787; +} + +.terminal .xterm-color-79 { + color: #5fd7af; +} + +.terminal .xterm-bg-color-79 { + background-color: #5fd7af; +} + +.terminal .xterm-color-80 { + color: #5fd7d7; +} + +.terminal .xterm-bg-color-80 { + background-color: #5fd7d7; +} + +.terminal .xterm-color-81 { + color: #5fd7ff; +} + +.terminal .xterm-bg-color-81 { + background-color: #5fd7ff; +} + +.terminal .xterm-color-82 { + color: #5fff00; +} + +.terminal .xterm-bg-color-82 { + background-color: #5fff00; +} + +.terminal .xterm-color-83 { + color: #5fff5f; +} + +.terminal .xterm-bg-color-83 { + background-color: #5fff5f; +} + +.terminal .xterm-color-84 { + color: #5fff87; +} + +.terminal .xterm-bg-color-84 { + background-color: #5fff87; +} + +.terminal .xterm-color-85 { + color: #5fffaf; +} + +.terminal .xterm-bg-color-85 { + background-color: #5fffaf; +} + +.terminal .xterm-color-86 { + color: #5fffd7; +} + +.terminal .xterm-bg-color-86 { + background-color: #5fffd7; +} + +.terminal .xterm-color-87 { + color: #5fffff; +} + +.terminal .xterm-bg-color-87 { + background-color: #5fffff; +} + +.terminal .xterm-color-88 { + color: #870000; +} + +.terminal .xterm-bg-color-88 { + background-color: #870000; +} + +.terminal .xterm-color-89 { + color: #87005f; +} + +.terminal .xterm-bg-color-89 { + background-color: #87005f; +} + +.terminal .xterm-color-90 { + color: #870087; +} + +.terminal .xterm-bg-color-90 { + background-color: #870087; +} + +.terminal .xterm-color-91 { + color: #8700af; +} + +.terminal .xterm-bg-color-91 { + background-color: #8700af; +} + +.terminal .xterm-color-92 { + color: #8700d7; +} + +.terminal .xterm-bg-color-92 { + background-color: #8700d7; +} + +.terminal .xterm-color-93 { + color: #8700ff; +} + +.terminal .xterm-bg-color-93 { + background-color: #8700ff; +} + +.terminal .xterm-color-94 { + color: #875f00; +} + +.terminal .xterm-bg-color-94 { + background-color: #875f00; +} + +.terminal .xterm-color-95 { + color: #875f5f; +} + +.terminal .xterm-bg-color-95 { + background-color: #875f5f; +} + +.terminal .xterm-color-96 { + color: #875f87; +} + +.terminal .xterm-bg-color-96 { + background-color: #875f87; +} + +.terminal .xterm-color-97 { + color: #875faf; +} + +.terminal .xterm-bg-color-97 { + background-color: #875faf; +} + +.terminal .xterm-color-98 { + color: #875fd7; +} + +.terminal .xterm-bg-color-98 { + background-color: #875fd7; +} + +.terminal .xterm-color-99 { + color: #875fff; +} + +.terminal .xterm-bg-color-99 { + background-color: #875fff; +} + +.terminal .xterm-color-100 { + color: #878700; +} + +.terminal .xterm-bg-color-100 { + background-color: #878700; +} + +.terminal .xterm-color-101 { + color: #87875f; +} + +.terminal .xterm-bg-color-101 { + background-color: #87875f; +} + +.terminal .xterm-color-102 { + color: #878787; +} + +.terminal .xterm-bg-color-102 { + background-color: #878787; +} + +.terminal .xterm-color-103 { + color: #8787af; +} + +.terminal .xterm-bg-color-103 { + background-color: #8787af; +} + +.terminal .xterm-color-104 { + color: #8787d7; +} + +.terminal .xterm-bg-color-104 { + background-color: #8787d7; +} + +.terminal .xterm-color-105 { + color: #8787ff; +} + +.terminal .xterm-bg-color-105 { + background-color: #8787ff; +} + +.terminal .xterm-color-106 { + color: #87af00; +} + +.terminal .xterm-bg-color-106 { + background-color: #87af00; +} + +.terminal .xterm-color-107 { + color: #87af5f; +} + +.terminal .xterm-bg-color-107 { + background-color: #87af5f; +} + +.terminal .xterm-color-108 { + color: #87af87; +} + +.terminal .xterm-bg-color-108 { + background-color: #87af87; +} + +.terminal .xterm-color-109 { + color: #87afaf; +} + +.terminal .xterm-bg-color-109 { + background-color: #87afaf; +} + +.terminal .xterm-color-110 { + color: #87afd7; +} + +.terminal .xterm-bg-color-110 { + background-color: #87afd7; +} + +.terminal .xterm-color-111 { + color: #87afff; +} + +.terminal .xterm-bg-color-111 { + background-color: #87afff; +} + +.terminal .xterm-color-112 { + color: #87d700; +} + +.terminal .xterm-bg-color-112 { + background-color: #87d700; +} + +.terminal .xterm-color-113 { + color: #87d75f; +} + +.terminal .xterm-bg-color-113 { + background-color: #87d75f; +} + +.terminal .xterm-color-114 { + color: #87d787; +} + +.terminal .xterm-bg-color-114 { + background-color: #87d787; +} + +.terminal .xterm-color-115 { + color: #87d7af; +} + +.terminal .xterm-bg-color-115 { + background-color: #87d7af; +} + +.terminal .xterm-color-116 { + color: #87d7d7; +} + +.terminal .xterm-bg-color-116 { + background-color: #87d7d7; +} + +.terminal .xterm-color-117 { + color: #87d7ff; +} + +.terminal .xterm-bg-color-117 { + background-color: #87d7ff; +} + +.terminal .xterm-color-118 { + color: #87ff00; +} + +.terminal .xterm-bg-color-118 { + background-color: #87ff00; +} + +.terminal .xterm-color-119 { + color: #87ff5f; +} + +.terminal .xterm-bg-color-119 { + background-color: #87ff5f; +} + +.terminal .xterm-color-120 { + color: #87ff87; +} + +.terminal .xterm-bg-color-120 { + background-color: #87ff87; +} + +.terminal .xterm-color-121 { + color: #87ffaf; +} + +.terminal .xterm-bg-color-121 { + background-color: #87ffaf; +} + +.terminal .xterm-color-122 { + color: #87ffd7; +} + +.terminal .xterm-bg-color-122 { + background-color: #87ffd7; +} + +.terminal .xterm-color-123 { + color: #87ffff; +} + +.terminal .xterm-bg-color-123 { + background-color: #87ffff; +} + +.terminal .xterm-color-124 { + color: #af0000; +} + +.terminal .xterm-bg-color-124 { + background-color: #af0000; +} + +.terminal .xterm-color-125 { + color: #af005f; +} + +.terminal .xterm-bg-color-125 { + background-color: #af005f; +} + +.terminal .xterm-color-126 { + color: #af0087; +} + +.terminal .xterm-bg-color-126 { + background-color: #af0087; +} + +.terminal .xterm-color-127 { + color: #af00af; +} + +.terminal .xterm-bg-color-127 { + background-color: #af00af; +} + +.terminal .xterm-color-128 { + color: #af00d7; +} + +.terminal .xterm-bg-color-128 { + background-color: #af00d7; +} + +.terminal .xterm-color-129 { + color: #af00ff; +} + +.terminal .xterm-bg-color-129 { + background-color: #af00ff; +} + +.terminal .xterm-color-130 { + color: #af5f00; +} + +.terminal .xterm-bg-color-130 { + background-color: #af5f00; +} + +.terminal .xterm-color-131 { + color: #af5f5f; +} + +.terminal .xterm-bg-color-131 { + background-color: #af5f5f; +} + +.terminal .xterm-color-132 { + color: #af5f87; +} + +.terminal .xterm-bg-color-132 { + background-color: #af5f87; +} + +.terminal .xterm-color-133 { + color: #af5faf; +} + +.terminal .xterm-bg-color-133 { + background-color: #af5faf; +} + +.terminal .xterm-color-134 { + color: #af5fd7; +} + +.terminal .xterm-bg-color-134 { + background-color: #af5fd7; +} + +.terminal .xterm-color-135 { + color: #af5fff; +} + +.terminal .xterm-bg-color-135 { + background-color: #af5fff; +} + +.terminal .xterm-color-136 { + color: #af8700; +} + +.terminal .xterm-bg-color-136 { + background-color: #af8700; +} + +.terminal .xterm-color-137 { + color: #af875f; +} + +.terminal .xterm-bg-color-137 { + background-color: #af875f; +} + +.terminal .xterm-color-138 { + color: #af8787; +} + +.terminal .xterm-bg-color-138 { + background-color: #af8787; +} + +.terminal .xterm-color-139 { + color: #af87af; +} + +.terminal .xterm-bg-color-139 { + background-color: #af87af; +} + +.terminal .xterm-color-140 { + color: #af87d7; +} + +.terminal .xterm-bg-color-140 { + background-color: #af87d7; +} + +.terminal .xterm-color-141 { + color: #af87ff; +} + +.terminal .xterm-bg-color-141 { + background-color: #af87ff; +} + +.terminal .xterm-color-142 { + color: #afaf00; +} + +.terminal .xterm-bg-color-142 { + background-color: #afaf00; +} + +.terminal .xterm-color-143 { + color: #afaf5f; +} + +.terminal .xterm-bg-color-143 { + background-color: #afaf5f; +} + +.terminal .xterm-color-144 { + color: #afaf87; +} + +.terminal .xterm-bg-color-144 { + background-color: #afaf87; +} + +.terminal .xterm-color-145 { + color: #afafaf; +} + +.terminal .xterm-bg-color-145 { + background-color: #afafaf; +} + +.terminal .xterm-color-146 { + color: #afafd7; +} + +.terminal .xterm-bg-color-146 { + background-color: #afafd7; +} + +.terminal .xterm-color-147 { + color: #afafff; +} + +.terminal .xterm-bg-color-147 { + background-color: #afafff; +} + +.terminal .xterm-color-148 { + color: #afd700; +} + +.terminal .xterm-bg-color-148 { + background-color: #afd700; +} + +.terminal .xterm-color-149 { + color: #afd75f; +} + +.terminal .xterm-bg-color-149 { + background-color: #afd75f; +} + +.terminal .xterm-color-150 { + color: #afd787; +} + +.terminal .xterm-bg-color-150 { + background-color: #afd787; +} + +.terminal .xterm-color-151 { + color: #afd7af; +} + +.terminal .xterm-bg-color-151 { + background-color: #afd7af; +} + +.terminal .xterm-color-152 { + color: #afd7d7; +} + +.terminal .xterm-bg-color-152 { + background-color: #afd7d7; +} + +.terminal .xterm-color-153 { + color: #afd7ff; +} + +.terminal .xterm-bg-color-153 { + background-color: #afd7ff; +} + +.terminal .xterm-color-154 { + color: #afff00; +} + +.terminal .xterm-bg-color-154 { + background-color: #afff00; +} + +.terminal .xterm-color-155 { + color: #afff5f; +} + +.terminal .xterm-bg-color-155 { + background-color: #afff5f; +} + +.terminal .xterm-color-156 { + color: #afff87; +} + +.terminal .xterm-bg-color-156 { + background-color: #afff87; +} + +.terminal .xterm-color-157 { + color: #afffaf; +} + +.terminal .xterm-bg-color-157 { + background-color: #afffaf; +} + +.terminal .xterm-color-158 { + color: #afffd7; +} + +.terminal .xterm-bg-color-158 { + background-color: #afffd7; +} + +.terminal .xterm-color-159 { + color: #afffff; +} + +.terminal .xterm-bg-color-159 { + background-color: #afffff; +} + +.terminal .xterm-color-160 { + color: #d70000; +} + +.terminal .xterm-bg-color-160 { + background-color: #d70000; +} + +.terminal .xterm-color-161 { + color: #d7005f; +} + +.terminal .xterm-bg-color-161 { + background-color: #d7005f; +} + +.terminal .xterm-color-162 { + color: #d70087; +} + +.terminal .xterm-bg-color-162 { + background-color: #d70087; +} + +.terminal .xterm-color-163 { + color: #d700af; +} + +.terminal .xterm-bg-color-163 { + background-color: #d700af; +} + +.terminal .xterm-color-164 { + color: #d700d7; +} + +.terminal .xterm-bg-color-164 { + background-color: #d700d7; +} + +.terminal .xterm-color-165 { + color: #d700ff; +} + +.terminal .xterm-bg-color-165 { + background-color: #d700ff; +} + +.terminal .xterm-color-166 { + color: #d75f00; +} + +.terminal .xterm-bg-color-166 { + background-color: #d75f00; +} + +.terminal .xterm-color-167 { + color: #d75f5f; +} + +.terminal .xterm-bg-color-167 { + background-color: #d75f5f; +} + +.terminal .xterm-color-168 { + color: #d75f87; +} + +.terminal .xterm-bg-color-168 { + background-color: #d75f87; +} + +.terminal .xterm-color-169 { + color: #d75faf; +} + +.terminal .xterm-bg-color-169 { + background-color: #d75faf; +} + +.terminal .xterm-color-170 { + color: #d75fd7; +} + +.terminal .xterm-bg-color-170 { + background-color: #d75fd7; +} + +.terminal .xterm-color-171 { + color: #d75fff; +} + +.terminal .xterm-bg-color-171 { + background-color: #d75fff; +} + +.terminal .xterm-color-172 { + color: #d78700; +} + +.terminal .xterm-bg-color-172 { + background-color: #d78700; +} + +.terminal .xterm-color-173 { + color: #d7875f; +} + +.terminal .xterm-bg-color-173 { + background-color: #d7875f; +} + +.terminal .xterm-color-174 { + color: #d78787; +} + +.terminal .xterm-bg-color-174 { + background-color: #d78787; +} + +.terminal .xterm-color-175 { + color: #d787af; +} + +.terminal .xterm-bg-color-175 { + background-color: #d787af; +} + +.terminal .xterm-color-176 { + color: #d787d7; +} + +.terminal .xterm-bg-color-176 { + background-color: #d787d7; +} + +.terminal .xterm-color-177 { + color: #d787ff; +} + +.terminal .xterm-bg-color-177 { + background-color: #d787ff; +} + +.terminal .xterm-color-178 { + color: #d7af00; +} + +.terminal .xterm-bg-color-178 { + background-color: #d7af00; +} + +.terminal .xterm-color-179 { + color: #d7af5f; +} + +.terminal .xterm-bg-color-179 { + background-color: #d7af5f; +} + +.terminal .xterm-color-180 { + color: #d7af87; +} + +.terminal .xterm-bg-color-180 { + background-color: #d7af87; +} + +.terminal .xterm-color-181 { + color: #d7afaf; +} + +.terminal .xterm-bg-color-181 { + background-color: #d7afaf; +} + +.terminal .xterm-color-182 { + color: #d7afd7; +} + +.terminal .xterm-bg-color-182 { + background-color: #d7afd7; +} + +.terminal .xterm-color-183 { + color: #d7afff; +} + +.terminal .xterm-bg-color-183 { + background-color: #d7afff; +} + +.terminal .xterm-color-184 { + color: #d7d700; +} + +.terminal .xterm-bg-color-184 { + background-color: #d7d700; +} + +.terminal .xterm-color-185 { + color: #d7d75f; +} + +.terminal .xterm-bg-color-185 { + background-color: #d7d75f; +} + +.terminal .xterm-color-186 { + color: #d7d787; +} + +.terminal .xterm-bg-color-186 { + background-color: #d7d787; +} + +.terminal .xterm-color-187 { + color: #d7d7af; +} + +.terminal .xterm-bg-color-187 { + background-color: #d7d7af; +} + +.terminal .xterm-color-188 { + color: #d7d7d7; +} + +.terminal .xterm-bg-color-188 { + background-color: #d7d7d7; +} + +.terminal .xterm-color-189 { + color: #d7d7ff; +} + +.terminal .xterm-bg-color-189 { + background-color: #d7d7ff; +} + +.terminal .xterm-color-190 { + color: #d7ff00; +} + +.terminal .xterm-bg-color-190 { + background-color: #d7ff00; +} + +.terminal .xterm-color-191 { + color: #d7ff5f; +} + +.terminal .xterm-bg-color-191 { + background-color: #d7ff5f; +} + +.terminal .xterm-color-192 { + color: #d7ff87; +} + +.terminal .xterm-bg-color-192 { + background-color: #d7ff87; +} + +.terminal .xterm-color-193 { + color: #d7ffaf; +} + +.terminal .xterm-bg-color-193 { + background-color: #d7ffaf; +} + +.terminal .xterm-color-194 { + color: #d7ffd7; +} + +.terminal .xterm-bg-color-194 { + background-color: #d7ffd7; +} + +.terminal .xterm-color-195 { + color: #d7ffff; +} + +.terminal .xterm-bg-color-195 { + background-color: #d7ffff; +} + +.terminal .xterm-color-196 { + color: #ff0000; +} + +.terminal .xterm-bg-color-196 { + background-color: #ff0000; +} + +.terminal .xterm-color-197 { + color: #ff005f; +} + +.terminal .xterm-bg-color-197 { + background-color: #ff005f; +} + +.terminal .xterm-color-198 { + color: #ff0087; +} + +.terminal .xterm-bg-color-198 { + background-color: #ff0087; +} + +.terminal .xterm-color-199 { + color: #ff00af; +} + +.terminal .xterm-bg-color-199 { + background-color: #ff00af; +} + +.terminal .xterm-color-200 { + color: #ff00d7; +} + +.terminal .xterm-bg-color-200 { + background-color: #ff00d7; +} + +.terminal .xterm-color-201 { + color: #ff00ff; +} + +.terminal .xterm-bg-color-201 { + background-color: #ff00ff; +} + +.terminal .xterm-color-202 { + color: #ff5f00; +} + +.terminal .xterm-bg-color-202 { + background-color: #ff5f00; +} + +.terminal .xterm-color-203 { + color: #ff5f5f; +} + +.terminal .xterm-bg-color-203 { + background-color: #ff5f5f; +} + +.terminal .xterm-color-204 { + color: #ff5f87; +} + +.terminal .xterm-bg-color-204 { + background-color: #ff5f87; +} + +.terminal .xterm-color-205 { + color: #ff5faf; +} + +.terminal .xterm-bg-color-205 { + background-color: #ff5faf; +} + +.terminal .xterm-color-206 { + color: #ff5fd7; +} + +.terminal .xterm-bg-color-206 { + background-color: #ff5fd7; +} + +.terminal .xterm-color-207 { + color: #ff5fff; +} + +.terminal .xterm-bg-color-207 { + background-color: #ff5fff; +} + +.terminal .xterm-color-208 { + color: #ff8700; +} + +.terminal .xterm-bg-color-208 { + background-color: #ff8700; +} + +.terminal .xterm-color-209 { + color: #ff875f; +} + +.terminal .xterm-bg-color-209 { + background-color: #ff875f; +} + +.terminal .xterm-color-210 { + color: #ff8787; +} + +.terminal .xterm-bg-color-210 { + background-color: #ff8787; +} + +.terminal .xterm-color-211 { + color: #ff87af; +} + +.terminal .xterm-bg-color-211 { + background-color: #ff87af; +} + +.terminal .xterm-color-212 { + color: #ff87d7; +} + +.terminal .xterm-bg-color-212 { + background-color: #ff87d7; +} + +.terminal .xterm-color-213 { + color: #ff87ff; +} + +.terminal .xterm-bg-color-213 { + background-color: #ff87ff; +} + +.terminal .xterm-color-214 { + color: #ffaf00; +} + +.terminal .xterm-bg-color-214 { + background-color: #ffaf00; +} + +.terminal .xterm-color-215 { + color: #ffaf5f; +} + +.terminal .xterm-bg-color-215 { + background-color: #ffaf5f; +} + +.terminal .xterm-color-216 { + color: #ffaf87; +} + +.terminal .xterm-bg-color-216 { + background-color: #ffaf87; +} + +.terminal .xterm-color-217 { + color: #ffafaf; +} + +.terminal .xterm-bg-color-217 { + background-color: #ffafaf; +} + +.terminal .xterm-color-218 { + color: #ffafd7; +} + +.terminal .xterm-bg-color-218 { + background-color: #ffafd7; +} + +.terminal .xterm-color-219 { + color: #ffafff; +} + +.terminal .xterm-bg-color-219 { + background-color: #ffafff; +} + +.terminal .xterm-color-220 { + color: #ffd700; +} + +.terminal .xterm-bg-color-220 { + background-color: #ffd700; +} + +.terminal .xterm-color-221 { + color: #ffd75f; +} + +.terminal .xterm-bg-color-221 { + background-color: #ffd75f; +} + +.terminal .xterm-color-222 { + color: #ffd787; +} + +.terminal .xterm-bg-color-222 { + background-color: #ffd787; +} + +.terminal .xterm-color-223 { + color: #ffd7af; +} + +.terminal .xterm-bg-color-223 { + background-color: #ffd7af; +} + +.terminal .xterm-color-224 { + color: #ffd7d7; +} + +.terminal .xterm-bg-color-224 { + background-color: #ffd7d7; +} + +.terminal .xterm-color-225 { + color: #ffd7ff; +} + +.terminal .xterm-bg-color-225 { + background-color: #ffd7ff; +} + +.terminal .xterm-color-226 { + color: #ffff00; +} + +.terminal .xterm-bg-color-226 { + background-color: #ffff00; +} + +.terminal .xterm-color-227 { + color: #ffff5f; +} + +.terminal .xterm-bg-color-227 { + background-color: #ffff5f; +} + +.terminal .xterm-color-228 { + color: #ffff87; +} + +.terminal .xterm-bg-color-228 { + background-color: #ffff87; +} + +.terminal .xterm-color-229 { + color: #ffffaf; +} + +.terminal .xterm-bg-color-229 { + background-color: #ffffaf; +} + +.terminal .xterm-color-230 { + color: #ffffd7; +} + +.terminal .xterm-bg-color-230 { + background-color: #ffffd7; +} + +.terminal .xterm-color-231 { + color: #ffffff; +} + +.terminal .xterm-bg-color-231 { + background-color: #ffffff; +} + +.terminal .xterm-color-232 { + color: #080808; +} + +.terminal .xterm-bg-color-232 { + background-color: #080808; +} + +.terminal .xterm-color-233 { + color: #121212; +} + +.terminal .xterm-bg-color-233 { + background-color: #121212; +} + +.terminal .xterm-color-234 { + color: #1c1c1c; +} + +.terminal .xterm-bg-color-234 { + background-color: #1c1c1c; +} + +.terminal .xterm-color-235 { + color: #262626; +} + +.terminal .xterm-bg-color-235 { + background-color: #262626; +} + +.terminal .xterm-color-236 { + color: #303030; +} + +.terminal .xterm-bg-color-236 { + background-color: #303030; +} + +.terminal .xterm-color-237 { + color: #3a3a3a; +} + +.terminal .xterm-bg-color-237 { + background-color: #3a3a3a; +} + +.terminal .xterm-color-238 { + color: #444444; +} + +.terminal .xterm-bg-color-238 { + background-color: #444444; +} + +.terminal .xterm-color-239 { + color: #4e4e4e; +} + +.terminal .xterm-bg-color-239 { + background-color: #4e4e4e; +} + +.terminal .xterm-color-240 { + color: #585858; +} + +.terminal .xterm-bg-color-240 { + background-color: #585858; +} + +.terminal .xterm-color-241 { + color: #626262; +} + +.terminal .xterm-bg-color-241 { + background-color: #626262; +} + +.terminal .xterm-color-242 { + color: #6c6c6c; +} + +.terminal .xterm-bg-color-242 { + background-color: #6c6c6c; +} + +.terminal .xterm-color-243 { + color: #767676; +} + +.terminal .xterm-bg-color-243 { + background-color: #767676; +} + +.terminal .xterm-color-244 { + color: #808080; +} + +.terminal .xterm-bg-color-244 { + background-color: #808080; +} + +.terminal .xterm-color-245 { + color: #8a8a8a; +} + +.terminal .xterm-bg-color-245 { + background-color: #8a8a8a; +} + +.terminal .xterm-color-246 { + color: #949494; +} + +.terminal .xterm-bg-color-246 { + background-color: #949494; +} + +.terminal .xterm-color-247 { + color: #9e9e9e; +} + +.terminal .xterm-bg-color-247 { + background-color: #9e9e9e; +} + +.terminal .xterm-color-248 { + color: #a8a8a8; +} + +.terminal .xterm-bg-color-248 { + background-color: #a8a8a8; +} + +.terminal .xterm-color-249 { + color: #b2b2b2; +} + +.terminal .xterm-bg-color-249 { + background-color: #b2b2b2; +} + +.terminal .xterm-color-250 { + color: #bcbcbc; +} + +.terminal .xterm-bg-color-250 { + background-color: #bcbcbc; +} + +.terminal .xterm-color-251 { + color: #c6c6c6; +} + +.terminal .xterm-bg-color-251 { + background-color: #c6c6c6; +} + +.terminal .xterm-color-252 { + color: #d0d0d0; +} + +.terminal .xterm-bg-color-252 { + background-color: #d0d0d0; +} + +.terminal .xterm-color-253 { + color: #dadada; +} + +.terminal .xterm-bg-color-253 { + background-color: #dadada; +} + +.terminal .xterm-color-254 { + color: #e4e4e4; +} + +.terminal .xterm-bg-color-254 { + background-color: #e4e4e4; +} + +.terminal .xterm-color-255 { + color: #eeeeee; +} + +.terminal .xterm-bg-color-255 { + background-color: #eeeeee; +}