1. Steve Losh
  2. sjl.bitbucket.org

Commits

Steve Losh  committed cb51d5f

clojure-lanterna: Update site.

  • Participants
  • Parent commits b200fd8
  • Branches default

Comments (0)

Files changed (6)

File clojure-lanterna/changelog/index.html

View file
 <!DOCTYPE html>
-<html><head><meta charset="utf-8"/><title>Changelog / clojure-lanterna</title><link rel="stylesheet" href="../_dmedia/bootstrap.css"/><link rel="stylesheet" href="../_dmedia/tango.css"/><link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/><script src="../_dmedia/less.js" type="text/javascript">
-        </script></head><body class="content">
+<html>
+    <head>
+        <meta charset="utf-8"/>
+        <title>Changelog / clojure-lanterna</title>
+        <link rel="stylesheet" href="../_dmedia/bootstrap.css"/>
+        <link rel="stylesheet" href="../_dmedia/tango.css"/>
+        <link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/>
+        <script src="../_dmedia/less.js" type="text/javascript">
+        </script>
+    </head>
+    <body class="content">
         <div class="wrap">
-            <header><h1><a href="..">clojure-lanterna</a></h1></header><div class="markdown">
+            <header><h1><a href="..">clojure-lanterna</a></h1></header>
+                <div class="markdown">
 <h1 id="changelog"><a href="">Changelog</a></h1><p>Here's the list of changes in each released version.</p>
 <h2 id="v094">v0.9.4</h2>
-<ul><li>Relies on Lanterna <code>2.1.5</code> to get some bugfixes.</li>
-</ul><h2 id="v093">v0.9.3</h2>
-<ul><li><code>get-key-blocking</code> now accepts optional arguments for timeout and interval.</li>
+<ul>
+<li>Relies on Lanterna <code>2.1.5</code> to get some bugfixes.</li>
+</ul>
+<h2 id="v093">v0.9.3</h2>
+<ul>
+<li><code>get-key-blocking</code> now accepts optional arguments for timeout and interval.</li>
 <li>Added <code>remove-resize-listener</code> functions for Screens and Terminals.</li>
-</ul><h2 id="v092">v0.9.2</h2>
-<ul><li>Added an experimental <code>put-sheet</code> function for screens.  Don't rely on this
+</ul>
+<h2 id="v092">v0.9.2</h2>
+<ul>
+<li>Added an experimental <code>put-sheet</code> function for screens.  Don't rely on this
   yet -- it's subject to change.</li>
 <li>Relies on a stable release of Lanterna once more.</li>
-</ul><h2 id="v091">v0.9.1</h2>
-<ul><li>Added the <code>clear</code> functions for terminals and screens.</li>
+</ul>
+<h2 id="v091">v0.9.1</h2>
+<ul>
+<li>Added the <code>clear</code> functions for terminals and screens.</li>
 <li>Added the <code>get-size</code> functions for terminals and screens.</li>
 <li>Relies on a snapshot release of Lanterna so may not be stable.</li>
-</ul><h2 id="v090">v0.9.0</h2>
+</ul>
+<h2 id="v090">v0.9.0</h2>
 <p>Initial prerelease.  The architecture won't change but the API might.  Until
 version <code>1.0.0</code> I reserve the right to break things indiscriminately.</p>
                 </div>
     var s = document.getElementsByTagName('script')[0];
     s.parentNode.insertBefore(t, s);
   })();
-</script></footer></div>
-    </body></html>
+</script></footer>
+        </div>
+    </body>
+</html>

File clojure-lanterna/index.html

View file
 
 <span class="p">(</span><span class="k">def </span><span class="nv">scr</span> <span class="p">(</span><span class="nf">s/get-screen</span><span class="p">))</span>
 
-<span class="p">(</span><span class="nf">s/stop</span> <span class="nv">scr</span><span class="p">)</span>
+<span class="p">(</span><span class="nf">s/start</span> <span class="nv">scr</span><span class="p">)</span>
 
 <span class="p">(</span><span class="nf">s/put-string</span> <span class="nv">scr</span> <span class="mi">10</span> <span class="mi">10</span> <span class="s">&quot;Hello, world!&quot;</span><span class="p">)</span>
 <span class="p">(</span><span class="nf">s/put-string</span> <span class="nv">scr</span> <span class="mi">10</span> <span class="mi">11</span> <span class="s">&quot;Press any key to exit!&quot;</span><span class="p">)</span>
+<span class="p">(</span><span class="nf">s/redraw</span> <span class="nv">scr</span><span class="p">)</span>
 <span class="p">(</span><span class="nf">s/get-key-blocking</span> <span class="nv">scr</span><span class="p">)</span>
 
 <span class="p">(</span><span class="nf">s/stop</span> <span class="nv">scr</span><span class="p">)</span>

File clojure-lanterna/installation/index.html

View file
 <!DOCTYPE html>
-<html><head><meta charset="utf-8"/><title>Installation / clojure-lanterna</title><link rel="stylesheet" href="../_dmedia/bootstrap.css"/><link rel="stylesheet" href="../_dmedia/tango.css"/><link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/><script src="../_dmedia/less.js" type="text/javascript">
-        </script></head><body class="content">
+<html>
+    <head>
+        <meta charset="utf-8"/>
+        <title>Installation / clojure-lanterna</title>
+        <link rel="stylesheet" href="../_dmedia/bootstrap.css"/>
+        <link rel="stylesheet" href="../_dmedia/tango.css"/>
+        <link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/>
+        <script src="../_dmedia/less.js" type="text/javascript">
+        </script>
+    </head>
+    <body class="content">
         <div class="wrap">
-            <header><h1><a href="..">clojure-lanterna</a></h1></header><div class="markdown">
+            <header><h1><a href="..">clojure-lanterna</a></h1></header>
+                <div class="markdown">
 <h1 id="installation"><a href="">Installation</a></h1><p>clojure-lanterna requires Leiningen 2 and Clojure 1.4.  It might work with other
 versions, but I make no guarantees.</p>
 <p>It has no other dependencies (aside from Lanterna itself, of course).</p>
     var s = document.getElementsByTagName('script')[0];
     s.parentNode.insertBefore(t, s);
   })();
-</script></footer></div>
-    </body></html>
+</script></footer>
+        </div>
+    </body>
+</html>

File clojure-lanterna/reference/index.html

View file
 <!DOCTYPE html>
-<html><head><meta charset="utf-8"/><title>Reference / clojure-lanterna</title><link rel="stylesheet" href="../_dmedia/bootstrap.css"/><link rel="stylesheet" href="../_dmedia/tango.css"/><link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/><script src="../_dmedia/less.js" type="text/javascript">
-        </script></head><body class="content">
+<html>
+    <head>
+        <meta charset="utf-8"/>
+        <title>Reference / clojure-lanterna</title>
+        <link rel="stylesheet" href="../_dmedia/bootstrap.css"/>
+        <link rel="stylesheet" href="../_dmedia/tango.css"/>
+        <link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/>
+        <script src="../_dmedia/less.js" type="text/javascript">
+        </script>
+    </head>
+    <body class="content">
         <div class="wrap">
-            <header><h1><a href="..">clojure-lanterna</a></h1></header><div class="markdown">
+            <header><h1><a href="..">clojure-lanterna</a></h1></header>
+                <div class="markdown">
 <h1 id="reference"><a href="">Reference</a></h1><p>Here's the deep dive.</p>
 <p>If you haven't read the <a href="../terminals/">terminal</a> and <a href="../screens/">screen</a>
 documentation you should read those to wrap your brain around the structure of
 things first.</p>
 <div class="toc">
-<ul><li><a href="#constants">Constants</a><ul><li><a href="#colors">Colors</a></li>
+<ul>
+<li><a href="#constants">Constants</a><ul>
+<li><a href="#colors">Colors</a></li>
 <li><a href="#styles">Styles</a></li>
 <li><a href="#key-codes">Key Codes</a></li>
 <li><a href="#charsets">Charsets</a></li>
 <li><a href="#consoles">Consoles</a></li>
 <li><a href="#palettes">Palettes</a></li>
 <li><a href="#font-names">Font Names</a></li>
-</ul></li>
-<li><a href="#terminals">Terminals</a><ul><li><a href="#lanternaterminalget-terminal">lanterna.terminal/get-terminal</a></li>
+</ul>
+</li>
+<li><a href="#terminals">Terminals</a><ul>
+<li><a href="#lanternaterminalget-terminal">lanterna.terminal/get-terminal</a></li>
 <li><a href="#lanternaterminalstart">lanterna.terminal/start</a></li>
 <li><a href="#lanternaterminalstop">lanterna.terminal/stop</a></li>
 <li><a href="#lanternaterminalin-terminal">lanterna.terminal/in-terminal</a></li>
 <li><a href="#lanternaterminaladd-resize-listener">lanterna.terminal/add-resize-listener</a></li>
 <li><a href="#lanternaterminalremove-resize-listener">lanterna.terminal/remove-resize-listener</a></li>
 <li><a href="#lanternaterminalget-available-fonts">lanterna.terminal/get-available-fonts</a></li>
-</ul></li>
-<li><a href="#screens">Screens</a><ul><li><a href="#lanternascreenget-screen">lanterna.screen/get-screen</a></li>
+</ul>
+</li>
+<li><a href="#screens">Screens</a><ul>
+<li><a href="#lanternascreenget-screen">lanterna.screen/get-screen</a></li>
 <li><a href="#lanternascreenstart">lanterna.screen/start</a></li>
 <li><a href="#lanternascreenstop">lanterna.screen/stop</a></li>
 <li><a href="#lanternascreenin-screen">lanterna.screen/in-screen</a></li>
 <li><a href="#lanternascreenget-key-blocking">lanterna.screen/get-key-blocking</a></li>
 <li><a href="#lanternascreenadd-resize-listener">lanterna.screen/add-resize-listener</a></li>
 <li><a href="#lanternascreenremove-resize-listener">lanterna.screen/remove-resize-listener</a></li>
-</ul></li>
+</ul>
+</li>
 </ul></div>
 <h2 id="constants">Constants</h2>
 <p>clojure-lanterna uses Clojure keywords where you need to supply constants.  It
 <h3 id="colors">Colors</h3>
 <p>Lanterna (and thus clojure-lanterna) supports the 8 common terminal colors, as
 well as a "default" color:</p>
-<ul><li><code>:black</code></li>
+<ul>
+<li><code>:black</code></li>
 <li><code>:white</code></li>
 <li><code>:red</code></li>
 <li><code>:green</code></li>
 <li><code>:magenta</code></li>
 <li><code>:yellow</code></li>
 <li><code>:default</code></li>
-</ul><h3 id="styles">Styles</h3>
+</ul>
+<h3 id="styles">Styles</h3>
 <p>Lanterna (and thus clojure-lanterna) supports 4 common styles:</p>
-<ul><li><code>:bold</code></li>
+<ul>
+<li><code>:bold</code></li>
 <li><code>:reverse</code></li>
 <li><code>:underline</code></li>
 <li><code>:blinking</code></li>
-</ul><h3 id="key-codes">Key Codes</h3>
+</ul>
+<h3 id="key-codes">Key Codes</h3>
 <p>When you get a key of user input from clojure-lanterna it will be one of two
 things: a Character like <code>\a</code> or <code>\$</code> representing what the user typed, or
 a keyword for special keys like Delete or Page Up.</p>
 <p>Note that the Tab key is returned as <code>:tab</code> and not <code>\tab</code>.</p>
 <p>Here are the keywords for special keys that may be returned:</p>
-<ul><li><code>:escape</code></li>
+<ul>
+<li><code>:escape</code></li>
 <li><code>:backspace</code></li>
 <li><code>:left</code></li>
 <li><code>:right</code></li>
 <li><code>:tab</code></li>
 <li><code>:reverse-tab</code></li>
 <li><code>:enter</code></li>
-</ul><p>There are also two other special keywords:</p>
-<ul><li><code>:unknown</code> - The user typed something Lanterna couldn't figure out.</li>
+</ul>
+<p>There are also two other special keywords:</p>
+<ul>
+<li><code>:unknown</code> - The user typed something Lanterna couldn't figure out.</li>
 <li><code>:cursor-location</code> - I'm not sure about this.  I think it's an internal
   Lanterna thing.</li>
-</ul><h3 id="charsets">Charsets</h3>
+</ul>
+<h3 id="charsets">Charsets</h3>
 <p>Currently there's only one charset clojure-lanterna constant defines.  Open an
 issue as a feature request if you want others -- I'll be happy to add the
 constants.</p>
-<ul><li><code>:utf-8</code></li>
-</ul><h3 id="consoles">Consoles</h3>
+<ul>
+<li><code>:utf-8</code></li>
+</ul>
+<h3 id="consoles">Consoles</h3>
 <p>When creating a Terminal or Screen, you can optionally specify a specific kind
 of Terminal or Screen to create.</p>
 <p>If it's not supported (e.g.: trying to create a Swing Terminal on a system
 without X) then who knows what will happen.  Make sure you know what you're
 doing if you use anything other than <code>:auto</code>.</p>
-<ul><li><code>:auto</code> - Let Lanterna try to guess the appropriate kind of console to use.
+<ul>
+<li><code>:auto</code> - Let Lanterna try to guess the appropriate kind of console to use.
   If there's a windowing environment present the Swing console will be used,
   otherwise an appropriate text console will be used.</li>
 <li><code>:swing</code> - Force a Swing-based console.</li>
   appropriate kind of console (UNIX or Cygwin) by the OS.</li>
 <li><code>:unix</code> - Force a UNIX text-based console.</li>
 <li><code>:cygwin</code> - Force a Cygwin text-based console.</li>
-</ul><h3 id="palettes">Palettes</h3>
+</ul>
+<h3 id="palettes">Palettes</h3>
 <p>When creating a Swing Terminal or Screen, you can choose the color palette to
 use.  Text-based Terminals and Screens will use the user's color scheme, of
 course.</p>
 <p>The following palettes are supported:</p>
-<ul><li><code>:gnome</code> - Gnome Terminal's colors.</li>
+<ul>
+<li><code>:gnome</code> - Gnome Terminal's colors.</li>
 <li><code>:windows-xp</code> - The colors of the Windows XP command prompt.</li>
 <li><code>:xterm</code> - Xterm's colors.</li>
 <li><code>:putty</code> - Putty's colors.</li>
 <li><code>:mac-os-x</code> - The colors of Mac OS X's Terminal.app.</li>
-</ul><h3 id="font-names">Font Names</h3>
+</ul>
+<h3 id="font-names">Font Names</h3>
 <p>When giving a font name, it should be a string naming a font family on your
 system.  For example: <code>"Consolas"</code>, <code>"Courier New"</code>, or <code>"Monaco"</code>.</p>
 <p>To see a the fonts available on your system you can call
 <p><code>kind</code> is a <a href="#consoles">console constant</a> describing the type of terminal you
 want.  If unspecified it defaults to <code>:auto</code>.</p>
 <p>The <code>options</code> map can contain any of the following mappings:</p>
-<ul><li><code>:cols</code> - Width of the desired terminal in characters (default <code>80</code>).</li>
+<ul>
+<li><code>:cols</code> - Width of the desired terminal in characters (default <code>80</code>).</li>
 <li><code>:rows</code> - Height of the desired terminal in characters (default <code>24</code>).</li>
 <li><code>:charset</code> - Charset of the desired terminal.  This should be a <a href="#charsets">charset
   constant</a> (default <code>:utf-8</code>).</li>
   names</a>.  If a sequence is given, the first font that exists on
   the system will be used (much like a CSS <code>font-family</code> declaration).
   Will fall back to a monospaced default font if none of the given ones exist.</li>
-</ul><p>The <code>:rows</code>, <code>:cols</code>, <code>:font</code>, <code>:font-size</code>, <code>:palette</code> and <code>:charset</code> options
+</ul>
+<p>The <code>:rows</code>, <code>:cols</code>, <code>:font</code>, <code>:font-size</code>, <code>:palette</code> and <code>:charset</code> options
 are really just a suggestion!</p>
 <p>The text-based terminals will ignore rows, columns, fonts and palettes.  They
 will be determined by the user's terminal window.</p>
 <p>If you want to return immediately instead of blocking when no input is buffered,
 use <a href="#lanternaterminalget-key"><code>get-key</code></a> instead.</p>
 <p>The <code>options</code> map can contain any of the following mappings:</p>
-<ul><li><code>:interval</code> - The interval between checks, in milliseconds (default <code>50</code>).</li>
+<ul>
+<li><code>:interval</code> - The interval between checks, in milliseconds (default <code>50</code>).</li>
 <li><code>:timeout</code> - The maximum amount of time blocking will occur before returning
   <code>nil</code> (default infinity).</li>
-</ul><h3 id="lanternaterminaladd-resize-listener">lanterna.terminal/add-resize-listener</h3>
+</ul>
+<h3 id="lanternaterminaladd-resize-listener">lanterna.terminal/add-resize-listener</h3>
 <div class="codehilite"><pre><span class="p">(</span><span class="nf">add-resize-listener</span> <span class="nv">terminal</span> <span class="nv">listener-fn</span><span class="p">)</span>
 </pre></div>
 
 <p><code>kind</code> is a <a href="#consoles">console constant</a> describing the type of screen you
 want.  If unspecified it defaults to <code>:auto</code>.</p>
 <p>The <code>options</code> map can contain any of the following mappings:</p>
-<ul><li><code>:cols</code> - Width of the desired screen in characters (default <code>80</code>).</li>
+<ul>
+<li><code>:cols</code> - Width of the desired screen in characters (default <code>80</code>).</li>
 <li><code>:rows</code> - Height of the desired screen in characters (default <code>24</code>).</li>
 <li><code>:charset</code> - Charset of the desired screen.  This should be a <a href="#charsets">charset
   constant</a> (default <code>:utf-8</code>).</li>
   names</a>.  If a sequence is given, the first font that exists on
   the system will be used (much like a CSS <code>font-family</code> declaration).
   Will fall back to a monospaced default font if none of the given ones exist.</li>
-</ul><p>The <code>:rows</code>, <code>:cols</code>, and <code>:charset</code> options are really just a suggestion!</p>
+</ul>
+<p>The <code>:rows</code>, <code>:cols</code>, and <code>:charset</code> options are really just a suggestion!</p>
 <p>The text-based screens will ignore rows and columns and will be the size of
 the user's window.</p>
 <p>The Swing screen will start out at this size but can be resized later by the
 <p><code>x</code> and <code>y</code> are the column and row to start the string.</p>
 <p><code>s</code> is the actual string to draw.</p>
 <p>The <code>options</code> map can contain any of the following mappings:</p>
-<ul><li><code>:fg</code> - Foreground color of the text.  Must be a <a href="#colors">color constant</a>
+<ul>
+<li><code>:fg</code> - Foreground color of the text.  Must be a <a href="#colors">color constant</a>
   (default <code>:default</code>).</li>
 <li><code>:bg</code> - Background color of the text.  Must be a <a href="#colors">color constant</a>
   (default <code>:default</code>).</li>
 <li><code>:styles</code> - Styles to apply to the text.  Must be a set containing zero or
   more <a href="#styles">style constants</a> (default <code>#{}</code>).  <strong>CURRENTLY BROKEN, SORRY</strong></li>
-</ul><h3 id="lanternascreenclear">lanterna.screen/clear</h3>
+</ul>
+<h3 id="lanternascreenclear">lanterna.screen/clear</h3>
 <div class="codehilite"><pre><span class="p">(</span><span class="nf">clear</span> <span class="nv">screen</span><span class="p">)</span>
 </pre></div>
 
 <p>If you want to return immediately instead of blocking when no input is buffered,
 use <a href="#lanternascreenget-key"><code>get-key</code></a> instead.</p>
 <p>The <code>options</code> map can contain any of the following mappings:</p>
-<ul><li><code>:interval</code> - The interval between checks, in milliseconds (default <code>50</code>).</li>
+<ul>
+<li><code>:interval</code> - The interval between checks, in milliseconds (default <code>50</code>).</li>
 <li><code>:timeout</code> - The maximum amount of time blocking will occur before returning
   <code>nil</code> (default infinity).</li>
-</ul><h3 id="lanternascreenadd-resize-listener">lanterna.screen/add-resize-listener</h3>
+</ul>
+<h3 id="lanternascreenadd-resize-listener">lanterna.screen/add-resize-listener</h3>
 <div class="codehilite"><pre><span class="p">(</span><span class="nf">add-resize-listener</span> <span class="nv">screen</span> <span class="nv">listener-fn</span><span class="p">)</span>
 </pre></div>
 
     var s = document.getElementsByTagName('script')[0];
     s.parentNode.insertBefore(t, s);
   })();
-</script></footer></div>
-    </body></html>
+</script></footer>
+        </div>
+    </body>
+</html>

File clojure-lanterna/screens/index.html

View file
 <!DOCTYPE html>
-<html><head><meta charset="utf-8"/><title>Screens / clojure-lanterna</title><link rel="stylesheet" href="../_dmedia/bootstrap.css"/><link rel="stylesheet" href="../_dmedia/tango.css"/><link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/><script src="../_dmedia/less.js" type="text/javascript">
-        </script></head><body class="content">
+<html>
+    <head>
+        <meta charset="utf-8"/>
+        <title>Screens / clojure-lanterna</title>
+        <link rel="stylesheet" href="../_dmedia/bootstrap.css"/>
+        <link rel="stylesheet" href="../_dmedia/tango.css"/>
+        <link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/>
+        <script src="../_dmedia/less.js" type="text/javascript">
+        </script>
+    </head>
+    <body class="content">
         <div class="wrap">
-            <header><h1><a href="..">clojure-lanterna</a></h1></header><div class="markdown">
+            <header><h1><a href="..">clojure-lanterna</a></h1></header>
+                <div class="markdown">
 <h1 id="screens"><a href="">Screens</a></h1><p>The next layer of Lanterna is the screen layer.  Think of screens as "<a href="https://en.wikipedia.org/wiki/Multiple_buffering#Double_buffering_in_computer_graphics">double
 buffering</a> for your console".</p>
 <p>Screens act as a buffer.  You "draw" to the screen like you would normally draw
 before you read this.</strong>  This document moves very quickly because it assumes
 you've read the previous one.</p>
 <div class="toc">
-<ul><li><a href="#getting-a-screen">Getting a Screen</a></li>
-<li><a href="#writing-text">Writing Text</a><ul><li><a href="#colors">Colors</a></li>
+<ul>
+<li><a href="#getting-a-screen">Getting a Screen</a></li>
+<li><a href="#writing-text">Writing Text</a><ul>
+<li><a href="#colors">Colors</a></li>
 <li><a href="#styles">Styles</a></li>
-</ul></li>
+</ul>
+</li>
 <li><a href="#moving-the-cursor">Moving the Cursor</a></li>
 <li><a href="#input">Input</a></li>
 <li><a href="#sizing">Sizing</a></li>
     var s = document.getElementsByTagName('script')[0];
     s.parentNode.insertBefore(t, s);
   })();
-</script></footer></div>
-    </body></html>
+</script></footer>
+        </div>
+    </body>
+</html>

File clojure-lanterna/terminals/index.html

View file
 <!DOCTYPE html>
-<html><head><meta charset="utf-8"/><title>Terminals / clojure-lanterna</title><link rel="stylesheet" href="../_dmedia/bootstrap.css"/><link rel="stylesheet" href="../_dmedia/tango.css"/><link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/><script src="../_dmedia/less.js" type="text/javascript">
-        </script></head><body class="content">
+<html>
+    <head>
+        <meta charset="utf-8"/>
+        <title>Terminals / clojure-lanterna</title>
+        <link rel="stylesheet" href="../_dmedia/bootstrap.css"/>
+        <link rel="stylesheet" href="../_dmedia/tango.css"/>
+        <link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/>
+        <script src="../_dmedia/less.js" type="text/javascript">
+        </script>
+    </head>
+    <body class="content">
         <div class="wrap">
-            <header><h1><a href="..">clojure-lanterna</a></h1></header><div class="markdown">
+            <header><h1><a href="..">clojure-lanterna</a></h1></header>
+                <div class="markdown">
 <h1 id="terminals"><a href="">Terminals</a></h1><p>The lowest layer of Lanterna (and thus clojure-lanterna) is a Terminal.</p>
 <p>You can use terminals to do the stuff you normally think of using a curses
 library for.</p>
 <div class="toc">
-<ul><li><a href="#getting-a-terminal">Getting a Terminal</a></li>
+<ul>
+<li><a href="#getting-a-terminal">Getting a Terminal</a></li>
 <li><a href="#writing-text">Writing Text</a></li>
 <li><a href="#moving-the-cursor">Moving the Cursor</a></li>
 <li><a href="#colors">Colors</a></li>
     var s = document.getElementsByTagName('script')[0];
     s.parentNode.insertBefore(t, s);
   })();
-</script></footer></div>
-    </body></html>
+</script></footer>
+        </div>
+    </body>
+</html>